Alex Shvartzkop
bac0820864
Improve moving, rendering and plotting of very small angle arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17110
(cherry picked from commit b905b4eac8
)
2024-04-02 21:41:09 +00:00
Jeff Young
92275c41cc
ADDED: Expose units and DeMorgan to properties system.
...
(Also fixes inheritance bug in LIB_PIN's properties.)
(cherry picked from commit 58df9c96f4
)
2024-03-29 17:49:48 +00:00
Jeff Young
524d431438
More defensive coding for KICAD-YP.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
(cherry picked from commit 2f2c42a06b
)
2024-03-29 17:46:07 +00:00
Jeff Young
ccd052cc99
Attempt to prevent KICAD-YP.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
(cherry picked from commit a53bc9e026
)
2024-03-29 17:46:04 +00:00
Jeff Young
1f461c7508
Close active cell editor when showing/hiding columns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17425
(cherry picked from commit f3ce3bc758
)
2024-03-29 17:45:35 +00:00
Jeff Young
4bea619855
Make sure users don't run into min text size.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17543
(cherry picked from commit fc572bfbc6
)
2024-03-29 17:45:13 +00:00
Céleste Wouters
76e0f94532
Improve SHAPE_POLY_SET fracture performance
...
Refactors `SHAPE_POLY_SET::fractureSingle()` to be more efficient, while
not changing the actual algorithm:
* increase cache locality by using contiguous arrays instead of what was
effectively a linked list
* reduce latency and jitter by replacing per-edge allocator calls with
ahead-of-time std::vector reserves
* increase cache efficiency by making the vertex struct smaller
* replace O(n^2) leftmost edge search with O(n log n) std::sort
* sort the polygons instead of the edges
* cut iteration count in half in the remaining O(polygons * edges) part
(cherry picked from commit e98c9f283f
)
2024-03-28 13:10:43 -07:00
Seth Hillbrand
d2db96886d
Add logging and area check to tesselation
...
Logging is useful when we find an area that cannot be triangulated.
This will be used to generated test cases.
Skipping minor untesselated areas means that the polygon will still be
considered fully tesselated (and not sent back again and again) even if
the tesselation misses an area less than the configured limit.
Currently, this is 31^2nm.
(cherry picked from commit 7e7fec69f6
)
2024-03-28 13:10:43 -07:00
Seth Hillbrand
3d4a7c7c3f
Update triangulation
...
(cherry picked from commit 4f03bb2fb6
)
2024-03-28 13:10:43 -07:00
arturo182
d46139d5e3
kicad_advanced: Make OCE tesselation deflection configurable
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17168
(cherry picked from commit 41147dc3b3
)
2024-03-28 13:10:43 -07:00
Alex Shvartzkop
05dedbd892
Fix spelling mistake.
...
(cherry picked from commit bd59fb7768
)
2024-03-23 18:43:47 +00:00
Alex Shvartzkop
c0dba1e00d
Don't print unnecessary digits after decimal point for imperial units.
...
1 nm = 0.00003937 mils = 0.00000003937 inches,
So there's no reason to print more decimal places than 5 for mils and 8 for inches.
Related: https://gitlab.com/kicad/code/kicad/-/issues/15539
(cherry picked from commit 93581607a8
)
2024-03-23 18:40:11 +00:00
Jeff Young
f7bce264bb
Don't take too long worrying about very small exposed areas.
...
(And in particular, don't take forever if the min / 10 results
in step being 0.)
(cherry picked from commit b285545aee
)
2024-03-21 18:19:48 +00:00
Mike Williams
bce982877c
prettifier: add newline to end of file
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17480
2024-03-19 09:46:42 -04:00
Jeff Young
9704543b7a
Don't assume all glyphs are outline with an outline font.
...
Underline and overbar may be stroke glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17478
2024-03-18 22:20:44 +00:00
jean-pierre charras
f90c3ef075
hotkey selector dialog: accept hotkey using Alt key modifier on Windows.
...
On Windows, Alt key is specific, and the dialog did not accept the modifier
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17453
2024-03-18 18:19:39 +01:00
wh201906
11177bf658
Fix selected item count in the properties panel
...
The code for updating selected item count is skipped if the properties
items don't change.
(cherry picked from commit 3f2e3d89e2
)
2024-03-17 22:27:05 +00:00
Mojca Miklavec
dcd304c5d8
Change the platform detection order
...
Make sure that windows-specific getWindowsKiCadRoot() is only called on Windows
(cherry picked from commit 01cb1543bb
)
2024-03-16 12:23:04 +00:00
Jeff Young
c07604bb03
Add autocomplete accept & cancel to the hotkeys list.
...
(cherry picked from commit da2610b93b
)
2024-03-15 22:24:53 +00:00
Yon Uriarte
4e8d6de1de
Responsive: OPENGL_GAL::DrawArc reserve linequads to reduce drawing time
...
(cherry picked from commit 77576e1a80
)
2024-03-15 09:45:09 -04:00
Wayne Stambaugh
9e4efe5d72
Fix Eagle board import when footprint library versions exist.
...
This was a crude hack that appends the library URN ordinal to the name of
the footprint so that it can be correctly looked up by the "element" node.
The Eagle XML DTD does not make it clear how the URN "ASSET_ID" and
"VERSION" are used to look up the appropriate "ASSET_TYPE" so this is a
best guess and seems to work correctly.
The inferred edge clearance dialog had to be disabled when importing third
party boards because on GTK (and possibly other platforms) the dialog would
completely hang KiCad preventing the imported board and possible schematic
from being saved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12897
(cherry picked from commit 34ec57958d
)
2024-03-15 07:59:20 -04:00
Alex Shvartzkop
ddec1d5317
Disable infinite panning when using XWayland.
...
Cursor warping doesn't work properly in this scenario.
https://gitlab.com/kicad/code/kicad/-/issues/14109
(cherry picked from commit 463b609993
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
50dd6185bb
Do not write alpha to the main framebuffer when performing antialiasing.
...
This allows correct background display when the main framebuffer has alpha.
Noticeable on Wayland with Mesa 24.0.2 Iris driver.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17341
(cherry picked from commit bf6ff5b805
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
6df17bba99
Fix rendering/plotting of arcs with tiny angle and huge radius.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17343
(cherry picked from commit 4d66a8ebdb
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
c7608c4bad
EasyEDA Std: support multiple schematic sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17219
(cherry picked from commit c056ef407a
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
e196f71d58
Support Altium Schematic ASCII import
...
(cherry picked from commit defcb49ac8
)
2024-03-15 01:17:49 +03:00
Jon Evans
816e3efbd5
Fix a few LIB_TREE search issues
...
Don't apply pruning to libraries that don't have
any children, since the point of the pruning is to
hide libraries that don't directly match a search
term if they don't have any children that match.
Fix searching for full LIB_IDs that got broken by
the implementation of "AND"
Fix searching for library names alone
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17205
(cherry picked from commit 0c2a084a47
)
2024-03-14 21:01:13 +00:00
Jon Evans
c7b7830495
Add environment variable for configuring stock data home
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15687
(cherry picked from commit 9b54537e38
)
2024-03-14 21:00:40 +00:00
Jeff Young
af3654d389
Reset penWidth before stroking.
...
(PlotPoly will have set it to "1".)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17218
(cherry picked from commit f22f5f47cb
)
2024-03-14 18:07:53 +00:00
Jeff Young
09bc9cd77a
Grid properties for GerbView.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17372
(cherry picked from commit 1152b0462c
)
2024-03-14 18:05:18 +00:00
Jeff Young
e893ed4590
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
(cherry picked from commit 72ba31ba27
)
2024-03-14 18:04:52 +00:00
Jeff Young
45e17307a1
Resolve double-indirection CURRENT_DATE in title blocks.
...
If ${COMMENT1} resolves to ${CURRENT_DATE} then we need to resolve again.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17256
(cherry picked from commit da634a618f
)
2024-03-14 18:02:50 +00:00
Jon Evans
98d26e77c9
Update a few more list/tree views for macOS
...
(cherry picked from commit 1988aac2b3
)
2024-03-05 13:39:39 +00:00
Alex Shvartzkop
4096c073b7
EasyEDA Pro import: make sure to use UTF-8 for project.json and device.json.
...
Also catch exceptions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17248
(cherry picked from commit 219d0c399d
)
2024-03-03 21:51:32 +03:00
Jeff Young
8dce6c0b67
Don't steal command-keys from a wxGrid.
...
It's unlikely to win you friends.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17229
(cherry picked from commit 1082930c34
)
2024-03-02 15:29:00 +00:00
Yon Uriarte
3d67ab72c6
Performance
...
Cache VIEW_ITEM's bbox in VIEW_TREE for faster removals.
Fixes https://gitlab.com/kicad/code/kicad/issues/16841
(cherry picked from commit 464f185387
)
2024-03-02 00:06:24 +00:00
Jeff Young
53d8e2c8c3
Separate "use board stackup colors" into separate checkbox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17085
(cherry picked from commit 8dddd9cc2c
)
2024-03-01 23:45:37 +00:00
Seth Hillbrand
a7c09964ba
Update contributors
...
(cherry picked from commit e7d4127f99
)
2024-03-01 13:46:14 -08:00
Jeff Young
8047eed6f8
The ruler tool is not part of InteractiveEdit.
...
(In particular, it should not return true to IsEditorTool().)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17164
2024-02-29 17:56:25 +00:00
Jeff Young
1cd5827078
_() -> _HKI() for group names.
...
(cherry picked from commit d08e0e9eaa
)
2024-02-29 17:38:18 +00:00
jean-pierre charras
985c3ad92a
GERBER_PLOTTER, round-rect aperture: ensure primitives have non null size.
...
for round-rect pads with a radius = 50% of the smaller dim, one of primitives
used to create the shape can have a 0 size.
Ensure a min size >= 10 nm (It should not create a actual change)
2024-02-29 18:07:02 +01:00
Alex Shvartzkop
c59fac4089
Use a version string without the extra packaging info in drawing sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17176
2024-02-29 04:24:16 +03:00
Alex Shvartzkop
0dab086f0c
EasyEDA Std import: support multiline text on PCB.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171
2024-02-29 03:54:01 +03:00
Seth Hillbrand
7d1adff071
Store group id rather than group
...
We only need the group storage id for lookup. Storing the KIID instead
of a copy of the group avoids unneeded overhead
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17175
2024-02-28 13:27:08 -08:00
Alex Shvartzkop
c4a7af8a47
Cairo GAL: fix endianness check.
2024-02-28 04:11:02 +03:00
Alex Shvartzkop
d359fb8ab9
Cairo GAL: reduce buffer allocation sizes.
...
cairo_format_stride_for_width() result is in bytes.
Also removes unneeded extra width.
2024-02-28 03:50:17 +03:00
Alex Shvartzkop
5618a6925d
Cairo GAL: improve empty canvas performance (-80% CPU)
2024-02-28 03:50:17 +03:00
Jon Evans
12dcdc8bbe
Trivial change to avoid crash on tool re-entry
...
See https://gitlab.com/kicad/code/kicad/-/issues/17164
(cherry picked from commit 299b548a41
)
2024-02-28 00:31:37 +00:00
Jon Evans
bbd4cfd3d4
Force lib tree row height on GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16403
(cherry picked from commit c3af434741
)
2024-02-28 00:25:28 +00:00
Jon Evans
0b5c0ef639
Expose grid origin action in more places
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17007
(cherry picked from commit 0df5cf7f75
)
2024-02-27 23:52:17 +00:00