'drawn' is some obscure flag which is scattered all around
the codebase, it's mostly set to 'false' and only occasionally
to 'true'. It controls blocks of code which are described as
"erase old symbol".
Honestly, I tried to grasp it's meaning and purpose, and I failed.
I believe this flag is just a legacy no one can remember of, and
it's OK to remove it.
Removing 'MouseActions::drawn' completely doesn't seem to change
something, at least at first sight everything looks the same as
usual.
I cram everything in a single large commit for the sake of easier
reverting if it will be needed later.
Initial commit of new feature, only rectangular diagrams are supported.
Behaviour with other diagram types is undefined.
This change also provides a preliminary refactoring of the code that
transforms between the various coordinate systems.
* textdoc.cpp (print): Also fixed print scale for text
documents.
* schematic.cpp (print): Fixed print scale for schematics. It
assumed a screen resolution of 72dpi.
* mouseactions.cpp (rotateElements): Made rotation sticky while
placing elements from the component tab as well as when pasting
elements from the clipboard into the schematic.