Commit Graph

39294 Commits

Author SHA1 Message Date
Alex Shvartzkop 024622b0f6 SVG import: skip invisible shapes. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 2c07866fff NanoSVG: update image size to the actual size after scaling. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 892761920a FOOTPRINT::AutoPositionFields: reset justification and angle as well. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop ebbc5fd4cb Remove unused method in kicad_manager_control.h. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 05a8e59884 Move wxString and std::optional JSON serializers to core header. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 5b438d6398 Optimize makeEffectiveShapes for polygons. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop f211b2cdd0 Remove unused method from router_tool.h 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 1b8abdfde7 ADDED: Basic STEP manipulation utils available to Python. 2023-09-07 10:57:02 +03:00
Alex Shvartzkop 52feb38fd1 Add map_helpers.h 2023-09-07 10:57:02 +03:00
jean-pierre charras ecd8c7e2cc Fix a compil issue (in sch_altium_plugin.cpp) and compil warnings. 2023-09-07 08:53:30 +02:00
Marek Roszko e665cbac20 Delete line with weird comment because its weird
We should fix it for reals
2023-09-06 23:45:48 -04:00
Marek Roszko e944a61830 Nothing but the pcb calc will use eseries for the forseeable future 2023-09-06 23:44:41 -04:00
Marek Roszko 96bec8c553 promote base64.cpp to core 2023-09-06 23:27:08 -04:00
Marek Roszko 72669df354 Kick out strtok_r, all our platforms should have it (or strtok_s) 2023-09-06 23:18:55 -04:00
Marek Roszko f45d61ef18 OUTLINE_FONT does not need Pgm() or settings or EDA_TEXT 2023-09-06 22:12:59 -04:00
Marek Roszko 19db0f943f Restore gal recursive link to common 2023-09-06 21:59:01 -04:00
Alex Shvartzkop 9457e794fe Fix SCH_BITMAP::ReadImageFile( wxMemoryBuffer& ). 2023-09-07 04:48:59 +03:00
Alex Shvartzkop 69261df022 Add SCH_BITMAP::ReadImageFile( wxMemoryBuffer& ). 2023-09-07 04:45:40 +03:00
Marek Roszko 10c495952e Snip 2 useless includes in transform.cpp 2023-09-06 21:34:02 -04:00
Marek Roszko 5c62b98e7c observable can live in core 2023-09-06 21:25:24 -04:00
Marek Roszko 81c069c1a3 Lets see if any platform barfs dropping gal's link to common 2023-09-06 20:33:51 -04:00
Marek Roszko 454c5e8eca 3d-viewer should depend on common directly 2023-09-06 20:33:28 -04:00
Marek Roszko 67b031adab Painter base class should just live in gal instead of being in denial 2023-09-06 20:23:19 -04:00
Marek Roszko a6a20bf8dc Evict the Pgm() dependency in GAL 2023-09-06 20:13:46 -04:00
Josue Huaroto cef0f176d3
Add Unselect all in menu 2023-09-06 23:44:39 +00:00
Marek Roszko a7a642e090 Remove one errant gal dependency on python 2023-09-06 18:41:13 -04:00
Marek Roszko 8bcc4e52aa Fix build due to gdicmn removal
My VS build state is in psuedo-outerspace mode atm that this worked before this haha
2023-09-06 18:40:15 -04:00
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
John Beard 3c5052c1ac Add snaps to pad hole edges
This is often useful when measuring the distance from an
object to a pad hole edge, and also when dimensioning
holes.
2023-09-06 21:34:17 +01:00
John Beard 78c8de9b08 Fix oval pad snapping
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.

Also adds "extremum points" when the oval isn't exactly H/V.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Seth Hillbrand 08ffb17489 Only allow parameters for the full lib part in Altium 2023-09-06 19:15:35 +00:00
Seth Hillbrand 25a60fac54 Altium fixes
- Designators and Parameters are shared by all display modes, so don't
  try to extract one, just place the elements on them all
2023-09-06 19:15:35 +00:00
Seth Hillbrand 468beb5a05 Handle font sizes in Altium libs 2023-09-06 19:15:35 +00:00
Seth Hillbrand 893ebdd016 Adding additional Altium features
- Allow pins to be hidden
- Force backgrounds that overlap items to be in the background
- Include footprint information from Altium libraries
- Handle ellipses more intelligently
- Altium hairline treated as 1mil line (not 100nm)
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1555b207a8 Add PIN_NAME and PIN_NUM to the layer ordering
This ensures that pin names/numbers are shown above the graphics
2023-09-06 19:15:35 +00:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 3bd745ee15 Add support for Altium ellipses
Not really ellipses but instead, use two arcs to simulate
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1662f6aad6 Speed up footprint loading by caching
Store the COMPOUND_FILEs in a map referenced to the library name.  This
keeps the COMPOUND_FILE cache in memory rather than regenerating it each
time
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1b63d11adf Speed up Altium compound file reader
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand b8b2498e0c Add support for fp cutouts in Altium libs 2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00:00
Seth Hillbrand cb3c712a9c ADDED: memberOfSheet() design rule function
Footprints that are a member of a specific sheet may be assigned
distinct rules, allowing users to group their rules based on sheet
layout
2023-09-06 19:14:00 +00:00
Seth Hillbrand f9b745f3d2 Allow multiple format image saving
- Keep original image data.  When loading JPEG, this avoid recompression
  that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand 0e382669d0 ADDED: Support for saving JPEG files in kicad_pcb
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
jean-pierre charras efdead2008 Gerbview: added (in Layers Manager) a new setting to adjust draw offset
and rotation of the active layer. This is a draw option only.
2023-09-06 20:08:45 +02:00
Seth Hillbrand 2be87e4527 Fix Portuguese(Brasil) translation naming
On case-sensitive systems, the country code needs to be capitalized for
the language to be correctly identified between two dialects.  Since
`br` was not capitalized, we fell back on european portuguese for Linux
and MacOS

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15592
2023-09-06 10:19:48 -07:00
Jeff Young 6a73f48106 Disable previews when context menu active and when scrolling. 2023-09-06 16:23:13 +01:00
Jeff Young c07e9c834f Validate new footprint / save as footprint info before exiting dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Jeff Young 7a2a2e2df0 Remove error-prone SetReporter() API. 2023-09-06 11:37:50 +01:00