Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2 years ago
Jeff Young
bc108023b3
ADDED operating point overlay for SCH_EDIT_FRAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
3 years ago
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
3 years ago
Jeff Young
60bcfd1bf1
Bug fixes in arc & textbox printing.
Also removal of the no-longer-used clipping code from GR*.
4 years ago
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
4 years ago
jean-pierre charras
083193c3d4
Eeschema, print: fix missing initialization that created 0 size texts.
4 years ago
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
4 years ago
Jeff Young
7d032f9c2f
Outline font rendering for Cairo, plotter, printer and 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
4 years ago
Jeff Young
438c63f587
Fix outline font boundingbox issues.
4 years ago
Seth Hillbrand
b01715dd22
Fix crash in SVG plot
NULL fonts need to be assigned a default.
KSC internal ticket #459
4 years ago
Jeff Young
89c0f8e297
Move to new font engine.
4 years ago
Mark Roszko
44dc602d6b
Yeet wxPoint/wxSize out of PLOTTER
4 years ago
Jeff Young
ccb94fd1a7
APIs for passing KIFONT::FONT pointers around.
Also some clean-up and bug fixes.
4 years ago
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
4 years ago
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
4 years ago
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
4 years ago
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
4 years ago
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
4 years ago
Wayne Stambaugh
08e8b17029
Minor plotter code improvements.
5 years ago
Jonathan Haas
55679be2e3
Fix some typos across the codebase
5 years ago
jean-pierre charras
953279ce70
Gerber plot: fix missing AperFunction attribute for texts.
Fix also a incorrect AperFunction attribute for graphic items on Edge.Cuts
in footprints
5 years ago
Jeff Young
63a54d003e
More module -> footprint.
5 years ago
jean-pierre charras
87a220b8e2
more cleanup about removing useless include
5 years ago
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.
6 years ago
Jeff Young
301ac3461c
Fix some more pen width issues from global removal.
Fixes https://gitlab.com/kicad/code/kicad/issues/4408
6 years ago
Jeff Young
2b6089240a
Change super/subscript syntax to ^{foo} and _{foo}.
6 years ago
Jeff Young
9c8941e040
Remove a bunch of globals.
6 years ago
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
6 years ago
Jeff Young
5e5edd03f6
Implement super- and subscript printing and plotting for eeschema.
6 years ago
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
6 years ago
Jeff Young
6bf1ac45e3
New selection highlighting model for eeschema.
6 years ago
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
7 years ago
Tomasz Wlostowski
0d720fdeff
eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h
7 years ago
jean-pierre charras
7f6e26e55a
DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list.
It make this function thread-safe (as far as wxString is thread-safe)
8 years ago
jean-pierre charras
d0754acf00
Fix code after renaming files
8 years ago
jean-pierre charras
e499d337d8
rename files: update filenames in sources
8 years ago
jean-pierre charras
5868202c28
rename files, mainly files for plotter control
8 years ago
jean-pierre charras
bdc6a5950b
rename plot_common.h to class_plotter.h, a better name, consistent with other class definitions.
8 years ago
jean-pierre charras
2476e88c9d
Fix a few doxygen warnings
9 years ago
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
9 years ago
Dick Hollenbeck
0c459ced97
EDA_TEXT object refactor.
Make all EDA_TEXT data private and rename accessors to avoid function
name collisions in derived classes.
Overload EDA_TEXT's SetTextAngle() and SetEffects() in TEXTE_PCB.
Add support for preserving Reference text position, size, orientation
during a netlist import into a BOARD, as well as the one off footprint
update dialog.
9 years ago
jean-pierre charras
6edee2ae1d
Prepare Plot Gerber file to include advanced aperture and net attributes.
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
9 years ago
Maciej Suminski
b143ce6b0f
Moved text settings from STROKE_FONT to GAL.
10 years ago
jean-pierre charras
f532057d05
Fix incompatibility between basic_gal (which used angles in degrees in rotation) and other gal layers (which used radians in rotation). Rotation angles are now in radians.
Fix erroneous optimization in VECTOR2<T>::Rotate (which was made for angles in degrees): Angles are in radians, and only 0 rd rotation is skipped ( case very frequent, especially in eeschema)
10 years ago
jean-pierre charras
67982a4851
stroke font: fine adjust of text horizontal position. edat_text: fix an issue in SetOrientation: the rotation angle is now constrained between -360 and +360 degrees.
It was previously not the case, and rotated texts outside this interval created issues in dialog_pcb_text_properties which have now validators.
10 years ago
jean-pierre charras
92ce9c1193
Rework on class EDA_TEXT and related classes and draw text functions. More work: remove useless or duplicate code (from legacy graphic text plot functions). Move basic_gal code to separate files.
10 years ago
jean-pierre charras
bc699c8d8f
Rework on class EDA_TEXT and related classes and draw functions. More work. Eechema: in rotate texts: redraw the full screen to avoid garbage on screen.
10 years ago
jean-pierre charras
30d72045e7
Rework on class EDA_TEXT and related classes and draw functions (Note: this is a work in progress):
* remove duplicate code between draw functions and STROKE_FONT used in GAL. Use only STROKE_FONT methods in draw, plot and test DRC function for texts. It remove slightly different shapes between GAL and other calculations.
* fix incorrect bounding box for texts with overbar. Especially noticeable for texts with overbar inside a copper zone in Pcbnew.
* fix a few minor other bugs related to graphic texts.
10 years ago
jean-pierre charras
30f113c2de
Remove a change which was committed by accident in rev 6632
10 years ago
jean-pierre charras
6e93672760
Icons: remove not used icons.
10 years ago