Jeff Young
16f286735d
Cache LIB_PIN text extents for performance.
...
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.
And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.
Also reverts using the cache for drawing-sheet text. The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).
And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822
(cherry picked from commit f35a88ce0b
)
2023-06-04 21:11:06 +01:00
jean-pierre charras
dcc1009162
plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings
...
Old PLOTTER::Text is not (yet) removed, but it use negative text size
to mirrored text, which is not really compatible with some plotters (especially PDF).
Using TEXT_ATTRIBUTES is much easy and much better,
so PLOTTER::PlotText() is added.
Note: "old" PLOTTER::Text() is not removed yet.
From master, commit 51d46c0e73
2023-03-01 10:45:23 +01:00
Jeff Young
94c450ad16
Bug fixes for LIB_PIN boundbox generation.
...
(cherry picked from commit 9ce5978c3d
)
2023-02-13 10:54:55 +00:00
Jon Evans
c530bdb5a1
Rename GetSelectMenuText to GetItemDescription
...
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
PJM
76a0d4c4c0
Eeeschema: Fixed logic to display unamed pins properly
...
CHANGED: This code previously checked "m_name.IsEmpty()" to choose the
correct formatting path, but that check fails if the pin is called "~"
which is the default for an empty pin name. Instead we get the final
display string that will be shown and check if it's empty.
Fixes https://gitlab.com/kicad/code/kicad/issues/13332
2023-01-11 21:45:32 +00:00
Seth Hillbrand
a206f6717d
Desaturate the symbols in DNP for print/plot
...
The desaturation should match screen display
Fixes https://gitlab.com/kicad/code/kicad/issues/13481
2023-01-11 13:44:08 -08:00
Jeff Young
f33b158696
Honour 0-size pin names & numbers when printing and plotting.
2022-11-03 17:19:59 +00:00
Jeff Young
a072c22b74
Show pin hidden state in menu text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5625
2022-10-24 11:35:45 +01:00
Jeff Young
cef7cd8f7c
Move default font to RENDER_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Jeff Young
fb80f83335
Formatting.
2022-09-27 11:12:58 +01:00
Alex
58b03b0a1c
Small optimizations.
2022-09-22 17:22:04 +00:00
jean-pierre charras
78087597cd
Avoid including plotters/plotter.h in many files.
...
It avoid a large rebuild when modifying the plot code.
2022-09-21 08:52:34 +02:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Marek Roszko
61e11d6896
Strip out Mils2Iu
2022-09-16 21:09:27 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Seth Hillbrand
524b129c64
ADDED: Support for explicit DNP field
...
Dims elements shown as DNP. Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Wayne Stambaugh
26e7261b20
Eeschema: fix schematic symbol library cache refresh bug.
...
Please note that this changes the LIB_PIN object name comparison from case
insensitive to case sensitive.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12342
2022-09-09 13:30:34 -04:00
Jeff Young
6f5281258e
Separate text-thickness clamping into strict and lenient modes.
...
We used to use the bold setting, but since PCBNew allows you to
directly define the width you end up with settings in between normal
and bold that get clamped to the normal max.
Fixes https://gitlab.com/kicad/code/kicad/issues/12367
2022-09-08 00:28:30 +01:00
Jeff Young
ebe9617e77
More EDA_RECT expungification, and an attempt to fix the python test.
2022-08-31 17:19:48 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Jeff Young
3def3d659e
Allow click-selection and greedy-drag selection of visible pin text.
...
Stingy drag still works only on the pin itself.
Fixes https://gitlab.com/kicad/code/kicad/issues/11723
2022-07-23 23:27:14 +01:00
Mike Williams
e454595348
Eeschema: Changing pin length adjusts offset according to orientation
...
ADDED: When pin length is changed now, the pin position is adjusted
according to its orientation such that the connection point for wires
moves instead of the other side of the stem base. For pins coming out of
component boxes, etc. this keeps them attached to the box while the
length is changed.
2022-07-11 13:58:06 -04:00
Jeff Young
62cef3d830
Add LAYER_PRIVATE_NOTES for private text & graphics in symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11957
2022-07-08 17:27:05 -06:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
Jeff Young
76535d8572
Make LIB_ITEM::COMPARE_FLAGS really a flags field, and add ERC.
...
Before they were 1/2 treated as flags and 1/2 treated as a mode enum.
The ERC flag relaxes constraints on data that is settable in the
schematic editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/11018
2022-03-03 13:27:18 +00:00
Jeff Young
79ad15b4fa
Fix copy/pasta.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11005
2022-03-01 14:59:29 +00:00
jean-pierre charras
7e6829e834
Fix minor compil warnings
2022-02-12 11:43:38 +01:00
Jeff Young
082c6f5bd6
Make sure plotter uses default font when specified.
2022-02-10 20:33:06 +00:00
Jeff Young
f11b8011cd
Separate plotting into background and foreground.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10390
2022-02-10 20:33:06 +00:00
Jeff Young
aedfe08bad
Show pin dangling symbols in Symbol Editor.
...
Even though we don't have connections they're a still a good visual
indication of which end of the pin is which.
Fixes https://gitlab.com/kicad/code/kicad/issues/10742
2022-02-06 19:43:25 +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
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +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
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
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05: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
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Jeff Young
3b04fc7dca
Use real text measurement for pin bounding boxes.
2021-12-24 21:10:28 +00:00
Jeff Young
8b52e969d6
Restore units to a bunch of wxGrids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10063
2021-12-23 16:54:03 +00:00
Jeff Young
653c7b78d7
Move NC pin logic so we set it before we need it.
...
Also fixes drawing the dangling symbol in the Pin Properties dialog
and when printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9962
2021-12-12 22:25:36 +00:00
Jeff Young
18d8053a6c
Fix an arithmetic precedence order bug and fine tune autoplacement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9345
2021-11-17 00:49:42 +00:00
Jeff Young
e14864b35c
Invert Y axis for pin root bounding box.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9465
2021-10-27 01:44:15 +01:00