Jeff Young
dbbdc9d2e6
Don't rely on the penWidth already being set when setting the dash style.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11908
2022-06-29 07:34:45 -06:00
Jeff Young
079d4a603a
Improve transparency handling while plotting.
...
Only SVG can actually handle transparency, but we should at least mimic
the color value of other transparent fills by blending with a (presumed)
white paper.
Fixes https://gitlab.com/kicad/code/kicad/issues/11304
2022-04-08 11:40:53 +01: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
Jeff Young
fbab335128
Retire DPOINT and DSIZE.
2022-01-20 21:10:04 +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
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Jeff Young
438c63f587
Fix outline font boundingbox issues.
2022-01-08 16:47:45 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00: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
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +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
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
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Wayne Stambaugh
6427197962
Remove duplicate headers in plot and associated code.
2021-08-17 15:41:25 -04:00
Wayne Stambaugh
8f30404e42
Plot code cleaning.
2021-08-17 13:44:11 -04:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
08e8b17029
Minor plotter code improvements.
2021-06-07 14:32:27 -04:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
7933935b4a
Naming conventions.
2020-11-16 00:04:55 +00:00
Seth Hillbrand
2a43b88115
Standardize PostScript capitalizaiton
2020-10-20 13:09:13 -07:00
Marek Roszko
1538d737e7
Split out FILL_T to its own header to avoid spreading eda_item everywhere
2020-10-14 21:51:23 -04:00
Marek Roszko
f59551d6ad
Remove painter.h from eda_text.h
2020-10-14 19:18:38 -04:00
Marek Roszko
12d21e34e2
Remove trigo.h from eda_text.h
2020-10-13 23:37:48 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
jean-pierre charras
6b958ff4e0
Move specialized plotter classes from plotter.h to specific plotter_xx.h
...
plotter.h contains now only a header common to all plotters.
The code does not actually change, but it allows modifying a specific plotter
without recompiling most of kicad files.
2020-09-27 09:54:39 +02:00
Seth Hillbrand
b650e4568b
Mirror hidden text in SVG plotter
...
We output a 0 opacity text in the SVG plotter to allow searching. When
this text is changed to 100 opacity, it can show up on the user screen
and so needs to be mirrored to match the stroke font output
Fixes https://gitlab.com/kicad/code/kicad/issues/5001
2020-07-30 06:17:37 -07:00
Jeff Young
bcea2019d4
Unify support for line width magic cookies.
...
They were added for the Gerber plotter but once there there's the
expectation by others that they'll work.
2020-05-13 17:56:47 +01:00
jean-pierre charras
18150e5769
SVG plotter: fix some issues: incorrect bitmap size and missing lines in header
...
Fixes #4256
https://gitlab.com/kicad/code/kicad/issues/4256
2020-04-24 17:19:08 +02:00
jean-pierre charras
7e0a1a16ee
SVG plotter: use %f instead of %g to print floats.
...
Looks like scientific notation is not always accepted by Inkscape.
2020-04-23 07:59:41 +02:00
Johannes Pfister
e5042a46ba
Add ability to set SVG plot units and precision
...
ADDED: Ability to set SVG to metric or imperial units
and made it possible to change the size of a step
2020-04-20 22:02:03 +00:00
Jeff Young
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
2020-04-18 21:04:41 +01:00
Ian McInerney
b8d2802cfe
Add missing cases to silence compiler warnings
2020-04-18 00:47:35 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
jean-pierre charras
d587bd5bca
SVG plotter: fix an issue with mirrored texts.
...
Mirrored texts have a size < 0.
Of course, the actual value for the plotter is the absolute value.
2020-01-09 18:07:56 +01:00
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
2019-12-28 00:55:11 +00:00
Seth Hillbrand
fa133f3f5c
Plot SVG embedded
...
ADDED: embedded image support for SVG files
Fixes #3643 | https://gitlab.com/kicad/code/kicad/issues/3643
2019-12-08 08:57:33 -08:00
jean-pierre charras
5f3353cad1
Add native Bezier curve plot in SVG plotter.
2019-11-05 14:27:07 +01:00
Seth Hillbrand
53989e3bdc
SVG: Correct plot fills for arcs/polylines
...
When plotting in Eeschema, various elements may be filled with either
the foreground or background colors. The fill mode is rather unique,
requiring un-stroked pie wedges for arcs and both closed and open filled
polylines.
Fixes: lp:1840769
* https://bugs.launchpad.net/kicad/+bug/1840769
(cherry picked from commit 213547f545
)
2019-08-20 12:03:56 -07:00
Simon Schubert
176fe80425
SVG plot: output invisible text in addition to plotting
...
Fixes: lp:1544918
* https://bugs.launchpad.net/kicad/+bug/1544918
2019-08-15 13:39:38 -07:00
Jeff Young
16cf1a4d09
Output text content as a description of the stroked path.
...
Fixes: lp:1544918
* https://bugs.launchpad.net/kicad/+bug/1544918
2019-06-28 22:18:30 +01:00
Seth Hillbrand
1a56dfe342
Plotter: Ensure group style is respected in SVG
...
Graphics Changed is cleared when setting graphics for a group but needs
to be reset when the group ends.
Fixes: lp:1830245
* https://bugs.launchpad.net/kicad/+bug/1830245
2019-05-23 09:40:35 -07:00
Jean-Samuel Reynaud
1c5cb947c1
Fix group tag for SVG plotting
...
This was previously "svg:g", but the SVG is declared with only
a "default" namespace, not an "svg:" namespace (looks like
xmlns:svg="http://www.w3.org/2000/svg " in the svg tag).
This means you cannot use svg: as a NS in the document. It's not
needed anywaY: the default is already correct.
Moreover, mismatching <svg:g> and </g> is always invalid.
2019-02-12 11:45:12 +00:00
Seth Hillbrand
b14bc1bead
svg: Use grouping
...
Uses existing grouping in SVG output. Sets schematic components as a
grouped element in SVG as well as pcbnew elements per layer.
Fixes: lp:1011754
* https://bugs.launchpad.net/kicad/+bug/1011754
2019-01-30 16:58:33 -08:00
Seth Hillbrand
37741048ce
plot: Correct a couple SVG output errors
...
Plotting to closed lines for polygons in SVG. Also correct the filled
polygon line width for non-copper zones.
Fixes: lp:1813964
* https://bugs.launchpad.net/kicad/+bug/1813964
2019-01-30 15:41:36 -08:00
Jon Evans
9c62792245
SVG Plotter: Handle edge-case arc and circle drawing
2018-03-08 22:44:26 -05:00
jean-pierre charras
5d72aebd22
Fix code after renaming files
2018-01-29 16:40:22 +01:00
jean-pierre charras
d0754acf00
Fix code after renaming files
2018-01-29 11:37:29 +01:00
jean-pierre charras
e499d337d8
rename files: update filenames in sources
2018-01-28 19:12:26 +01:00