John Beard
e016dc52fd
Pcbnew: Add concept of a 'point'
...
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.
Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.
They also have a layer, which allows them to be selected and
made visible according to layer filters.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
jean-pierre charras
5b31b11731
SHAPE_RECT: add Normalize method to assure width or height > 0
...
ROUNDRECT: add option to normalize the rectangle on creation
if the created rectangle has a negative size(width or height) there are issues
when drawing it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21613
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21610
2025-09-01 11:56:56 +02:00
Seth Hillbrand
8acf5c1a25
ADDED: Rounded Rectangles
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4742
2025-08-29 17:37:30 -07:00
Seth Hillbrand
eb753b8a1b
Old-skool THT colors
...
Simple option for plain-jane THT pad stacks to color them like the via
holes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21531
2025-08-24 13:31:50 -07:00
Seth Hillbrand
3ef862f7b6
Specialize the pad wall drawing
...
Avoids slowdown when zoom/pan with many THTs as everything remains
cached. Still slow in Cairo but this is expected
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-08-24 11:25:50 -07:00
John Beard
6bdfe2bce6
Pcbnew: fix outline drawing of PTH pads
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21448
2025-08-07 22:48:22 +08:00
Jeff Young
55097b9539
Formatting.
2025-08-03 12:51:34 +01:00
Jeff Young
e230d5164d
Honour renderSettings' default font.
...
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
2025-07-17 09:35:21 +01:00
Jeff Young
c758a2fbaf
Don't sequence layers when order doesn't matter.
2025-07-14 19:12:44 +01:00
jean-pierre charras
96e4c8454a
PCB_PAINTER: Do not draw board outlines area for FPHOLDER boards
...
Only the board editor has a board outlines area and controls to show/hide
this draw area.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21199
2025-06-27 09:50:16 +02:00
jean-pierre charras
01e67d78d6
board area fixes (jpc)
2025-06-19 18:26:39 +02:00
jean-pierre charras
ea12df80be
make board area colored (from Ethan Chien)
2025-06-19 18:26:39 +02:00
Jeff Young
80d24d4720
Runtime cache for knockout text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20711
2025-06-07 22:47:07 +01:00
Jeff Young
f58fc0b952
Rewrite GROUP undo based on uuids.
...
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Jeff Young
d384790d47
Don't use line styles for solder masks on shapes in 3D viewer.
...
Also convert hatched fills to solid for solder masks.
Also give track solder masks their specified
expansion when exporting to STEP.
Also implement solder masks for shapes when
exporting to STEP.
2025-04-28 21:46:10 +01:00
Jeff Young
6873a75313
Solder masks for teardrops on tracks with solder masks.
...
Also moves teardrops away from the zone UI: they
are now always filled and their borders never
drawn.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20744
2025-04-25 12:23:23 +01:00
jean-pierre charras
57102b87ce
PCB_PAINTER, mirrored view, texts on non paired layers: keep position
...
Depending on their horizontal justification, the texts wee moved when
flipping the board view.
2025-04-22 09:28:47 +02:00
Jeff Young
45abc90885
Be explicit about table highlight colors.
...
(Unsurprisingly, the previous hack had side effects.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20606
2025-04-10 17:32:00 +01:00
Jeff Young
7232a98b65
Remove redundant performance changes.
...
(Alex had already moved these to const char, which
avoids wxString's c'tor.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-04-10 11:40:37 +01:00
Jeff Young
1d45de0d1d
Performance.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-04-09 18:21:15 +01:00
Jeff Young
661d002234
CHANGED: moved footprint lock shadows to children.
...
A full bounding hull wash gets overwhelming on
boards with lots of mechanically-constrained
objects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14007
2025-04-03 14:38:14 +01:00
Jeff Young
93ea523eec
De-duplicate table border drawing code.
...
Also cleans up a misconception about table header borders,
and renames the getter/setter to be clearer.
Also makes sure that table cells are updated when the table
layer changes.
And another bug where we were writing the grey color value
back to the cell for hidden cells.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20319
2025-03-13 13:15:47 +00:00
Jeff Young
b7ef57a97d
Apply Damjan's rotated table fixes to PCB_TABLE::GetEffectiveShape().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20143
2025-03-11 20:12:32 +00:00
Damjan
b419058df3
pcbnew: Plotting tables with non-90 degree rotation angles is not working
2025-03-04 12:08:18 +00:00
Jeff Young
f951497a4f
Code brevity.
2025-03-01 21:58:31 +00:00
JamesJCode
93549a649b
Fix unused variable compiler warnings
2025-03-01 18:32:18 +00:00
jean-pierre charras
00dca4edb3
Pcbnew, hatched fill shapes: fix 2 issues:
...
- Ensure the hatched fill polygon is fractured in all cases
- ensure the filled polygon only, not the outline, is drawn
2025-03-01 16:59:09 +01:00
Jeff Young
3f15b0d75b
ADDED: hatched fills for shapes.
2025-02-24 11:08:29 +00:00
Jeff Young
675624b926
ADDED: Knockout text boxes.
2025-02-24 11:08:29 +00:00
Damjan
5771467ca3
pcbnew: Table Rotation
2025-02-24 11:00:29 +00:00
Seth Hillbrand
b02a449be8
Limit the size of the PTH hole walls
...
Should always be at least 2px thick but no larger than the minimum
thickness of the pad (walls do not extend beyond the pad itself)
2025-02-22 14:53:59 -08:00
Jeff Young
42acb62f6e
Don't disable line styles on filled shapes.
...
It's too much trouble to figure out what the
user wants, and not always right even then.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19946
2025-02-19 23:43:53 +00:00
Jeff Young
5edae8250d
Finish eradication of visibility flag on text items.
...
Import/read previously-hidden symbol/footprint
text items as hidden fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Mark Roszko
e765ad0c2f
Kill unused var warning
2025-01-31 11:00:07 -05:00
Jon Evans
e417b209a0
Don't paint clearance layers as copper
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19764
2025-01-27 18:16:58 -05:00
Jon Evans
1d1b4bf60f
Use fill, not stroke, for holewall painting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19473
2025-01-03 20:35:30 -05:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
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
2025-01-01 14:12:04 -08:00
John Beard
f7aded00c7
Pcbnew: draw clearance lines on their own GAL layers
...
This tidies up quite a performance hit on layer change
caused by repainting vias, pads and tracks for their
clearances.
Instead, on a layer change, just disable any old clearance
layer and enable the new one (if any).
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19404
2024-12-31 00:53:10 +08:00
John Beard
ca5a88dbb4
Pcbnew: minor refactor in pad painter
...
Break a big loop content to a lambda, so the 'outer' drawing logic is
more compact. And allows to handle the shape by ref since we know it's
not null.
2024-12-30 20:23:16 +08:00
John Beard
e384628478
Pcbnew: Fix pad/via clearance lines
...
After 4eb68c2840, we need to check the actual copper
layer represented by aLayer (i..e copperLayer), not
aLayer itself.
2024-12-29 02:43:43 +08:00
Jon Evans
c77426cc12
Fix a few issues with via and pad rendering
...
The refactor of VIEW::SortLayers broke it, but this
was hard to notice until my recent changes.
2024-12-28 12:42:52 -05:00
Jon Evans
4eb68c2840
Fix pad and via opacity handling
...
With new rendering style, these need unique VIEW layers per copper layer
2024-12-28 10:50:58 -05:00
Jon Evans
78f83b5a39
Update PTH/Via rendering
...
- Add separate hole wall and net name color for vias
- Overemphasize hole wall thickness to make objects more visible
2024-12-28 10:02:11 -05:00
Seth Hillbrand
e9bc8cfe9d
Give Clipper1 a Viking funeral
...
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Jeff Young
2926db778c
Bug fixes for rotated tables.
2024-12-16 13:26:48 +00:00
Seth Hillbrand
bf6a255a3e
Move more elements from fixed size arrays
...
Refactor layer data storage from compile-time array sizes to run-time
map storage
2024-12-03 13:25:11 -08:00
John Beard
c0db57ea93
Pcbnew: fix last row/col table painting
...
Use the exact same logic as in eeschema, where this already work
perfectly.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19226
2024-11-30 18:56:02 +08:00
John Beard
013f66adb4
Pcbnew: remove accidental logging inclusion
2024-11-28 22:37:24 +08:00
John Beard
0896367753
Pcbnew: only show point editor chamfer where useful
...
The chamfer corner action is only meaningful for polygons
and zones, so only enable it there.
Also move some static logic out of of the interface
of PCB_POINT_EDITOR and use SELECTION_CONDITIONS
like other similar code.
2024-11-28 20:18:00 +08:00
Jon Evans
3b1f6a4f36
Load SMD pad net name colors from appropriate copper layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19168
2024-11-20 17:33:35 -05:00