The hittest needs to use distance calc rather than squared distance.
This also adjusts the radius value to be double as to avoid unneeded
loss of precision
The arc shapes need to connect with their adjacent points. By storing
the relevant points, we allow exact point matching on both ends of the
arc as well as localize point storage.
Due to rounding issues, sometimes (especially for rotated pads) the region
(4 segments+4 arcs) was incorrectly closed (1 unit (nanometer) mismatch between
start point and end point.
Although it does not create bad shape, its breaks the round rect pad identification
in CAM tools.
start point and end point are now the same.
- fix many wxWidgets alerts.
- ensure pad offset wxTextCtrs are shown or not according to the wxCheckBox state.
- ensure there is room in dialog for some wxTextCtr when switched from Hide to Show
(resize it if it is too small)
Add also display on hatch count and filled polygons corner count, previously removed,
but useful for large and complex zones (that can take a lot of computation time
for DRC and display).
Eagle includes stroke thickness into font size, KiCAD does not. Remove
the hack with scaling down the font, compute size precisely.
CHANGED: Fixed font calculation in Eagle import
Eagle cutout polygons only restrict filled copper, they do not limit
tracks, vias and pads inside them. Fix this behavior in the Eagle
import.
CHANGED: Fix semantics of Eagle cutout polygons
This was due to use of a not yet calculated of a bitmap button.
At least on msw just after setting the bitmap of a bitmap button
the actual size is not yet calculated: it is calculated after calling Layout()
both Ucamco and Eurocircuits.
Update message in plot dialog about best solder mask clearance value.
Show warning in plot dialog if these values are no 0.
We can't get all the way there because we can't create pads outside
of modules and the Gerbers don't store any grouping/footprint info.
This change moves us from outputing a via for every flashed item
(some of which don't even have holes) to synthesizing pads from
flashed items using a via (when they have holes) and a copper polygon.
This is much better for SMD pads, perhaps better for regular pads,
and no worse for vias.
The scaling factor stored inside the canvas is created by a DPI_SCALING
helper, which will call the platform-specific functions if no user scaling
is specified. This change only affects OSX and Retina displays, so this
now also allows custom scaling to be used on OSX if desired (although it
shouldn't be needed, since wx has detection for it in 3.0.4).