Now the grid is always controlled by the topbar selector and not in the canvas panel. To have two places to define orientation was confuse.
The orientation by default (no lock) is always to view plane.
The code this was taken from assumes a 'size_t' result,
which isn't the case here.
In practice the bucket distribution wasn't bad,
even so this was a nop so best fix.
Grease pencil tool now uses an icon for each tool,
previously it mapped icons to tool icons which is now not needed
because for each tool a different brush can be selected which has it's
own icon.
Resetting the theme to default would set the shadow brightness to 1.0f,
which was used as emboss when we used dark text on brighter backgrounds.
Now that we use white labels, bright shadows just makes all text fuzzy.
When use the template in the topbar for only select an ID is very annoying to have the buttons after the name and only adds noise to the selector.
This option hide the number of users, new and delete buttons to get a cleaner topbar selector.
By default the parameter is disabled in order to keep all existing code/UI running.
This is also a first take on trying to handle errors for partial
succeeded operators. Handling it all manually for now.
For the remaining operators I will use changed_multi to get over with
multi-objects. But we can handle their errors in a separate pass.
Bright backdrop would get lost when having bright elements/background in the viewport.
This makes it use a darkened/lighten version of the theme space header color.
Since icons are colored using the 'text' value of the Theme Space, it's likely that any
theme is going to have a contrasting background color, but just in case darken/lighten it slightly.
Make edge decoration a bit thinner and try to reduce missing edge segment
due to triangle barycentrics.
This invert the "edge fix" strip offset direction, meanning there is now
the possibility that these triangles poke through nearby geometry depending
on the viewport near/far clips distances.
On some platform does not support line width > 1.0 and can even throw and
error. Better check an at least display something rather than no lines at
all.