Alex
13ce2ebf46
15% rendering optimization in PCB_TRACK::ViewGetLOD.
2023-01-27 18:37:43 +03:00
Jeff Young
12215647f1
Handler blind/buried/micro via drawing when all layers are hidden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13607
2023-01-20 19:09:12 +00:00
jean-pierre charras
90c76fa4bc
Pcbnew: display first and last layer ID on buried and micro vias.
...
Fixes #13566
https://gitlab.com/kicad/code/kicad/issues/13566
2023-01-18 09:56:25 +01:00
Jeff Young
22497502e6
Don't leave a dummyPad in a group. Freeing it will cause problems.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13556
2023-01-16 17:30:40 +00:00
Jeff Young
096cc7a5ad
Suppress unflashed annular rings only when copper layer is primary.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13471
2023-01-11 18:15:46 +00:00
Jeff Young
e509fa0fc9
Don't depend on a pad being connected to a non-zone when filling zones.
...
If the pad hasn't already been owned by another zone, and the zone we're
currently filling can connect to it, then we want to try to flash it even
if it's not connected to anything else.
Fixes https://gitlab.com/kicad/code/kicad/issues/13415
2023-01-07 19:34:32 +00:00
Jeff Young
2cbb66d70d
Dim other pads when in pad edit mode.
2023-01-06 11:13:57 +00:00
Mike Williams
d62681f6db
PCB Editor: fix pad preview sketch mode not applying immediately
2022-12-28 12:27:57 -05:00
Jeff Young
5dce8323e8
KIGFX::REPAINT is not enough if the item isn't in the view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11656
Fixes https://gitlab.com/kicad/code/kicad/issues/13217
2022-12-24 17:18:22 +00:00
Seth Hillbrand
bd40684ecd
Handle polygons' triangulation
...
Graphic polygons may be invalid and so need to be explicitly simplified
before triangulation.
Also clean up hole handling in triangulation routine
2022-11-28 15:46:12 -08:00
Alex
f9bfb8534f
Fix orientation of track netnames.
2022-11-16 00:43:06 +05:00
jean-pierre charras
90238dede8
PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option
...
Fixes #12880
https://gitlab.com/kicad/code/kicad/issues/12880
2022-11-12 16:02:24 +01:00
Seth Hillbrand
8b7d997a6d
Fix broken refactor
...
Don't trust the automatic refactor. It misses the strangest things
2022-11-08 20:30:30 -08:00
Seth Hillbrand
39774463db
Remove extra line
2022-11-08 16:35:03 -08:00
Seth Hillbrand
056f45cd70
Fixup most intersecting polygon points
...
Remaining is the intersecting complex pad, so this keeps the error
message when drawing
Fixes https://gitlab.com/kicad/code/kicad/issues/12806
2022-11-08 16:05:04 -08:00
Jeff Young
396e220133
Non-visible layers are stored in the GPU so still have to be drawn.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12792
2022-11-06 17:37:29 +00:00
Jeff Young
25f06eed8c
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
2022-11-05 16:50:54 +00:00
Seth Hillbrand
c1f2ca1d8d
Make multiple names of the net on a track
...
Rather than moving the netname around, we want to keep the correct
number of netnames on a track such that there is always at least one
displayed on long tracks even when panning.
This reduces calculation time while keeping the netnames visible
Fixes https://gitlab.com/kicad/code/kicad/issues/12436
2022-11-04 11:49:50 -07:00
Jeff Young
f480cbf93f
Treat internal copper layers as side-specific.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-25 12:08:57 +01:00
Jeff Young
4778122aa0
Flip anything on a side-specific layer, rather than physical layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-24 16:54:33 +01:00
Jeff Young
cef7cd8f7c
Move default font to RENDER_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Jeff Young
8d40bf25d6
Need to setup outline mode stuff if it's turned on late.
2022-10-18 14:41:27 +01:00
Jeff Young
437d2c4589
Overhaul of remove-unconnected's zone filling and drawing strategies.
...
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state. Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.
2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.
3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.
4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Jeff Young
e866dfe137
Avoid trying to draw empty pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12605
2022-10-09 20:28:54 +01:00
Jeff Young
04fec5016b
Add keepout zones set to keepout footprints to footprint courtyard checker.
...
(This is for the move tool, not DRC. DRC uses more sophisticated keepout
processing which is too slow for the move tool, and doesn't let us know which
keepout area collided for collision highlighting.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12594
2022-10-07 22:23:37 +01:00
Jeff Young
513fc872bb
Support both X and Y mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12409
2022-09-21 00:16:27 +01:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Jeff Young
aa0863cdf4
Don't mirror text on non-physical layers when in flip board view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10037
2022-09-16 00:46:14 +01:00
dsa-t
bd8b737c44
GAL: Do better job at reserving vertices.
2022-09-14 16:07:47 +00:00
Jeff Young
281b9d405a
ADDED ability to specify where pad number (& net name) go on custom shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6627
2022-09-14 11:37:20 +01:00
Jeff Young
9523586bf1
Remove atrophied PCB NO_CONNECTS layer and its colour.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12316
2022-09-08 00:28:31 +01:00
Jeff Young
16b4f96405
Centralize no-connect- and free-pad processing.
...
Also makes the track-net-names less squirrelly around the viewport
edges.
2022-09-06 13:59:52 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
jean-pierre charras
a306246558
Fix a few (minor) compil and Coverity warnings.
2022-08-25 20:21:00 +02:00
Jeff Young
ae86c6f3a7
Don't include text in locked-item-shadow-calc for footprints.
...
And make shadow margins consistent for all objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/11545
2022-08-24 10:30:20 +01:00
Jeff Young
6cfbf895fc
Make sure parent pos is factored in for polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11945
2022-08-16 17:28:56 +01:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Mike Williams
f8b157a1fb
PCB: Bitmaps should respect layer opacity and highlighting options
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12045
2022-07-20 14:59:19 -04:00
Seth Hillbrand
c8a383a48e
Get via font fill/color correct when highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11802
2022-07-15 11:40:46 -07:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Jeff Young
231ac567b8
Bug fixes for printing vias.
...
Blind/buried and microvias didn't get their layers trimmed properly,
nor did through vias with dropped pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/11851
2022-06-19 11:58:21 +01:00