The diagram serves its purpose, but it looks a bit dull. Add some shine to it by defining three new color properties in the canvas object–color
, topColor
, bottomColor
–and setting their default values to black
, red
, and blue
, respectively.
Since points
and arg
should not really be public properties that anyone can change behind our backs, we'll correct it now. Declare a child element of the canvas of QtObject
and set its ID to priv
. Move declarations of points
and arg
inside that object. Move the onArgChanged
handler there, as well:
QtObject { id: priv property var points: [] property real arg: -Math.PI onArgChanged: { points.push(func(arg)) points = points.slice(-canvas.width) canvas.requestPaint() } }
Then, search through the whole code and prefix all occurrences of arg and points outside the newly declared object with priv
, so that each of their invocations lead to the priv
object.