Draws a stroke from the last position to (`x`, `y`).
The `tb` and `drawing` arguments are passed on to `calculate_points`.
First calculates updates the position and calculates the new points, uploads them to the current `GL_ARRAY_BUFFER` and finally draws them via `glDrawArrays`.
Returns `true` if something was drawn, and `false` else (typically if the new point is equal to the previous point).
- `void redraw(Toolbox&)`
Issues a drawcall (`glDrawArrays`).
The argument is unused.
Correct usage first calls `draw`, then calls `redraw` without changing the state of `GL_ARRAY_BUFFER` in between (typically, framebuffer and texture bindings are changed in between).
- `void erase(const float x, const float y, Toolbox& tb)`
Deprecated, use `draw(x, y, tb, false)` instead.
- `int num_drawn()`
Returns the number of calls to `draw` and `erase` performed by this object.