Commit Graph

9739 Commits

Author SHA1 Message Date
Jeff Young 14a55facf2 Clearer naming and commenting.
Also some const& hygiene and some formatting.
2024-06-25 11:07:14 +01:00
Kuba Sunderland-Ober 8f02944437 Optimize the newstroke font representation
Remove redundant strokes that start where the last stroke ended.
2024-06-24 19:44:06 +00:00
Jeff Young 080cbbe0dd Error reporting for drawing sheet loading. 2024-06-24 20:22:29 +01:00
Jeff Young 26b86b3922 Don't use wxLogMessage/wxLogError for messages not meant for user.
They are particularly damaging when our event loop
gets tied up in knots with the log message window
behind a modal window -- thereby locking up KiCad.
2024-06-24 20:22:29 +01:00
Seth Hillbrand 11c6164934 Silence font replace warnings for libs
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
2024-06-24 09:55:10 -07:00
Jeff Young 92c8ddfddb Prefer infobar to logged warnings/messages.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18242
2024-06-24 16:26:40 +01:00
Jeff Young 5fba8289aa Formatting. 2024-06-22 23:54:57 +01:00
Alex Shvartzkop 1613816e77 Fix EasyEDA/JLCEDA Pro 2.2 footprint/symbol library import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18250
2024-06-21 22:20:54 +03:00
Alex Shvartzkop 84091b163e Fix warning: moving a temporary object prevents copy elision [-Wpessimizing-move] 2024-06-21 21:31:14 +03:00
Jeff Young c549a214c9 Performance: don't alloc std::vector in critical areas.
For some history, see also aa2ad3b44c
2024-06-21 19:07:46 +01:00
Wayne Stambaugh b494166b10 Fix empty label names when importing Eagle schematic. 2024-06-21 12:07:06 -04:00
Alex Shvartzkop ece46223c9 Fix shadowed/conflicting enum values. 2024-06-21 16:16:29 +03:00
Marek Roszko acec5552c0 Don't use message as part of the assert dedup
kimath overflow can generate thousands of unique messages in one run lolol
2024-06-21 07:19:53 -04:00
Wayne Stambaugh 8df28d4f5f Fix crash in symbol editor when importing Eagle symbol library.
https://gitlab.com/kicad/code/kicad/-/issues/18221
2024-06-21 01:07:01 -04:00
Wayne Stambaugh 3df2109c43 Fix issues with the new Eagle schematic parser. 2024-06-20 23:07:59 -04:00
Alex Shvartzkop 7eb600e5a6 Fix typo. 2024-06-20 15:47:36 +03:00
Alex Shvartzkop 386651153b Improve EDA_ITEM memory layout slightly. 2024-06-20 15:33:56 +03:00
Alex Shvartzkop b143ffb797 Reduce KIID size from 20 to 16 bytes.
Removes separate legacy timestamp value.
2024-06-20 13:59:15 +03:00
Jeff Young 31ab276aaf Ease-of-use for un-commented ERC/DRC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18220
2024-06-19 17:07:50 +01:00
Seth Hillbrand bf68b11ff9 Cleanup unused vars 2024-06-18 21:35:32 -07:00
Seth Hillbrand bcf6b620a8 Large rework of BEZIER_POLY
Add direct handling of quadratic beziers to save compute time and number
of points.  Update cubic interpolation to reduce number of points
generated for a given smoothness

Cache data on open and used cached data to avoid multiple re-calcs

Remove minimum line length and number of segments and replace with
standard max error level.  Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
dsa-t c5056beeb3 Fix crash in wxSocketBase when the event handler has been destroyed.
Fixes KICAD-37B
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18234


(cherry picked from commit ebdfeb4c0a)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-18 21:50:18 +00:00
Jon Evans 02502342a5 Try harder to keep searchable text hidden in SVG exports 2024-06-18 12:01:15 -04:00
Seth Hillbrand 5c699e3c1e Handle not found fonts reliably
Check if the font isn't found when selecting (we seem to always have a
selection even if we fail on GTK) and properly set the index of the
final <not found> font name
2024-06-16 17:20:58 -07:00
jean-pierre charras 16e708a0e7 Fix minor compil and Coverity warnings. 2024-06-15 11:20:21 +02:00
Seth Hillbrand 9f4dfe77cb Freeze the adapter to avoid invalid deref
GTK tries to get the parent item of selected elements when unselecting.
If we don't freeze, we run the risk of crashing if a selected item is
removed before being unselected.  This causes a wx warning but a) this
is suppressed in release and b) warning message is better than crash.
See next commit for fix to avoid common case of the error
2024-06-14 16:49:56 -07:00
Jeff Young 0f8d543172 Consistent capitalization. 2024-06-14 22:02:08 +01:00
Jeff Young 7fef6e8d83 Use view's RTree for redrawing netnames. 2024-06-14 00:20:37 +01:00
Jeff Young 0ca7a81181 Deferred redraw for netnames. 2024-06-12 17:20:20 +01:00
Jeff Young b7161181e8 Hidden footprint libraries are not yet supported.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18183
2024-06-12 16:59:20 +01:00
Alex Shvartzkop 73a3b880a6 Slightly optimize GPU_CACHED_MANAGER::DrawIndices. 2024-06-12 16:04:47 +03:00
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
Jon Evans 4aab9f59aa ADDED: Support tenting control of individual vias
REMOVED: Tenting option from plot dialog (tenting is now
         controlled from Board Setup and via properties)

See https://gitlab.com/kicad/code/kicad/-/issues/2402
2024-06-11 21:25:02 -04:00
Seth Hillbrand 439c25fca9 Altium schematic parser: Add fraction pin placement
In the schematic libaries, pin positions that are off 10mil spacing need
fractional elements stored in a different location
2024-06-10 15:02:18 -07:00
Alex Shvartzkop d40bbed591 Cairo GAL: improve alignment between arcs and segments and of odd-width lines.
(cherry picked from commit f60b76696a)
2024-06-10 21:26:17 +03:00
Wayne Stambaugh 5e048bc64c Fix several Eagle schematic import issues.
Fix broken arc angle polarity due to library symbol changes.

Fix broken wire and text Y axis coordinate polarity due to library symbol
changes.

Fix broken field visibility and position on library symbols with multiple
units that have fields with different visibility and positions.  Because
KiCad does not support this, when parsing the Eagle schematic file, the
last library symbol unit parsed ends up being the field visibility and
position for all units in the symbol.
2024-06-10 11:28:20 -04:00
Wayne Stambaugh 889931505b Eagle schematic importer improvements.
Change Eagle file importer to use a two pass import.  The first pass
parses the entire Eagle file into an associated E* object.  The second
pass converts the parsed E* objects into the appropriate KiCad objects.

Improve handling of Eagle versioned libraries.

Add helpers to IO_BASE to ease handling of PROGRESS_REPORTER and REPORTER
objects.

ADDED: Support for importing Eagle schematic modules.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1813
2024-06-10 11:28:20 -04:00
Jon Evans 74517856ca Make touchscreen events Windows-only
They break things on macOS and probably also on GTK
according to the wxWidgets documentation.
2024-06-09 13:18:32 -04:00
Alex Shvartzkop 7bca6cdea7 Make crosshair follow view movement when using pan/zoom gestures. 2024-06-09 18:46:42 +03:00
jean-pierre charras b20a32f2fd bitmap_info.xxx: add comments to try to avoid issues like 8b1e971f
No actual code change
2024-06-08 20:18:11 +02:00
Alex Shvartzkop 4b96bb5d8f Support touchscreen gestures (zoom/pan/rotate) in 3D viewer.
Though rotate doesn't work yet on MSW due to a wxWidgets bug.
2024-06-08 21:13:16 +03:00
Jeff Young ed0869aa0c Share more library tree code. 2024-06-08 19:06:10 +01:00
Alex Shvartzkop 832393b07c Remove debug line. 2024-06-08 17:25:49 +03:00
Alex Shvartzkop 8f8a68229c Handle touchscreen gesture events for zoom/pan. 2024-06-08 16:00:34 +03:00
Alex Shvartzkop 8e90063258 Support hidpi in Cairo GAL canvas; performance improvements.
We now draw onto wxBitmap directly, reducing the amount of copying.
Also moves the bitmap blit into paint event handler.
Modifies ClearScreen to work universally between Cairo/OpenGL backends.
2024-06-08 12:51:27 +03:00
jean-pierre charras dc6b211227 better tool tips 2024-06-07 11:19:56 +02:00
jean-pierre charras 8b1e971f29 bitmap_info.cpp: fix a crash when opening the simulator frame.
It was due to missing bitmaps, used in simulator frame horizontal toolbar.
They were removed probably by mistake in commit 0e66adbc
2024-06-07 11:13:58 +02:00
Jon Evans 10922a194c Remove extraneous cache fill per row
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18159


(cherry picked from commit 64da49f22e)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-06-05 16:08:45 +00:00
dsa-t 34f0fb8f21 Revert "Don't reset the view controls state just because we are setting the already active tool state again"
This reverts commit e914c0c1a0

(cherry picked from commit 6b7b6fa3e3)

Co-authored-by: Mark Roszko <mark.roszko@gmail.com>
2024-06-04 18:03:41 +00:00
dsa-t ca18112041 Fix ellipse angles when importing DXF.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18121


(cherry picked from commit 044a2305e3)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-04 04:19:51 +00:00