Jeff Young
f2440978ec
Fix some issues with ruler drawing.
2022-02-08 15:59:48 +00:00
Jeff Young
3b5474f190
Don't punt on TrueType char thickness; analyze it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Seth Hillbrand
d0d472f39d
Hide icon option when platforms disable
...
Mac and some Linux configs disable menu icons. We shouldn't offer the
option when the system does not support this as it leads to confusion
Fixes https://gitlab.com/kicad/code/kicad/issues/10425
2022-02-07 10:28:07 -08:00
Jeff Young
5ce559176d
Overhaul the font metrics calcs for overbar, italics and bboxes.
2022-02-07 17:36:40 +00:00
jean-pierre charras
2485648a54
Fix typo in a copy/paste and a minor compil warning
2022-02-07 17:32:19 +01:00
jean-pierre charras
bc710e3d97
Rework on commit 6a9607bto fix non printable char codes
2022-02-07 12:37:36 +01:00
jean-pierre charras
a37a7aa1d5
move a misplaced include
2022-02-07 08:22:43 +01:00
Marek Roszko
1f8d101b1d
Fix color4d distance return type
2022-02-06 21:05:44 -05:00
jean-pierre charras
b042e8cc41
outline_decomposer.cpp: fix a typo from commit 0a5ddb8
...
stroke_font.cpp better fix for commit 6a9607b
2022-02-06 18:09:30 +01:00
jean-pierre charras
6a9607b76f
Fix crash when trying to draw a text with non printable chars.
...
Fixes #10772
https://gitlab.com/kicad/code/kicad/issues/10772
2022-02-06 08:34:19 +01:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Marek Roszko
0a5ddb8d40
Add some vector reservations
2022-02-05 21:12:29 -05:00
Marek Roszko
41f54349a5
Replace inserts/push_backs with emplace in some spots
2022-02-05 19:53:31 -05:00
Marek Roszko
18eda73f60
Initialize m_face in constructor PVS V730
2022-02-05 11:36:02 -05:00
jean-pierre charras
07e1278c05
fix incorrect calculation EDA_TEXT::GetTextBox() for empty texts.
...
It generates KiROUND alert.
2022-02-04 19:22:33 +01:00
Marek Roszko
ca7840334c
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
jean-pierre charras
ac7cbcce61
WX_GRID: highlight the selected cell after selection by tab or arrow keys.
...
Fixes #9290
https://gitlab.com/kicad/code/kicad/issues/9290
2022-02-04 12:36:27 +01:00
Jeff Young
7dadc9d2f0
Fix text bounding boxes.
2022-02-03 23:07:41 +00:00
Jeff Young
b9eb3e9b05
Be more explicit about string conversions.
2022-02-03 23:07:41 +00:00
Seth Hillbrand
168ad58eef
Convert strings to wide when using wxString routines
...
WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide. This can cause buffer
over/underflow
Fixes https://gitlab.com/kicad/code/kicad/issues/10605
(cherry picked from commit 7601a3385f
)
2022-02-03 13:08:33 -08:00
jean-pierre charras
ff277a36af
EDA_SHAPE::MakeEffectiveShapes(): protect against empty polygons.
...
Fixes #10713
https://gitlab.com/kicad/code/kicad/issues/10713
2022-02-02 20:40:54 +01:00
Jeff Young
0634cf261a
Don't try to move bounding box caches.
2022-02-01 21:55:09 +00:00
Seth Hillbrand
098e8f7d9b
Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
...
This reverts commit ea9f960cc1
.
Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Jeff Young
5739505aa3
TextBoxes for PCBNew.
2022-01-31 20:00:47 +00:00
Jeff Young
60bcfd1bf1
Bug fixes in arc & textbox printing.
...
Also removal of the no-longer-used clipping code from GR*.
2022-01-31 20:00:47 +00:00
Alex
4c4089e836
Allow overlay scrolling on GTK, except for GAL canvases.
...
This prevents glitches when both scrollbars
are visible and scrolling to the end.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10559
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9988
2022-01-31 18:45:47 +03:00
Roberto Fernandez Bautista
8393e02524
text boxes: remember to add the original newline characters back in!
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10665
2022-01-30 14:35:55 +00:00
Roberto Fernandez Bautista
6cf170c2c9
Text boxes: Return full word even if it doesn't fit in the column width
...
It does mean that the text now can be outside the text box, but this is
better than an infinite loop.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10668
2022-01-30 14:35:55 +00:00
Marek Roszko
7ec326c003
Fix compilation error
2022-01-28 20:19:42 -05:00
Seth Hillbrand
16e802aff4
Don't count zero-length as duplicate
...
We were checking for duplicate tracks by looking to see if the two
tracks had two shared points. A null track always matched this case,
which removed the valid track. We solve this by avoiding null tracks in
the duplicate checker. They are removed separately in the null track
stage.
This also fixes a GTK-specific tree issue where we require the
BeforeReset()/AfterReset() calls instead of Cleared() to prevent GTK
from dereferencing a parent after freeing
Fixes https://gitlab.com/kicad/code/kicad/issues/10624
(cherry picked from commit 8753051db6
)
2022-01-28 16:34:34 -08:00
Davide Gerhard
ea9f960cc1
cmake: adding KICAD_MACOSX_APP_BUNDLE option
...
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Jeff Young
0036f44e37
Support (and save/recall) zoom in/out in Custom Rules editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5796
2022-01-28 21:38:15 +00:00
Seth Hillbrand
3b87ab630e
There is one source of truth in AC
...
Don't store default values in two separate places. Passes the existing
by value as the default.
Issue identified by @axemagn
Fixes https://gitlab.com/kicad/code/kicad/issues/10221
2022-01-28 13:33:28 -08:00
jean-pierre charras
5b8eb8f9ec
SVG plotter rework: use mm as units in file. Remove useless inch option.
...
Use 4 digits in mantissa as default and when exporting SVG.
Allow 0 as line width: this is the right value to draw filled shapes with no outline thickness.
2022-01-28 19:33:51 +01:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
47603fbc76
Wx_view_controls: Allow two input devices to simultaneously pan & zoom
...
Instead of the mouse move and zoom algorithms calculating the new
position or scale values relative to a starting value, the new values
are calculated relative to the current values. This allows the user to
use a second input device to move or zoom the view at the same time
without its change being undone by the mouse.
2022-01-28 12:21:42 +00:00
Tom Keddie
8c907f1fdc
hotkeys: add missing function key strings
2022-01-27 17:20:52 +00:00
Seth Hillbrand
b87e4efc68
Add additional buffer space around cell text buttons
...
The baseline -1 buffer works for some GTK themes but not others. -3
appears to work for chunky themes like those used in KDE (and others).
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2022-01-26 12:44:11 -08:00
jean-pierre charras
810a49ef1b
Fix broken PDF plotter for arcs.
2022-01-26 20:15:17 +01:00
Wayne Stambaugh
9af365b5b3
Fix broken environment variable substitution on Windows.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10303
2022-01-26 09:24:36 -05:00
jean-pierre charras
f651e31965
Fix minor compil and Coverity warnings.
2022-01-25 12:52:13 +01:00
Wayne Stambaugh
8426ffa238
Fix wxWidgets invalid string specifier assertion.
...
(cherry picked from commit ab184ba9f3
)
2022-01-24 15:50:40 -05:00
Marek Roszko
8030bf1cc4
Implement use of the kicad nightly icon where needed
2022-01-23 09:21:07 -05:00
jean-pierre charras
1b42152ba0
Teardrops: store parameters in BOARD_DESIGN_SETTINGS.
2022-01-23 10:57:08 +01:00
Jeff Young
a187076438
Use natural order sorting for FP libraries.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10349
2022-01-22 12:16:07 +00:00
Jeff Young
de49f5090d
Formatting (and auto reduction).
2022-01-22 12:16:07 +00:00
Marek Roszko
65d4d6eada
Fix typo in comment
2022-01-22 00:07:07 -05:00
Marek Roszko
3ede5f42be
Set curl to use the Windows cert store
2022-01-21 22:09:34 -05:00
Jeff Young
09d0f6e17c
Map zone layers before checking their visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
2022-01-21 23:26:10 +00:00
Jeff Young
d5a2059c21
Error messages for zone merging.
...
Also fixes a bug where zones meeting at a point would get merged
resulting in a self-intersecting zone.
Also fixes a bug where undo would not be handled correctly when zones
could not be merged.
Fixes https://gitlab.com/kicad/code/kicad/issues/10466
2022-01-21 19:55:57 +00:00
Jeff Young
6dc8cd3f18
Add FreeType version to version info.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10393
2022-01-21 13:21:21 +00:00
jean-pierre charras
4ffea8aae4
code cleaning.
2022-01-21 14:10:26 +01:00
jean-pierre charras
0bc5cb33ed
Fix a few issues in plotting code. Fix bug in EDA_ANGLE::IsCardinal()
...
Fixes #10547
https://gitlab.com/kicad/code/kicad/issues/10547
2022-01-21 12:35:58 +01:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
Jeff Young
4eac8d7c66
Remove unit-less angles from geometry lib APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
ba3a810e55
Prefer EDA_ANGLE to naked degrees.
2022-01-20 21:10:04 +00:00
Jeff Young
4a05b36bc6
Prefer EDA_ANGLE to naked radians.
2022-01-20 21:10:04 +00:00
Jeff Young
854987f663
Remove unit-less angles from geometry manager APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
fbab335128
Retire DPOINT and DSIZE.
2022-01-20 21:10:04 +00:00
Jeff Young
67eb3116ce
Remove DPOINT from drawing sheet stuff. (Use VECTOR2D instead.)
2022-01-20 21:10:04 +00:00
Seth Hillbrand
881af75029
Always use the project directory for default save
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10478
(cherry picked from commit dd7029ea07
)
2022-01-20 11:51:45 -08:00
Seth Hillbrand
4c8f556b80
Prevent UI updates from changing zoom selection
...
The zoom selection should only change when requested by the user, not in
response to UI updates. This can cause unexpected zoom shifts when the
calculated zoom is within a range of one of the presets. It also adds
unneeded calls during the UI update cycle
Fixes https://gitlab.com/kicad/code/kicad/issues/10498
(cherry picked from commit 6810479a19
)
2022-01-20 10:10:06 -08:00
jean-pierre charras
b084115a9e
BITMAP_BASE::DrawBitmap(): fix position of the clipping area when using matrix transform.
...
Fixes #10525
https://gitlab.com/kicad/code/kicad/issues/10525
2022-01-20 16:15:39 +01:00
Jeff Young
3ba89f50ef
Maybe, just maybe, fix LibEdit arc parsing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-19 22:22:18 +00:00
Jeff Young
9d5322cfdf
Move rotation angle increments to UNIT_BINDER and EDA_ANGLE.
2022-01-19 15:15:33 +00:00
Jeff Young
0091c76a6f
Excise deci-degrees from UNIT_BINDER.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young
a808e2396b
Run font/laguage checks only on Mac.
2022-01-18 14:19:57 +00:00
Jeff Young
8445783216
Fix backwards arcs in legacy LIB_ARCs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-18 14:08:47 +00:00
Jeff Young
d4ff829c26
Trace logging for fonts.
2022-01-18 14:08:47 +00:00
jean-pierre charras
1c8ba6dafc
fix python QA tests to run with latest changes in eda_angle.h
2022-01-18 13:49:50 +01:00
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
arturo182
c07e5ca5d1
Happy New Year!
2022-01-01 14:27:22 +00:00
Wayne Stambaugh
d634b33c34
Preference dialog fixes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-31 14:59:46 -05:00
Ian McInerney
14780ab2e4
Code cleaning un kicad_curl_easy
2021-12-31 11:00:31 +00:00
Ian McInerney
0e9cfd0af2
Add missing initialization values to variables
...
Flagged by Coverity.
2021-12-30 23:42:06 +00:00
Marek Roszko
c7447f9be6
Remove UpdateUI from preferences pdf viewer option
2021-12-30 11:36:01 -05:00
Mark Roszko
44dc602d6b
Yeet wxPoint/wxSize out of PLOTTER
2021-12-29 19:02:50 +00:00
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
...
Also some clean-up and bug fixes.
2021-12-29 17:32:19 +00:00
Jeff Young
dd6cd7d184
Pull some more improvements in from rockola/kicad-strokefont.
...
This one is primarily about pushing TEXT_ATTRIBUTES in to the GAL
API, but it also includes adding EDA_ANGLE signatures to some trig
routines to ease integration.
2021-12-29 17:32:19 +00:00
Franck Bourdonnec
e3fb9f77eb
missing statement
2021-12-29 11:41:40 +00:00
Wayne Stambaugh
cc9d074a2a
Add upated UI event throttling to advanced configuration.
2021-12-28 18:17:53 -05:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Wayne Stambaugh
b5960fef38
Fix another broken tree book selection in paged dialogs.
2021-12-28 16:57:42 -05:00
Wayne Stambaugh
7b1b96c933
Fix broken tree book selection in paged dialogs.
...
This only affected the tree controls that only parented sub-pages. Do
not use the dialog ctor to select the initial page. Queuing a page
changed event to fire after the dialog is shown is the proper solution.
2021-12-28 09:43:57 -05:00
jean-pierre charras
b0bf780b80
Ensure stroke_params_lexer.h is created on all platforms (linux or msys2)
...
Probably due to an order of build commands this file was not created before use
on msys2.
2021-12-28 12:01:30 +01:00
Wayne Stambaugh
14c148cb38
Expunge update UI event handler from paged dialog object.
...
Use the book control page changing event to update any pages prior to
them being shown. When the validation fails when changing pages, the
page change is vetoed until the invalid condition is fixed by the user.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5049
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10139
2021-12-27 18:40:12 -05:00
Jeff Young
5e4a704155
Remove some more duplicated preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young
933b82495d
Use ISO 128-2 values for dashed line defaults.
2021-12-25 14:00:57 +00:00
Jeff Young
b07afad83c
Cleanup.
2021-12-24 21:21:14 +00:00
Jeff Young
03a2723b67
Improve GUI of lib item colors.
2021-12-24 21:21:11 +00:00
Jonathan Haas
24472ff9e3
Add simple implementation of FILL_T::FILLED_WITH_COLOR for SVG plotter (custom color is ignored at this point)
2021-12-24 21:21:08 +00:00
Jeff Young
09b7e0b72b
ADDED Exclude Footprint from Courtyard Requirement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9881
2021-12-24 21:10:28 +00:00
Jeff Young
d649b288a6
Swap out autoplace rotation costs for private footprint layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2291
Fixes https://gitlab.com/kicad/code/kicad/issues/5391
2021-12-24 21:10:28 +00:00
Jeff Young
fa908e1f98
Dimensions for footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8441
2021-12-24 21:10:28 +00:00
Jeff Young
b84a85f648
Cleanup dead code and stale TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
ed79f6e511
Clean up some TODOs.
2021-12-24 21:10:28 +00:00
Jeff Young
29c942816e
Reduce duplication of settings.
2021-12-24 21:10:28 +00:00
Mikolaj Wielgus
567948cb39
Restore Translators-Other section in credits
2021-12-24 20:40:32 +01:00
Jeff Young
c3552a940a
Make sure standard OK/Cancel buttons respond to current language.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young
6cec58cf75
Add field access to custom DRC rules.
...
ADDED getField() method to custom DRC rules.
2021-12-24 18:13:00 +00:00
Jeff Young
23194dbe54
User-settable high-contrast dimming factor.
...
ADDED user-settable high-contrast dimming factor.
Fixes https://gitlab.com/kicad/code/kicad/issues/6922
2021-12-24 17:38:55 +00:00
Jeff Young
af13533b42
Add show/hide controls for ERC markers.
...
ADDED show/hide controls for ERC warnings, ERC errors and ERC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-12-24 17:38:50 +00:00
Jeff Young
a6dd1bf09b
Implement Reset to Defaults for all preferences panels.
2021-12-24 17:38:39 +00:00
Jeff Young
ceceda37cc
No more long-lived parsers.
...
We've had too many bugs from improper re-initialization.
Fixes https://gitlab.com/kicad/code/kicad/issues/9429
2021-12-24 17:11:18 +00:00
Jeff Young
6c05e5d1a8
Implement user viewports.
...
ADDED popup to Appearances palette where users can define viewports
for later selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/2271
2021-12-24 17:11:14 +00:00
Jeff Young
9de62d1dd4
Promote to cell selection for spreadsheet-style paste.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9211
2021-12-24 16:29:23 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
b7e196b710
ADDED assertion constraints for user-defined DRC checks.
2021-12-24 16:13:18 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
5f37c2b247
Custom rule severities.
...
ADDED severity token to custom rule syntax. Each rule can now define
its own severity.
Fixes https://gitlab.com/kicad/code/kicad/issues/6148
2021-12-24 15:42:22 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
f1410f0240
Line styles for PCBNew shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2150
2021-12-24 12:36:59 +00:00
Jeff Young
e92efebb5f
Formatting.
2021-12-24 11:39:57 +00:00
Jeff Young
150dedbb83
Add dash-dot-dot lines for HPGL.
...
Also converts HPGL line types to fixed (rather than adaptive). Varying
the pattern to fit each segment is going to look bad most of the time,
but particularly when stroking arcs or circles where HPGL will try to
repeat it for each chord segment.
2021-12-23 23:48:01 +00:00
Jeff Young
3f64b69917
Mechanical clearance rules.
...
ADDED mechanical_clearance and mechanical_hole_clearance constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:21 +00:00
Jeff Young
a48867ea01
Solder mask integrity testing.
...
ADDED DRC test for solder mask aperture bridging copper from different
nets.
ADDED visualization of minimum web width processing for solder masks.
ADDED allow_soldermask_bridges property for footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
Fixes https://gitlab.com/kicad/code/kicad/issues/1792
2021-12-23 22:31:14 +00:00
Jeff Young
533276e6b6
Copper sliver checking.
...
ADDED DRCE_COPPER_SLIVER DRC error.
ADDED ADVANCED_CFG DRCSliverWidthTolerance and DRCSliverAngleTolerance.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:31:05 +00:00
Jeff Young
a1e3f2b188
Starved thermals DRC checking.
...
ADDED min_resolved_spokes constraint.
ADDED "Thermal relief connection to zone incomplete" violation.
Fixes https://gitlab.com/kicad/code/kicad/issues/2183
2021-12-23 22:30:42 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
28b279cb2d
Units cleanup.
...
It's 2021. Time to move beyond ASCII. This also makes spacing of
units consistent (space before abbreviated units, no space before
symbolic units).
2021-12-23 22:17:10 +00:00
Jeff Young
295a6408c3
User-configureable dash styles (and dash-dot-dot).
...
ADDED: Schematic Setup properties for dash length and gap length.
ADDED: dash-dot-dot line style
Fixes https://gitlab.com/kicad/code/kicad/issues/2206
2021-12-23 20:36:24 +00:00
Jeff Young
e26341d424
Cleanup.
2021-12-23 20:36:18 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
4b6bf3095a
Radial dimensions.
...
ADDED radial type dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/2056
2021-12-23 19:34:54 +00:00
Jeff Young
2001d08186
Add DRC tests for text height and text thickness.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8683
2021-12-23 19:18:45 +00:00
Jeff Young
f089cf44a7
Allow a 0 pin-symbol-size.
...
This is particularly important when reading legacy projects as 0 is
what signals the painter to use the old algorithm (1/2 pin name/number
size).
Fixes https://gitlab.com/kicad/code/kicad/issues/10100
2021-12-23 16:54:03 +00:00
Jeff Young
6e2460ad37
Add hot-updating of units in common wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10020
2021-12-23 16:54:03 +00:00
Mikolaj Wielgus
2ecd5ac909
Fix calculation of selection center
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9998
2021-12-16 08:13:52 +01:00
Seth Hillbrand
9e6538b9a0
Revert accidental tilde change
...
Our baseline script to generate the font seems to shift the tilde down
by half a cell. Unclear why but we shouldn't be changing the position
between versions.
Reference https://gitlab.com/kicad/code/kicad/-/issues/4396
2021-12-15 19:28:12 -08:00
Seth Hillbrand
d785a97940
Add Donate button to About dialog.
2021-12-15 10:02:01 -08:00
Seth Hillbrand
7f419e4468
Update translators
2021-12-14 13:01:10 -08:00
Alex
5bf9bd3ebb
Hotkey editor: prevent closing on Enter release
2021-12-14 19:52:24 +00:00
Jeff Young
724182abe4
Fix lib tree searches to handle searching on library names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9981
2021-12-14 15:18:48 +00:00
Wayne Stambaugh
0bfb5bab02
Fix some minor paged dialog object issues.
2021-12-14 08:15:02 -05:00
Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Jon Evans
6e51905e69
Kick wxWidgets to set column sizes the first time
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6396
2021-12-13 18:37:36 -05:00
Wayne Stambaugh
755607b8f8
Fix a few wxUpdateUIEvent retrigger loops.
2021-12-13 15:46:13 -05:00
jean-pierre charras
007b3bdbcc
Hotkeys help: fix incorrect modifiers.
...
Fixes #9951
https://gitlab.com/kicad/code/kicad/issues/9951
2021-12-13 16:29:42 +01:00
Wayne Stambaugh
e32448edc2
Center preferences dialog correctly on initialization.
2021-12-13 09:17:42 -05:00
Jeff Young
88fc6d25a7
Correctly handle deleting multiple selections in some grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Jon Evans
3cb7ca1db4
Remove manual canvas scale from GTK
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9912
2021-12-09 18:36:44 -05:00
Seth Hillbrand
70841c6393
Fix a crash bug when changing footprint name
...
Save-As to a new footprint name will cause the fp table to reload. We
were incorrectly locking the indices in a manner that did not protect
the proper index, causing lock errors that threw/crashed editor
2021-12-09 10:46:43 -08:00
Seth Hillbrand
1df765af44
Reset the read-only flag when performing Save As
...
The new location is checked for writing and so we shouldn't keep the old
flag when changing project locations
Fixes https://gitlab.com/kicad/code/kicad/issues/9904
2021-12-08 17:21:17 -08:00
Seth Hillbrand
3180764309
Don't remove converted files in local settings
...
When migrating local settings, we don't want to remove files that we
converted from as these settings will be created on demand and don't
represent the totality of user settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9905
2021-12-08 09:30:42 -08:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Seth Hillbrand
42f63b679d
Check for proper winding when creating an EDA_SHAPE
...
There is a defined order to arc points in the EDA_SHAPE. When creating
the new object, we need to check that that order is preserved on
conversion
2021-12-07 10:51:43 -08:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05:00
Jon Evans
a205595404
PROF_COUNTER -> PROF_TIMER
...
I want to add an event counter, and this one is a timer
2021-12-05 14:25:37 -05:00
Jon Evans
91359c047d
Disable migrating library tables from a previous version
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9826
2021-12-05 13:45:34 -05:00