Jeff Young
694a7db457
Performance improvements.
...
Don't construct a wxString or a LSEQ when you don't
have to. They're both more expensive than you might
think.
2024-06-12 11:06:10 +01:00
Jeff Young
d865bda4f2
Cache display netnames.
...
Also changes the redraw behaviour to not try and redraw
only when things entered the view (this didn't work
because it may be the netname that's entering the view,
not the whole track). Instead we only process a finite
number of tracks on each idle event (in order to avoid
#12436 ).
Note that we don't need the timer at all anymore as the
netnames are in fixed locations on the track and never
make the track look like it's being dragged.
Also improves performance by avoiding sqrt.
2024-06-11 16:30:52 +01:00
Alex Shvartzkop
44fd13af47
Slight optimization for PCB_PAINTER when drawing vias/tracks.
2024-06-11 05:30:02 +03:00
Seth Hillbrand
ff188450e6
Handle degenerate arcs
...
Arcs with their centers too far away are effectively straight lines, so
draw them as such
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18170
2024-06-07 11:28:34 -07:00
Jon Evans
c800fb790d
Start unifying padstack properties
2024-05-14 20:57:56 -04:00
Alex Shvartzkop
865e3a9f3c
Improvements when working closer to 32-bit integer limits.
...
- Changes BOX2 size to extended coordinates.
- Adds BOX2ISafe to construct a BOX2I that will fit in int32.
- Adds more checks.
- Safer computations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17670
2024-04-23 16:34:07 +00:00
Seth Hillbrand
b346cde30b
Show disambiguated netname when needed
...
When using subsheets with nets that end in the same netname, it can be
confusing in pcbnew to know which net you are dealing with. In these
cases, we show the full netname including path to assist when routing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16187
2024-04-19 16:31:05 -07:00
Jon Evans
1dbe78c68b
Add QA tests and expand serialization for API
2024-04-02 19:51:18 -04:00
Jeff Young
d083593177
Table bug fixes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17399
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17398
2024-03-11 22:58:12 +00:00
Jeff Young
63b06095e6
Table selections for PCBNew.
2024-03-09 22:18:19 +00:00
Jeff Young
72ba31ba27
Pass symbol's netlist to footprint preview widget.
...
This allows us to show the pin functions on the corresponding
pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17349
2024-03-09 15:01:59 +00:00
jean-pierre charras
0bde79bd6c
PCB_PAINTER: do not draw PCB_SHAPEs on netname layer in FP editor.
...
Fixes #17250
https://gitlab.com/kicad/code/kicad/-/issues/17250
2024-03-03 17:00:17 +01:00
Jeff Young
fa0ead98d8
Split out table editing and table cell editing.
2024-02-24 20:05:51 +00:00
Jeff Young
e445249720
ADDED: PCB tables.
2024-02-24 20:05:51 +00:00
Seth Hillbrand
08bdf1abae
Avoid drawing netnames when not in board editor
...
Shouldn't be needed if we properly clear the netinfo but there's no
reason to keep netnames so better to avoid possible issues
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16981
2024-02-15 17:17:22 -08:00
Mike Williams
b979f52364
FP Editor: show hidden texts when we should
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16909
2024-02-08 10:28:23 -05:00
Seth Hillbrand
6e0d97df76
Do not cache invisible text objects
...
In some cases, extremely long, invisible texts can fill and crash opengl
buffers
2024-02-07 15:26:41 -08:00
jean-pierre charras
057baf306f
Pcbnew: draw shadow PCB_SHAPEs for locked items using continuous lines.
...
Using other shapes gives really strange and ugly results.
Fixes #16327
https://gitlab.com/kicad/code/kicad/-/issues/16327
2023-12-10 15:36:33 +01:00
Seth Hillbrand
75c6b0ab28
Added IPC2581 support
...
IPC2581 is a modern production file exchange system. It provides
single-file data output for an entire board including BOM and netlist
information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Jeff Young
85f760fc66
Run IsElementVisible() test on all markers, not just their shadows.
...
The view item doesn't always get its layers updated early enough for
the paint.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16138
2023-11-22 14:37:45 +00:00
jean-pierre charras
7fd9226bec
Fix issue in CalcArcCenter( VECTOR2D& aStart, VECTOR2D& aMid, VECTOR2D& aEnd )
...
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes #16089
https://gitlab.com/kicad/code/kicad/-/issues/16089
2023-11-18 20:08:26 +01:00
Jeff Young
d41f4ec842
Only disable unflashed layers when they're conditionally flashed.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16061
2023-11-10 13:57:56 +00:00
Jeff Young
f7420bc820
Separate Footprint Editor's sketch modes from PCB Editor's.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15345
2023-10-26 10:59:26 +01:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
Alex Shvartzkop
08e8e13f46
performance: Cache zone fill triangulation at draw.
2023-10-22 14:21:54 +03:00
jean-pierre charras
38c7fa6db9
Pcbnew: do not display the outlines of a very special zone used by DRC
...
to show layer mask bridges created by DRC to show these bridges.
This is not a real ZONE, just a container to displays these filled areas.
2023-10-13 14:25:49 +02:00
Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
Jeff Young
469a94db8c
Fix mirroring of TextBox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
2023-09-18 14:49:38 +01:00
Jeff Young
e492efe3c5
Finish up custom-shaped pad spoke templates.
...
Also fixes a bug in number box for rotated pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Jeff Young
0315adc646
Dim other SMD pads when in Pad Edit Mode.
2023-09-11 22:05:24 +01:00
Jeff Young
0e26f3ab30
Allow pad number box creation in pad edit mode.
...
(Also fixes a bug where we'd include pad number box in pad shape.)
2023-09-04 20:49:52 +01:00
Jeff Young
0cde8cff1d
Don't include plating thickness when drawing hole clearance lines.
...
We don't include it in the router, and the code didn't
differentiate between plated and non-plated holes, and it confuses
users.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15575
2023-09-04 16:06:09 +01:00
Jeff Young
69a1b30b8a
Implement undo/redo around Pad Edit Mode changes.
2023-09-01 18:48:46 +01:00
Marek Roszko
37717a8281
Fix other stroke types still drawing the border regardless of enable
2023-08-31 07:52:19 -04:00
Marek Roszko
2dcb7caacf
Add an explicit border property to textboxes
...
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Jeff Young
cf22d5b99b
Preferences setting for force-show-fields-when-fp-selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-20 18:10:28 +01:00
jean-pierre charras
4d1f9f6fb9
Pcbnew: Fix some draw issues in PCB_TEXT and PCB_TEXTBOX:
...
- fix incorrect ViewGetLayers() layer list.
- fix incorrect color of graphic items (BOARD_CONNECTED_ITEM items) on copper layers
- slightly modify how a PCB_TEXTBOX is drawn on LAYER_LOCKED_ITEM_SHADOW.
Fixes #15458
https://gitlab.com/kicad/code/kicad/-/issues/15458
2023-08-20 17:33:11 +02:00
Jon Evans
a77e630901
ADDED: Connectivity for graphic shapes on copper layers
...
Graphic shapes (excluding text) can now have nets when on
copper layers. Shapes behave like tracks in that they will
pick up nets from connected pads, and follow track opacity
settings.
2023-08-10 21:47:43 -04:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
Jeff Young
c697a934b2
Update layer names to current terminology.
...
Also fixes some out-of-date tooltips/names.
2023-08-04 11:37:46 +01:00
Jeff Young
29f2afedbd
Fix hidden text painting.
2023-08-04 11:37:46 +01:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344
about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
jean-pierre charras
2cb23bd43a
VIA on solder mask: fix incorrect size (radius) of displayed mask
2023-07-11 17:35:30 +02:00
jean-pierre charras
74c5f5a054
Ensure a layer exists before using it.
...
Fixes #15170
https://gitlab.com/kicad/code/kicad/-/issues/15170
2023-07-11 16:19:46 +02:00
jean-pierre charras
ab4535f01b
Pcbnew, show solder mask on VIAS: refinement: take in account the mask expansion.
2023-07-11 11:07:50 +02:00
Jeff Young
879e6c302d
Redraw via mask layers when switching Tented Vias on/off.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15164
2023-07-10 23:29:54 +01:00