Commit Graph

671 Commits

Author SHA1 Message Date
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
Jon Evans d7a9e110c5 Fix minor visual artifact in via painting 2024-11-16 11:46:09 -05:00
Jon Evans bc45f1b352 REMOVED: separate color for via net names
Vias can now use track net name color
2024-11-16 11:27:20 -05:00
Jon Evans 71a0a638a0 Remove unused pad layers and simplify pad colors 2024-11-16 11:27:20 -05:00
John Beard 5acf60ec6c Pcbnew: enable pad clearance again
Now that we have padstacks, pads are no longer drawn on
LAYER_PADS_SMD_FR/SMD_BK/TH layers, but rather the actual copper
layers (c.f. PAD::ViewGetLayers() changes in
56e0811516.

Also enables the clearance display in the FP editor, as normally most
FPs have clearances off, but when you do have them set, you want to be
able to see where they end up.
2024-11-11 23:21:56 +08:00
jean-pierre charras 8874a2cda7 Pcbnew: refinement for commit 8057f7d4: Keep edge.cuts dimmed in hide/dim mode
Because in dim or hide non active layers mode items on these layer are not
selectable, dim items on edge.cuts layer (when non active) are also shown dimmed.
2024-10-28 18:30:17 +01:00