Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
For file extension sorting, this priorities drills/outlines/KOs.
For X2 sorting, this changes the default priority to make
unknown-priority layers on top since if they contain anything that can
be plotted, it's probably drill data.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10598
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
Mainly CacheTriangulation() was creating triangles using partition mode.
But this mode is optimized for Pcbnew and Gerbview and different internal units.
Now CacheTriangulation() is used in no partition, much faster in GERBVIEW_PAINTER.
Fixes#11549https://gitlab.com/kicad/code/kicad/issues/11549
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
A aperture macro can have polygons with holes, and/or many polygons.
When combining polygons holes can be created. So ensure the resulting polygon
is fractured before drawing it.
Fixes#11218https://gitlab.com/kicad/code/kicad/issues/11218
Function `scaletoIU` was updated in a8c275ae5d but this missed other
conversion points that re-implemented the same routine. This unifies
the scaling for both ReadIJCoord and ReadXYCoord to use the same routine
as calls from am_primitive
Fixes https://gitlab.com/kicad/code/kicad/issues/10800
(cherry picked from commit d937abb5b8)
Previous fix for CVE munged return conditions for gerber files in some
cases. This restores the proper order where a nullptr will return 0,0
in the relative case and the current coordinate in others
Also fixes incorrect scale factor for inches/mils conversion to mm
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.