Jeff Young
b828355206
A bit more angle cleanup.
2022-01-18 09:48:24 +00:00
Jeff Young
e37ca2f757
Remove dead code.
2022-01-18 01:40:03 +00:00
Jeff Young
8c246a761d
Move EDA_ANGLE from int to double.
2022-01-17 20:57:54 +00:00
Thomas Pointhuber
5aff3ef949
altium: First prototype to parse tracks of a footprint
2022-01-17 19:54:28 +01:00
Thomas Pointhuber
0129e49b79
altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place
2022-01-17 19:54:26 +01:00
Thomas Pointhuber
2cc9517cfd
altium: Allow extraction of names of footprints stored in *.PcbLib file
...
See: https://gitlab.com/kicad/code/kicad/-/issues/10274
2022-01-17 19:51:51 +01:00
Thomas Pointhuber
c6504628f0
altium: Fix Compound File Reader which returned wrong entries
...
It was possible that we confuse multiple files with the same name. This should not be that relevant for board and schematic import, but is important for library import!
2022-01-17 19:51:51 +01:00
jean-pierre charras
8d5eba7649
DRAWING_SHEET_PARSER: fix missing parse of "T_comment" case for DS_DATA_ITEM_BITMAP.
...
Fixes #10477
https://gitlab.com/kicad/code/kicad/issues/10477
2022-01-17 18:02:44 +01:00
Scott Candey
23fdbe4b21
Common: Corrects Mac OS text navigation shortcuts in Scintilla
...
Ctrl-A moves cursor to beginning of current line in text box.
Ctrl-E moves cursor to the end of the line.
This change makes navigation in Scintilla text boxes consistent
with other text boxes in KiCad.
Fixes https://gitlab.com/kicad/code/kicad/issues/9996
2022-01-17 14:31:06 +00:00
Jeff Young
2defd8d911
Move show-bounding-boxes to a tool on the toolbars.
2022-01-17 11:56:40 +00:00
jean-pierre charras
1f2d1528cb
LSET::SeqStackupBottom2Top(): add missing user layers to list of layers
...
These missing layers were not exported in export SVG.
2022-01-17 10:54:19 +01:00
Jeff Young
5cc3368b14
Fix bounding boxes and hittesting for arcs in eeschema.
2022-01-16 23:54:59 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
1539fa5af2
Move SHAPE_ARC to EDA_ANGLE.
2022-01-16 01:19:45 +00:00
Ola Rinta-Koski
da65fe0469
Font outline decomposition fixes
2022-01-15 12:51:09 +00:00
Marek Roszko
8fe16690b7
Add array deleter
2022-01-14 22:04:47 -05:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Seth Hillbrand
22a77d3556
Move EDA_ANGLE to KiMath lib
...
KiMath should only depend on itself not on other elements in the tree
2022-01-14 17:12:24 -08:00
Seth Hillbrand
de006fc010
Fix transparent circle printing
...
DrawEllipse seems to work fine using transparent bg for all DCs except
printing (which is the only one we use now) Use two arcs to draw a
transparent fill for the circle instead as a workaround until we
implement Cairo printing
Fixes https://gitlab.com/kicad/code/kicad/issues/10431
(cherry picked from commit cccdac136f
)
2022-01-14 16:13:35 -08:00
Seth Hillbrand
728ca8265f
Print fonts as polygons, not triangles
...
Similar to plotting, print engines are probably happier dealing with
filled polygons than hundreds of triangles
2022-01-14 09:18:42 -08:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
abd3f5bc2b
Move footprints to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
70ad554343
Coverity fixes.
2022-01-14 16:08:18 +00:00
Jeff Young
d485eb2514
Move pads to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
jean-pierre charras
431560a46b
EDA_SHAPE::SwapShape() : add missing items to the swap list.
...
Some items (color, fill) were missing in list, so the undo/redo was incorrect
2022-01-14 09:40:15 +01:00
Seth Hillbrand
e7d0318fb2
Plot fonts in outline mode, not triangulated
...
Putting 1,000s of tiny triangles on a gerber file will cause mfg fits.
Instead, we use easy outline plotting for plots and triangulation for
everything else.
2022-01-13 17:04:14 -08:00
jean-pierre charras
d0f2c20235
Define our kicad font name only once, and do not translate it.
...
Especially using a translated name breaks kicad config and files because
in non English languages both translated and not translated names were used in code.
2022-01-13 14:32:55 +01:00
dana
8373180cbb
Handle Unicode clipboard data in pcbnew and symbol editor
...
Fixes #10323
2022-01-12 17:15:47 +00:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
0aca35bcab
Eeschema, plot: fix missing initialization that created 0 size texts.
...
0 sized texts are hard to read
2022-01-11 20:47:16 +01:00
Seth Hillbrand
7ef8843545
Assign font if null
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10370
2022-01-11 11:05:38 -08:00
jean-pierre charras
083193c3d4
Eeschema, print: fix missing initialization that created 0 size texts.
2022-01-11 18:16:23 +01:00
Jeff Young
33338aa0f2
Formatting.
2022-01-11 14:34:16 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Marek Roszko
fcfe42d67c
Continue the war on wxPoint
2022-01-10 19:52:26 -05:00
Jeff Young
cdb411bb14
Fix issue with hotkeys getting overridden by non-running Kifaces.
2022-01-10 23:41:56 +00:00
Ola Rinta-Koski
dcab2833b8
PEGTL 2.x->3.x
2022-01-10 23:22:23 +00:00
Seth Hillbrand
d5faac7614
Better fix for missing end segment
...
Rather than skipping our endEdit() call in libedit, we need to
parameterize whether we want the shape open/closed. Closed will remove
the last segment if it lands on the first point. We don't want that
but we do want to remove the last point if it duplicates the second to
last (in the case of double-clicking)
Fixes https://gitlab.com/kicad/code/kicad/issues/10334
(cherry picked from commit 55020c2b89
)
2022-01-10 13:39:39 -08:00
Jeff Young
21790fcab7
Fix a pair of dereference-freed-pointers in DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10335
2022-01-10 21:06:03 +00:00
Jeff Young
73a2984963
Fixes for rotated footprint text.
2022-01-10 15:30:19 +00:00
Jeff Young
236feeb592
Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
...
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 14:17:11 +00:00
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young
76368af7b9
Font cleanup and bug fixes.
2022-01-09 18:33:53 +00:00
Jeff Young
7e18256386
Performance optimizations for building the stroke font.
2022-01-09 15:47:08 +00:00
Jeff Young
78cac128b7
Careful: symbol fonts have no language.
...
Also a bit of clean up to shut up a false-positive in Coverity (and
clangd) on dereferencing a possibly (not) nullptr.
2022-01-09 11:34:20 +00:00
Jeff Young
a170d3f006
Commenting.
2022-01-09 11:34:20 +00:00
Jeff Young
a4349ae638
Cleanup and error reporting for fonts.
2022-01-09 11:34:20 +00:00
Mikolaj Wielgus
a42f33414e
Update contributor name
2022-01-09 09:22:41 +01:00
Jeff Young
6242b40cde
Supported language filtering for fonts.
...
If the language isn't supported by the system, no point showing the
user the fonts.
2022-01-08 22:02:17 +00:00
Jeff Young
c5eb77d765
Fix second case of font name mismatch.
2022-01-08 20:11:37 +00:00
Marek Roszko
263513b8cf
Fix default font name check
2022-01-08 14:37:50 -05:00
Jeff Young
05cfdd3907
Supply a text size & thickness for GAL::StrokeText
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10226
2022-01-08 16:47:45 +00:00
Jeff Young
04c76f10e9
Performance enhancements for fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
438c63f587
Fix outline font boundingbox issues.
2022-01-08 16:47:45 +00:00
Jeff Young
aef2a3fca4
Default font for eeschema.
2022-01-08 16:47:45 +00:00
Jeff Young
eb58d7e44c
Text glyph caches and bug fixes.
...
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
5b7198dfc8
Fixes as per @sethhillbrand's comments
2022-01-08 16:47:45 +00:00
Jeff Young
383beeba8e
Fix font name that shouldn't be translated.
2022-01-08 16:47:45 +00:00
Jeff Young
72340fcee2
Implement router and DRC collisions for outline fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
a2030a5956
GUI for font selection.
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
72b69e8d7f
File format changes for fonts.
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
9b406c1da4
Outline font support.
2022-01-08 16:47:45 +00:00
jean-pierre charras
9c29cc945c
prepare teardrops, round 2
2022-01-08 16:56:41 +01:00
jean-pierre charras
563e8817a2
Fix a compil issue.
2022-01-08 08:10:18 +01:00
Seth Hillbrand
c72593ca01
Printing multiple bitmaps
...
A long-standing issue with multiple workarounds
(https://gitlab.com/kicad/code/kicad/-/issues/1877 ) prevented eeschema
printouts with multiple images or images in both the worksheet and the
schematic.
We worked around this by ordering the bitmap printing to be the first
step in the printing process. This partially worked but didn't get
everything correct. The primary difficulty in debugging this was that
the wxPrintPreview that we generate looked correct. Only the actual
printout was incorrect.
The fix is to explicitly clip bitmap drawing to the bitmap area,
regardless of how large the bitmap is.
(cherry picked from commit 69469b254a
)
2022-01-07 17:22:16 -08:00
Seth Hillbrand
26c0a78947
Plot pads in layer color
...
v6 pads are not allowed to be a different color from the rest of the
copper layer, so don't query the GAL layer for a color
Fixes https://gitlab.com/kicad/code/kicad/issues/10293
(cherry picked from commit bfca928900
)
2022-01-07 08:56:22 -08:00
Seth Hillbrand
ac9693bb8d
Safely sort view layers
...
Changing view order of only some layers can cause overwriting of the
original layer if not pre-staged
Fixes https://gitlab.com/kicad/code/kicad/issues/10283
(cherry picked from commit 3e6bf7814b
)
2022-01-06 14:41:51 -08:00
Brian Mayton
e4f73c8dc9
Add ORANGE to DXF output
...
Matches the schematic color options to DXF layers
Fixes https://gitlab.com/kicad/code/kicad/issues/10281
Signed-off-by: Seth Hillbrand <seth@kipro-pcb.com>
(cherry picked from commit d014f0307b
)
2022-01-06 11:06:31 -08:00
Seth Hillbrand
b01715dd22
Fix crash in SVG plot
...
NULL fonts need to be assigned a default.
KSC internal ticket #459
2022-01-05 17:26:18 -08:00
Seth Hillbrand
c340760eaa
Prevent unneeded fallback
...
Starting in be8327bd54
, we assume that all
exceptions in DoRePaint() are caused by OpenGL. But many calls in
UpdateItems() will throw if there are internal errors such as
std::out_of_range. Here, we catch those errors and simply skip ahead
rather than falling back to Cairo
(cherry picked from commit 444801ada6
)
2022-01-05 13:47:43 -08:00
Marek Roszko
726d873c53
Tear down the wxPoint trigo helpers
2022-01-04 21:23:11 -05:00
jean-pierre charras
2bfff9d4ce
Fix crash when trying tp draw a text with over-bar.
...
(missing initialization of a pointer)
Fixes #10252
https://gitlab.com/kicad/code/kicad/issues/10252
2022-01-04 18:18:34 +01:00
Jeff Young
cbd665db7b
Remove markup_parser from headers so PEGTL doesn't leak windows.h.
2022-01-04 12:20:18 +00:00
Marek Roszko
38a25fbc4d
Fix windows compile error
...
pegtl.hpp is dumb and leaks windows.h which then causes #define conflicts
2022-01-04 00:49:29 -05:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Jeff Young
8e4a4306c7
Go back to using inter-character spacing from the stroke font.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1078
2022-01-04 00:46:08 +00:00
Wayne Stambaugh
ff38853886
Make footprint and symbol editors use MRU path for new libraries.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10216
2022-01-03 18:02:41 -05:00
Jeff Young
f40f516af6
KiCad Manager doesn't implement Kiface().
...
Fixes crash bug from Help > List Hotkeys in Kicad Manager.
2022-01-03 22:24:44 +00:00
Jeff Young
e21fa31f64
Rip out rest of macHack architecture.
2022-01-03 22:09:56 +00:00
Jeff Young
2fdbc41b8f
Remove macHack.
...
Either the recently added size-event works better than the version I
originally tried or it's simply no longer needed in wxWidgets 3.1.
In any case, I can't reproduce the wxGrid layout errors anymore.
2022-01-03 18:24:26 +00:00
Mike Williams
404659d275
Gerbview: Fix diff mode issues with OpenGL transparency
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10121
2022-01-02 23:15:36 +00:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
Marek Roszko
ec83537576
Fix missing win32 header
2022-01-02 13:07:56 -05:00
Jon Evans
59be6a8d19
Load local settings even when not setting project active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10179
(cherry picked from commit 0065036899
)
2022-01-02 12:40:49 -05:00
jean-pierre charras
c4af66f6d3
Fix compil issues on Windows+msys2
...
Probably some fixes also on other platforms
2022-01-02 18:32:39 +01:00
Jeff Young
0365c6bf4b
Coverity fixes.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
Jeff Young
e41a4d406a
Cherry-pick MARKUP_PARSER from rockola/kicad-strokefont.
2022-01-02 14:57:03 +00:00
jean-pierre charras
797de9d327
Fix some issues (but not all) in qa tests for eeschema
...
The main fix is for errors in SCH_TEXT and derived:
qa test expects 4 rotations is an identity transform:
This is false if the item has autoplaced fields.
The fix clears autoplaced flags.
2022-01-02 14:54:27 +01:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Jeff Young
27d8df1122
Don't update units for UNSCALED, PERCENT or DEGREES.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2022-01-01 20:46:45 +00:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00