Color Control on the canvas – coloring figures
The previous section focused on the selection of colors. Now, we are going to actually use the selected color. Assigning a color can be tricky if we are not careful. The main issue is that there isn't a color
property neither for the widgets nor for the graphics (Line
, Rectangle
) inside the canvas. If you recall, in Chapter 3, Widget Events – Binding Actions, Color
is a context instruction that we must add to the canvas.
Moreover, we have to be sure that we add the instruction before we draw the actual figure. Something like PushMatrix
and PopMatrix
could be the solution but they only apply for transform instructions (Translate
, Rotate
, and Scale
).
Another way to do it could be to add a
color
property to the DraggableWidget
and then have a temporary variable that keeps the previous color
. After we draw, we use the temporary variable to reset the previous color. That is quite a hassle for something that should be simple.
It is such a hassle that...