Do note that we force showing the face dot if we are in face select mode
but faces and edges overlays are disable to not loose the selected faces
entirely.
The issue there was that number of layers did not include normals,
while element size counts bytes used by normals. This sounds very
fragile and dangerous to work further. Also, one value can easily
be delivered from another, so it is redundancy going on here.
Possible difference now is that multires subdivision will copy
normals to a higher levels. Shouldn't be big of a problem, since
leaving old normals and updating coordinates is not correct either.
The original code was already making a distinction between lines in the last
text box and all lines. However I removed that bit since when I tested the
values were the same (I tested with a single text box).
Bringing this distinction back.
Not addressed here: All boxes should respect the alignment. Which at the moment
they don't seem to fully do.
They way Blender handles vertical alignment is very buggy:
- Top-Base: It works perfectly.
- Bottom: It is actually bottom-baseline,
and it fails when line size is != 1.0 when working with text boxes.
- Top: Poorly implemented, it should use font's ascent
(recommended distance from baseline),
so it has room for accents,
but it's not one line distance far from the origin (as it is now).
- Center: Poorly implemented.
This is tricky since there is no silver bullet.
To clear this situation I created a new option (Bottom-Baseline),
and addressed the issues above.
I'm getting the ascent and descent from freetype2,
and use this for padding above/below the text.
Also for vertically centering the text.
Changes from reviewer (Dalai Felinto):
* pep8.
* Skip meshes that come from libraries.
* `Copy Mirrored UV coords > Copy Mirrored UV Coords`.
* Remove mesh(es) from warnings, report mesh or meshes based on number.
https://developer.blender.org/D3529
Changes from Reviewer (Dalai Felinto):
* MEM_SAFE_FREE > MEM_freeN.
* Skip loop if sync selection and no face selected.
https://developer.blender.org/D3415
Changes from reviewer (Dalai Felinto):
* MEM_SAFE_FREE > MEM_freeN.
* Skip loop if sync selection and no edge selected.
https://developer.blender.org/D3417
Annotations are not designed to edit, copy or paste, so the operators must be disabled.
By design annotations can only be added or deleted, but not edited.
Still pending clean the pie menus, but this will be done during UI cleanup.