Jon Evans
e1ffd956e6
Try harder to keep searchable text hidden in SVG exports
2024-06-18 11:59:46 -04:00
Alex Shvartzkop
bac0820864
Improve moving, rendering and plotting of very small angle arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17110
(cherry picked from commit b905b4eac8
)
2024-04-02 21:41:09 +00:00
Alex Shvartzkop
6df17bba99
Fix rendering/plotting of arcs with tiny angle and huge radius.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17343
(cherry picked from commit 4d66a8ebdb
)
2024-03-15 01:17:50 +03:00
Jeff Young
af3654d389
Reset penWidth before stroking.
...
(PlotPoly will have set it to "1".)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17218
(cherry picked from commit f22f5f47cb
)
2024-03-14 18:07:53 +00:00
jean-pierre charras
985c3ad92a
GERBER_PLOTTER, round-rect aperture: ensure primitives have non null size.
...
for round-rect pads with a radius = 50% of the smaller dim, one of primitives
used to create the shape can have a 0 size.
Ensure a min size >= 10 nm (It should not create a actual change)
2024-02-29 18:07:02 +01:00
Alex Shvartzkop
82a0227c20
Don't plot polygon borders when they are disabled.
2024-01-15 22:35:35 +03:00
jean-pierre charras
3626a9e4cc
SVG_PLOTTER: Update brush color also when the alpha value has changed.
...
Previously, the alpha value change was not tested, so the SVG style was
not always updated.
Fixes #16530
https://gitlab.com/kicad/code/kicad/-/issues/16530
2024-01-06 09:11:40 +01:00
Alex Shvartzkop
9c2c291255
Gerber plotter: work around CAM350 circle bug.
2023-12-05 15:33:55 +03:00
jean-pierre charras
0b1cb0e19d
Gerber plotter: do not skip not filled polygons with a 0 line thickness.
...
It is legal in Gerber files, although lines with thickness = 0 are not
displayed by some viewers.
2023-12-04 17:49:01 +01:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Alex Shvartzkop
dc9df9517d
PDF plot: match mirror state between hidden and plotted text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16066
(cherry-picked from commit 31e79ef54f
)
2023-11-12 01:28:03 +03:00
Wayne Stambaugh
50ec069a01
Fix build warnings.
2023-10-12 10:10:09 -04:00
Alex Shvartzkop
b0f4adf052
Improve borderless items logic in schematic plotting.
2023-10-12 08:40:37 +03:00
Alex Shvartzkop
d9c123b1ec
HPGL plotting: write rects as polygons to prevent always filling.
2023-10-12 06:11:12 +03:00
Alex Shvartzkop
45791ff8d6
HPGL plotting: fix random lines connecting to circles.
2023-10-12 06:11:12 +03:00
Alex Shvartzkop
4c0a75cbd4
Fix an assert in HPGL plotter.
2023-10-12 06:11:11 +03:00
Alex Shvartzkop
3e82e59c24
DXF plotting: write zero-sized rects and circles as points.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
Alex Shvartzkop
843bd4f79c
PDF plotting: fix zero-sized or too thick rectangles.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15862
2023-10-12 06:11:11 +03:00
jean-pierre charras
37df47a3e7
genDrillMapFile: reduce the pen width used to plot oval shapes (better look)
2023-10-04 15:47:47 +02:00
jean-pierre charras
23e064aaaf
fix buf in PLOTTER::sketchOval()
...
(incorrect parameters to plot arcs).
Fixes #15816
https://gitlab.com/kicad/code/kicad/-/issues/15816
2023-10-03 19:39:21 +02:00
Marek Roszko
a347aa7647
StartPlot can fail and leave a broken file handle
...
Related https://gitlab.com/kicad/code/kicad/-/issues/15782
2023-09-29 19:52:21 -04:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
96bec8c553
promote base64.cpp to core
2023-09-06 23:27:08 -04:00
Alex Shvartzkop
0317a1f687
Fix arcs in gerber export once again.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15559
2023-09-02 00:00:34 +03:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Alex Shvartzkop
865fa10fb2
Fix pad arcs in Gerber plot when aperture macros are disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15452
2023-08-19 22:49:37 +03:00
Alex Shvartzkop
556120554e
SVG plotter: fix hidden text orientation when plot is mirrored.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15422
2023-08-16 10:43:24 +03:00
Jeff Young
60f0db09aa
Make sure text gets rendered in correct colour.
2023-08-07 21:44:04 +01:00
Jeff Young
f43b90b15f
Lazy context handling for SVG plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15325
2023-08-07 14:01:58 +01:00
Alex Shvartzkop
717ee350c8
Support >180 deg arcs in schematic.
2023-08-07 14:18:38 +03:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
Seth Hillbrand
e71422d2cf
Avoid bulking drawing sheet polygons
...
On the drawing sheet, the polygons are always filled and shouldn't have
additional stroking
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15242
2023-07-21 11:22:32 -07:00
jean-pierre charras
34e9de72ae
fix a compil warning (shadowed var)
2023-07-13 07:46:08 +02:00
Alex Shvartzkop
2689037bde
PDF plotting: support bitmaps with transparency.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5979
2023-07-07 23:29:46 +05:00
jean-pierre charras
88ffcec4b5
Plotters (especially DXF) add more precision when plotting arcs (and others)
...
- in DXF coordinates were using 6 digits for coordinate mantissa: this is not
enough for coord in inches. Now use 16 digits
- Arc( VECTOR2I& aCentre, EDA_ANGLE& aStartAngle, EDA_ANGLE& aEndAngle, ...)
was using integers for coord. This creates significant errors for start point
and end points of the arc. Now the center is given in double, and its position
is calculated from angle end points (and radius) to do not generate a position error
for these end points (previously the error could be 20 ... 50 nm)
Fixes #15056
https://gitlab.com/kicad/code/kicad/-/issues/15056
2023-07-06 18:09:38 +02:00
Alex Shvartzkop
afe176abe2
Optimize PDF plot data size for property popups; fix unicode escape.
...
Adds a document-level action JSInit, which defines ShM function,
allowing more compact data representation. Also reduces whitespaces.
2023-07-04 08:57:29 +03:00
Alex Shvartzkop
698fffb128
PDF plotting: Fix "Show Page" in Foxit PDF Reader.
...
pageNum is an Integer. Acrobat seems to convert automatically.
2023-07-03 09:13:37 +03:00
Alex Shvartzkop
0d7b4bbb09
Blend transparent images with background color in PDF plotter.
2023-07-03 02:15:05 +03:00
Jeff Young
782c73300b
Move drawing sheet datastructures to EDA_IU_SCALE.
...
Or mostly, at least. Plotters still define their own mils-to-iu scale.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14934
2023-06-12 22:34:25 +01:00
Jeff Young
5875f89531
Centralize text size clamping.
...
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Marek Roszko
ea077bc34d
Banish ignore.h to core
2023-04-18 22:44:04 -04:00
Nimish Telang
51e55dd750
Convert sprintf to snprintf in most files
2023-04-17 15:39:34 +00:00
jean-pierre charras
7aace908e1
Gerber plotter: fix incorrect arcs in regions when using a plot offset.
...
The arc center in Gerber units was incorrectly calculated.
Fixes #14402
https://gitlab.com/kicad/code/kicad/issues/14402
2023-03-24 11:25:25 +01:00
Jeff Young
0fb1ccff21
Commenting and formatting. No functional changes.
2023-03-13 18:29:55 +00:00
Seth Hillbrand
d405fff1d8
Correct alpha blending in PDF plot
...
We fake the alpha channel by pre-multiplying but we forgot to account
for the downscaling of the input channel value in addition to correcting
the alpha * white. This led to clipping when the values overflowed
Fixes https://gitlab.com/kicad/code/kicad/issues/14238
2023-03-10 09:00:12 -08:00
Salvador E. Tropea
a6b1a09edf
Fix rounding errors in gerber files
...
The userToDeviceCoordinates helper returns a VECTOR2D
Converting it to VECTOR2I back and forth is a bug and generates rounding errors
Cherry picked from stable branch
2023-02-28 20:27:16 +01:00
jean-pierre charras
51d46c0e73
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.
2023-02-26 14:44:53 +01:00
jean-pierre charras
ece34e1a0c
Plot Gerber format: ensure all attributes are added to polygon items.
...
Especially, TA.AperFunction,EtchedComponent for net tie footprints using polygons.
2023-02-25 19:06:46 +01:00