This breaks the view_item.h -> inspectable.h -> property.h chain that
pulled wx/propgrid/property.h into 150-200 TUs. The lean inspectable.h
now includes only wx/any.h, wx/string.h, wx/variant.h.
Headers using DECLARE_ENUM_TO_WXANY (board_item.h, sch_item.h) retain
their property.h include since the macro requires it.
Remove all wxLogDebug instances by either replacing them with wxLogTrace
calls where it was obvious what the trace flag should be or out right
remove them from the code base.
The display of hatched shapes (HATCH, REVERSE_HATCH, CROSS_HATCH fill modes)
would flicker and show missing lines at certain zoom levels.
Fix by properly handling the dirty flag and enforcing a minimum line
width in the painters. Also changed the drawing function to only draw
with lines. The cross-hatch optimization is maintained for export, 3d
and hit tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20562
After recent changes, TransformToPolygon() did not work with a not normalized ROUNDRECT.
Also fix a crash with empty polygon or SHAPE_LINE_CHAIN in eda_shape and
convert_shape_list_to_polygon.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22633
This mimicked a pattern where we would reuse a buffer in high
performance paths, but this shape is never used like that, and just made
all of the calling code more annoying.
(We have a different "Expand Selection" command now,
and this was never a great name for showing
more choices anyway.)
Also treat tablecells as opaque when guessing
selection candidates. It's unlikely there's anything
under them and keeping to their text bounds feels
counter-intuitive.
- Fix size of converted polygon in Pcbnew
- Fix approximation of converted polygon in Eeschema: one cannot use ARC_HIGH_DEF
as error in Eeschema because this value is defined for Pcbnew, and not suitable
in Eeschema.
There should be far fewer hatched objects than other
objects, so we're spending too much effort finding
all the possible damage when we probably should
just be auto-regenerating all the hatching.
This also moves it out of being done during redraw,
which was proving problematic. Plus the refill
zones architecture does it during commit, and has
a lot more miles behind it.
The arc center is a pseudo coordinate which is calculated for drawing
purposes. This mid point is fixed unless the arc is modified which
should result in more reliable arc parity footprint library DRC testing.
Also change EDA_SHAPE::Compare() to use the arc mid point.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15917
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
We cache arc data to ensure that we know if it has changed since
loading, however footprints perform transformation (displacement +
rotation) on their internal elements, so we need to provide the same
transformation to the cache in order to assure it matches when writing
to disk, otherwise, the arc midpoint will be recalculated leading to
instability
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19648