This tool allows you do draw something in symmetry! Not one axis symmetry, but actually a symmetry consisting of arbitrary number of axes!
While this was the main purpose of this tool, it quickly became capable of doing more than just that. After I made initial paint mode, I wanted the user to be able to draw lines which will also be reflected, but at first I forgot to clear the previous line after user has moved the mouse... The result was something way more cool than a line would be. And that's when the "Persistent line" mode was introduced, which did this on purpose.
Then, I wanted to zoom the image, which in raster graphics results in seeing a pixelated image which was not what I wanted, so I've added a Vector mode, which allows zooming, but in fact, the fact that this mode requires a history of shapes enabled me to silently push the ability to change previous shapes' style, move them or delete them.
So, this is completely different from what you've seen, and the behaviour of this app may seem counterintuitive, but after all this makes the app be able to do way more without the need to add extra modes and code.
In vector mode, undo layer / redo layer only affect existence of the shapes, not the transformations on them. That's to provide some edit functionality without drastically extending the application, which could have possibly slowed down it's release. If you want to save your image before doing any transform press Push, then you will be able to restore your image by pressing Pop.
Tip: In vector mode, you can scale/translate via mouse wheel just like in Google Maps.
Working mode: RasterVector
Mode: PaintLinePersistent lineErase
Transform mode: Whole imageLast layer
Move mode: Move originLeave origin
Board size: x
Mouse modulo filter:
Write a script!
setTransform(scale, x, y, type) - Sets scale to scale, and translates the center of canvas to the point x, y in absolute coordinates. type can be move_origin or leave_origin, or left blank (which means move_origin) setLineWidth(width) setLineColor(color) - color must be a string representing color in full hex notation, like '#ffffff'. setLineAlpha(alpha) setAlphaMode(mode) - mode can be per_layer or per_reflection. setLineMode(mode) - mode can be sharp or round setMode(mode) - mode can be paint, line or persistent_line setRotation(angle) - angle is in degrees. setSymmetry(n)