This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
We were resolving the footprint variables first for text objects. This
resulted in always seeing the footprint layer resolution instead of the
text object if the text object was in a footprint. But this only
happened in the board, not the fp editor. This harmonizes the display
(cherry picked from commit b2bbee2375a6dfb7cdeacf0726e719c7ea69b194)
Also pushes GetCornersInSequence() into EDA_SHAPE
so it can be shared between SCH_TABLE and PCB_TABLE.
Also fixes bug in drawing column rulings over the
right external border.
Also fixes a bug with dialog control enabling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20350
Make the VIEW* parameter const. Since PCB_TEXT does a null-check,
it's not very clear if this can ever be null (and if it is,
why don't the other VIEW_ITEMs check?), so don't make them
all references too at this time.
Also dereference a few pointers a bit earlier to make non-null
promises sooner rather than later.
Saves a mishmash of local HIDE/SHOW defs along with various literals.
Also provide a function that computes the scale at which a given
IU size becomes (notionally) a certain size on screen. While this
is a simple division, it's a bit opaque in terms of meaning.
Also it means the divide by zero case can be more universally
defended-against, which has traditionally been a bug opportunity.
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).
Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.
This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).
Modifies the apply-to-graphics algorithm to skip copper shapes.
Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.