Jeff Young
e230d5164d
Honour renderSettings' default font.
...
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
2025-07-17 09:35:21 +01:00
Jeff Young
ff0f6c448b
Performance.
2025-06-08 16:33:05 +01:00
Marek Roszko
42ccbe618d
Fix menus in pdf broken by 3dpdf changes
...
woops
2025-05-14 19:48:15 -04:00
jean-pierre charras
d3256c3430
PDF plotter: fix missing data that prevent Adobe Acrobat to open these PDF
...
(The issue is due to a recent change (Commit 0268ed6d) in code)
2025-05-14 17:31:20 +02:00
Jeff Young
a64278a12c
Honour 0-width strokes on filled shapes.
2025-05-13 18:00:09 +01:00
Jeff Young
af4d14b66c
0 width means 0 width when plotting text.
...
There's no such thing as a default line width
for text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20916
2025-05-13 17:48:58 +01:00
Marek Roszko
e30fdcb500
Write fileinput stream directly to zliboutput stream in Plot3DModel
2025-05-11 14:11:13 -04:00
Marek Roszko
0268ed6d28
Add 3d pdf functions to PDF_PLOTTER to reduce rebasing pain
2025-05-11 11:47:37 -04:00
Jeff Young
34139ae305
Push generalised sketch-mode support down into DXF_PLOTTER.
2025-05-10 17:31:59 +01:00
Jeff Young
3458534fd7
Cleanup plotting APIs.
2025-05-10 17:31:59 +01:00
Jeff Young
225b6aa2e8
Remove sketch-plot-mode support from Gerber and PS.
...
(It was never enabled for Gerber anyway.)
2025-05-10 17:31:59 +01:00
Jeff Young
88695af364
Move sketched DNP items to plot_brditems_plotter.cpp.
2025-05-10 17:31:59 +01:00
Jeff Young
c78ce373fd
Move pad-outline plotting to plot_brditems_plotter.cpp.
2025-05-10 17:31:59 +01:00
Jeff Young
c452fe9686
REMOVED: HPGL plotting.
...
Its sketch-mode greatly complicates the plotting
code and it is poorly maintained due to lack of
use.
2025-05-10 17:31:59 +01:00
jean-pierre charras
a02f1f2411
PDF plotter: fix a rare pen width issue when plotting many pages in one file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20805
2025-05-01 19:57:29 +02:00
Jeff Young
3a4ad0fb8b
Cleanup.
2025-05-01 17:02:31 +01:00
Jeff Young
1f07c28999
Fix a bunch of errors involving implied line widths in plotters.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20818
2025-05-01 16:37:08 +01:00
Jeff Young
7e046e6c8b
Remove '~' == empty_string.
...
It has long outlived its usefulness (which was
to preserve token sequence in pre-sexpr files).
This will no doubt turn up latent issues....
2025-03-19 17:16:55 +00:00
Jeff Young
f4a5404e0a
Resolve variables in hrefs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20340
2025-03-15 19:31:46 +00:00
Marek Roszko
ab6ee168cf
Convert PDF_PLOTTER to fmtlib
2025-03-08 14:29:20 -05:00
jean-pierre charras
4ef627edb9
GERBER_PLOTTER: fix missing separator (comma) after ADDxxOutlinexP
...
It was missing after commit 2cdc1ed8
2025-03-08 16:36:49 +01:00
Marek Roszko
2cdc1ed88e
Move GERBER_PLOTTER to fmtlib
2025-03-08 07:56:54 -05:00
Marek Roszko
dd4c9af265
Move HPGL_PLOTTER to fmtlib
2025-03-07 08:02:13 -05:00
Marek Roszko
a1e897c245
Move PS_plotter to fmtlib
...
Also we wrote %Page but the postscript standard wants %%Page
2025-03-07 07:05:13 -05:00
Marek Roszko
c92014f759
Move DXF_PLOTTER to fmtlib
2025-03-06 07:26:47 -05:00
Marek Roszko
086b9907c2
Convert fputs to fmt::print to get exceptions on io fail
2025-03-05 21:28:56 -05:00
Marek Roszko
237953fd55
Move SVG_PLOTTER to {fmt} to punt locale issues
2025-03-05 19:03:25 -05:00
Seth Hillbrand
4a3b33df4e
Map a full hierarchy during PDF plotting
...
Re-create the schematic hierarchy in PDF plots to ease navigation
relative to the on screen schematic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12154
2025-03-05 13:28:01 -08:00
jean-pierre charras
eaa1e6d594
Fix a collision with a Windows define and our use of the same var name.
...
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young
f951497a4f
Code brevity.
2025-03-01 21:58:31 +00:00
Daniel Treffenstädt
3768221d9c
ADDED: Support for IPC-4761 Via protection features
...
Fixes https://gitlab.com/kicad/code/kicad/-/work_items/18837
2025-03-01 18:02:54 +00:00
Jeff Young
3f15b0d75b
ADDED: hatched fills for shapes.
2025-02-24 11:08:29 +00:00
Jeff Young
a9ddcf4287
Fix positions of popup menus when plotting in mirrored mode.
...
[Resolve conflicts with JP's fix to same. I'm not sure if we support !m_mirrorIsHorizontal, but
it was in other code, so I left it in just to be
safe....]
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19717
2025-01-23 10:55:11 +00:00
jean-pierre charras
e9269e59f7
Pcbnew, PDF plot: fix property popup locations when plotting mirrored.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19717
2025-01-23 09:48:08 +01:00
Wayne Stambaugh
f161d94521
Common folder housekeeping part 2.
2025-01-14 15:25:05 -05:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Seth Hillbrand
e9bc8cfe9d
Give Clipper1 a Viking funeral
...
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Wayne Stambaugh
930407fac8
Fix PDF plotter URI issues.
...
Add 'file:' URI JavaScript handlers.
Properly convert Windows file paths to valid URI syntax.
Use expanded variables for URI menu names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14250
2024-11-04 20:05:42 -05:00
Seth Hillbrand
88df35654e
Prevent attempt at plotting invalid sheets
...
If the number does not exist in the schematic, don't attempt plotting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19039
2024-11-01 10:55:54 -07:00
Wayne Stambaugh
43c3cd57eb
Substitute variables in PDF plotter URI links and add file:// URI handler.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14250
2024-10-24 08:06:28 -04:00
Dhinesh
8851cd77ab
Fix missing text and graphics in PDFs generated by "Plot to PDF"
...
The "Plot to PDF" function was producing PDF files that lacked text and
graphic items in viewers like Adobe and Foxit. This issue was caused by
the use of the %g format specifier for floating-point numbers defined in
the PDF specification when writing text and drawing shapes in the PDF.
This incorrect format led to a "Too Few Operands" error during rendering.
To resolve this issue, all floating-point numbers must be specified in
fixed-point format according to the PDF specification wherever the issue
was generated.
Fixes #16465
2024-10-11 18:55:46 +00:00
Andrzej.W
b49ebaeb16
ADDED: Soldermask layer option for graphic shapes
...
Allows adding a soldermask opening for shapes on a copper layer.
Soldermask expansion can also be specified.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2125
2024-10-10 12:46:06 +00:00
Seth Hillbrand
6c9980fca0
Leave full path in WS Editor draw list
...
Truncating the path leads to differences between viewing ${FILEPATH} and
printing/plotting ${FILEPATH}. The variable does not appear to be used
elsewhere
2024-09-04 12:58:01 -07:00
Jeff Young
b8819b4636
Another reduction in asserts.
2024-07-19 22:11:56 +01:00
Seth Hillbrand
bf68b11ff9
Cleanup unused vars
2024-06-18 21:35:32 -07:00
Seth Hillbrand
bcf6b620a8
Large rework of BEZIER_POLY
...
Add direct handling of quadratic beziers to save compute time and number
of points. Update cubic interpolation to reduce number of points
generated for a given smoothness
Cache data on open and used cached data to avoid multiple re-calcs
Remove minimum line length and number of segments and replace with
standard max error level. Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
Jon Evans
02502342a5
Try harder to keep searchable text hidden in SVG exports
2024-06-18 12:01:15 -04:00
Seth Hillbrand
a9ae86eefd
Cleanup geometry functions
...
Added Distance(VECTOR2) function that returns a double. Removed
superfluous EuclideanNorm, GetLineLength, integer constructor for
EDA_ANGLE (this promotes to double in the CTOR), DistanceLinePoint and
HitTestPoints
Also extended the size for arc calculations that get distances to center
points to avoid overflow
2024-05-31 12:26:37 -07:00
Jeff Young
51004e42f4
Improve comments.
2024-05-28 15:37:11 +01:00
Jeff Young
e9a1c3032d
Update commenting following a bit of research into commit history.
2024-05-27 12:23:56 +01:00