CHANGED: SCH_VIEW::GetItemsExtents() returns a bbox of all visible items
but ignores the page and border. It was taking invisible strings into
account when calculating the bbox, and now it doesn't. Makes "Fit to
Objects" work correctly with all components that have hidden text.
Fixes https://gitlab.com/kicad/code/kicad/issues/5726
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2030
Note: this is a fairly basic API, you can't retrieve
individual DRC items. This is intended to be a hold-over
until we write the new Python API that can expose full
functionality (since we do not want to wrap the entire
DRC system with SWIG)
CHANGED: Pin position is now incremented properly in the Pin Table
dialog. The Pin position is ussing Internal Units insted of mils, so
the hardcoded 50/100 mils spacing has to be converted to IU before
adding.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5730
ADDED: Make middle mouse button double click do a 'Zoom to Fit'
in Eeschema, Pcbnew, and Gerbview. Ctrl-MMB does a 'Zoom to Objects'
in Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/1988
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
The OpenGL missing segments (when small) are due to rounding in larger
coordinates. The GAL shader uses floats to represent int32 values for
position and distance. Thus, at larger coordinates, the smaller integer
values cannot be represented accurately. This tests for the rounding
error and, if it exists, draws a plain circle instead
Fixes https://gitlab.com/kicad/code/kicad/issues/5751
1) better load-balancing for deferred zones
2) sort zones by priority before filling
3) retire BOARD::GetZoneList() which had a horrible performance profile
4) implement a zone bounding box cache
5) better checks for IsCancelled() so long fills can be exited
Fixes https://gitlab.com/kicad/code/kicad/issues/5738
ViewGetLOD() returns the minimal value of a zoom to show an item.
However a zoom is a double, and using int as minimal value does not
allows setting a correct value in some cases.
When calculating E series resistors, display error percentage down to
0.01% but rather than showing 0.00% error for smaller values, we now
show the error is "<0.01%" until it is exact.
Fixes https://gitlab.com/kicad/code/kicad/issues/5731
If the zone fill failed, then don't add the zone to the
exported VRML because it might not be correct.
Also test that the Python command in DIALOG_SCRIPTING worked.
This dialog actually isn't used anywhere currently, so it
could in theory be removed - but it is simple enough and
it provides a decent testing dialog that it is more work to remove
it.