Jeff Young
38e5faf21b
Overhaul bitmap text for performance.
...
Also adjusts metrics to better match stroke font.
Also removes text-halo highlighting as it's too expensive to re-render
when the zoom changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11460
2022-05-14 20:09:54 +01:00
Jeff Young
9fbf8e6f5d
Respect default layer color for textbox borders.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11497
2022-04-29 14:10:48 +01:00
Jeff Young
85680886f8
Adjust outline font SCH_TEXT positioning so it better matches SCH_FIELD text.
2022-04-26 12:52:29 +01:00
Jeff Young
06df90636b
Rationalize negative line-width handling.
...
Make "don't stroke" an explicit property in the GUI.
Silently enforce line width to >= 0 when stroking.
Make layouts between dialogs more consistent.
Interpret unspecified fill colour as layer colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/11279
2022-04-05 23:59:25 +01:00
Jeff Young
68ca385e07
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Jeff Young
e8a543f1ea
Colors for text in PL_Editor and Eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young
5c7b022f40
Be more pedantic about setting GAL line width.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11280
2022-03-30 16:32:23 +01:00
Mike Williams
e51ab86225
Schematic Drag: fixes and improvements
...
Fixes:
* Various special cases around junctions on pins and dragging.
* Some rotations of endpoints resulting in a 45 degree rotate.
* Some cases where it was possible to get a line with neither
endpoint selected, and also substractive unselecting only one of two
selected endpoints unselecting both.
* Use line midpoint for sorting. Start and endpoints aren't
consistent in the order they appear on the X or Y axis. So,
we need to use the midpoint for our position for consistent
sorting when dragging groups of parallel lines where some
have the start and end reversed.
Other:
* Rename TEMP_SELECTED TO SELECTED_BY_DRAG. This is the actual meaning
of the flag, and should reduce confusion as
to when it should be used.
* Move usage of TEMP_SELECTED as an algorithmic mark to CANDIDATE
instead.
* Fix mistaken clearing of START_POINT and ENDPOINT.
* Move endpoint setting and clearing out of narrowSelection, and into
selectPoint and selectMultiple.
* Don't show dangling end warnings on new lines
2022-03-28 16:02:48 -04:00
Jeff Young
265ff90e19
Use selection highlight color for sel shadows even when brightened.
...
This allows Find & Change to show both matches and current match.
Fixes https://gitlab.com/kicad/code/kicad/issues/11101
2022-03-28 11:16:39 +01:00
Jeff Young
bf0f2aa4a8
Adjust bitmap text spacing a bit so it's closer to the stroke font.
...
This helps the text better match the highlighting when it gets small
enough that we switch to the bitmap font for performance.
2022-03-07 20:30:50 +00:00
Jeff Young
4923f02651
Reset GAL pen width between drawing text and border.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11059
2022-03-06 20:32:28 +00:00
Jeff Young
3969045009
Don't bitmap multi-line SCH_TEXT.
...
The linespacing isn't even close and multi-line text is also likely to
have longer lines which makes the X offset get way off too.
2022-03-06 20:17:56 +00:00
Jeff Young
6b3ed89248
Handle justified LIB_TEXT.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11052
2022-03-06 19:54:06 +00:00
Jeff Young
4dc652497d
Put device-coloured fills on device layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10993
2022-02-28 21:11:01 +00:00
Jeff Young
a29968fa91
Make sure bitmap fallback is only used for non-cached text.
...
Also fixes backwards vertical justification for bitmap text.
Fixes https://gitlab.com/kicad/code/kicad/issues/10956
2022-02-24 18:16:45 +00:00
Jeff Young
2042b08127
Performance optimizations for drawing (small) text.
2022-02-23 12:09:36 +00:00
Jeff Young
944fe9637d
Fix error that prevent drawing pin selection highlighting.
2022-02-17 19:02:51 +00:00
Mike Williams
a5e8575091
Eeschema: Implement orthogonal dragging
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1956
2022-02-10 18:38:40 +00:00
Jeff Young
58c38d2830
Don't nanny users about what constitutes quality graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10788
Fixes https://gitlab.com/kicad/code/kicad/issues/10374
2022-02-08 17:35:48 +00:00
Jeff Young
0ffa1288ee
Regularize how penWidths are fetched.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/git
2022-02-06 19:43:25 +00:00
Jeff Young
a1009d7899
Fix assertion failure for labels.
2022-02-01 12:01:04 +00:00
Jeff Young
4243d7b055
Bug fixes for color handling.
2022-02-01 00:21:08 +00:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00:00
jean-pierre charras
64f2adbc31
SCH_PAINTER, draw filled LIB_SHAPE: fix incorrect selection of fill color.
2022-01-30 10:20:49 +01:00
jean-pierre charras
b4826ce304
LIB_TEXT: fix incorrect position of the drawn text.
...
Fixes #10654
https://gitlab.com/kicad/code/kicad/issues/10654
2022-01-30 09:11:16 +01:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Jeff Young
0283e2c246
Highlighting for schematic shapes when fill shapes is turned off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10372
2022-01-22 22:27:41 +00:00
Jeff Young
2defd8d911
Move show-bounding-boxes to a tool on the toolbars.
2022-01-17 11:56:40 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +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
jean-pierre charras
a709d97a32
SCH_LABEL_BASE::Plot(): Plot fields.
2022-01-12 11:08:34 +01:00
jean-pierre charras
b3072cc16b
SCH_PAINTER, DrawLine: gives a minimal length to lines having a 0 length
...
Lines with start point = end point always create problems in OpenGL (not drawn).
2022-01-12 09:44:30 +01:00
Jeff Young
a23f6e4e92
Handle border colors for SCH_SHAPEs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10361
2022-01-11 18:18:11 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +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
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Mike Williams
bf2c4c1584
Eeschema: draw dangling end shadows
2021-12-29 00:06:12 +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
933b82495d
Use ISO 128-2 values for dashed line defaults.
2021-12-25 14:00:57 +00:00
Jeff Young
03a2723b67
Improve GUI of lib item colors.
2021-12-24 21:21:11 +00:00
Jonathan Haas
45d7f68f38
Use actual custom fill color for painting
2021-12-24 21:20:59 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
f7721dd274
Add highlight shadows for highlighted nets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8817
2021-12-24 15:43:28 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
68d2630d08
Flatten a layer of indirection out of 3D config settings.
2021-12-24 13:08:54 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +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
jean-pierre charras
65cbf2d2b7
Eeschema: fix draw issue for global labels in Cairo mode.
...
Fixes #9933
https://gitlab.com/kicad/code/kicad/issues/9933
2021-12-10 20:47:17 +01:00
Jeff Young
c4336de868
Bug fixes in new dangling symbol drawing code.
2021-12-07 21:31:42 +00:00
Jeff Young
2e342ed8c9
Draw dangling symbols on a separate layer.
...
This allows us to draw them in front of wires, pins, and most
importantly, junction dots.
Fixes https://gitlab.com/kicad/code/kicad/issues/9667
2021-12-06 18:50:50 +00:00
Mikolaj Wielgus
9bb370e6b4
SCH_SHEET_PIN: Rename GetEdge, SetEdge to GetSide, SetSide
2021-11-28 20:07:06 +01:00
Jeff Young
7fc04c3cf2
Fixes for realtime connectivity being off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-24 13:20:44 +00:00
Jeff Young
b4ac53d93d
Attempt #1 to fix LIB_SHAPE arc printing.
2021-11-17 00:34:05 +00:00
Jeff Young
025d9f82ea
Remove atrophied schematic default wire and bus widths.
...
(They're now in the netclasses, and specifically the default netclass
if no other netclass is assigned.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-13 22:56:50 +00:00
Jeff Young
4d46445ce1
Fix Bezier reading.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9512
2021-11-02 22:19:41 +00:00
Jeff Young
1d4d83cb7c
Fix copy/paste error.
2021-10-18 18:09:40 +01: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
Jeff Young
9b9e379aa0
Overhaul arc internal model to not over-specify information.
2021-10-15 12:45:43 +01:00
Seth Hillbrand
52bbfb9109
Remove dependency of dot size on linear mils
...
Changes a dot to be a square pixel (linewidth x linewidth). This allows
the removal of IU dependencies and ensures that a dot is always visible
on screen. Also makes sure that cairo is setting the current linewidth
during its stroke routines
Fixes https://gitlab.com/kicad/code/kicad/issues/9362
2021-10-10 09:40:26 -07:00
Jeff Young
b9596a0a5d
Update dangling flags in color settings' preview.
2021-09-30 18:53:39 +01:00
Jon Evans
62ef27e372
Remove hard-coded anchor color in eeschema
2021-09-28 20:26:47 -04:00
Jeff Young
fad385785d
Fix botched merge.
2021-09-24 20:08:29 +01:00
Jeff Young
a1a2076aee
Include pin roots for symbols that don't have well-defined bodies.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-24 16:19:54 +01:00
Jeff Young
ec2ac181a2
Further simplify selection logic.
...
The select-single-wire stuff is no longer needed, and the prefer-wire-ends
stuff needs to be distance-based.
Also improved wire hit-testing to include bubbles the size of the dangling
symbol at each end.
Fixes https://gitlab.com/kicad/code/kicad/issues/9187
2021-09-21 20:27:35 +01:00
Jeff Young
d7bfd1eb77
Restore use of floating point precision in pin name/number placement.
...
It's actually required here to get the shadows centred directly under
the text.
2021-09-17 12:37:53 +01:00
jean-pierre charras
8aa7e8d9f4
Fix compil warning (shadowed vars)
2021-09-16 18:21:07 +02:00
Jeff Young
684d15895c
Box highlighting of selected text was never finished.
...
In particular, pin numbers and names weren't done.
2021-09-15 21:17:18 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
9cf7c7800b
Use same text positioning algorithm in LibEdit and Eeschema.
...
Also fixes some uninitialized variables in PCB painter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8947
2021-09-07 12:33:06 +01:00
Jeff Young
21365fff3e
Disambiguate JunctionDiameter from EffectiveJunctionDiameter.
...
ADDED Junction Size and Color to Edit Text & Graphics properties.
The added feature is only because it's the only way to recover from
the buggy behaviour having changed all your junctions to overridden
values.
Also adds help texts to the Junction Dot Properties dialog to
specify how to get schematic dot sizes and eeschema colors.
Also fixes the terminology in the Line/Wire/Bus Properties dialog
(the default widths come from the netclasses, not from eeschema).
Fixes https://gitlab.com/kicad/code/kicad/issues/9040
2021-08-31 12:18:02 +01:00
Jeff Young
69fac89e86
Fix some issues with incorrectly scaled defaults given in mils.
2021-08-25 20:04:06 +01:00
Jeff Young
9549a227ad
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8993
2021-08-18 23:38:11 +01:00
Wayne Stambaugh
46b959c3e3
Move plotter headers into include folder.
2021-08-18 16:38:31 -04:00
Jeff Young
dd24502255
Clean up (yes, yet again) the default pen width handling.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8980
2021-08-17 11:59:50 +01:00
david-beinder
c34f45f646
Split global label size expansion from TextOffset setting
...
Global label expansion ratio default is now 37.5%
Wire text offset default is now 15%
2021-08-02 16:40:36 +00: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
Jeff Young
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Wayne Stambaugh
ff099453c8
Rename class_library.[h|cpp] to symbol_library.[h|cpp].
2021-06-15 09:24:55 -04:00
Wayne Stambaugh
ee3eac325d
Expunge the use of the word part from Eeschema code.
2021-06-15 08:32:11 -04:00
Wayne Stambaugh
71c183d7bb
Rename LIB_PART to LIB_SYMBOL.
2021-06-14 07:11:17 -04:00
Jeff Young
3763aca52c
Use getLineWidth() when drawing bus entries.
...
(Otherwise inheriting from the netclass or schematic doesn't work.)
Also fixes precedence order in GetPenWidth() for the two BUS_ENTRY
classes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8601
2021-06-13 20:52:03 +01:00
Jeff Young
bcdec0dea7
Move '~' pin name processing to LIB_PIN and SCH_PIN.
...
This will also allow us to do variable processing in the future if
desired.
2021-06-12 19:54:34 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Marek Roszko
3ac5aa5369
enum class SHEET_SIDE
2021-05-30 21:23:46 -04:00
Jeff Young
2817c3b3de
Always show pin dangling symbols in Symbol Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8493
2021-05-27 17:50:21 +01:00
Wayne Stambaugh
2b86b34124
Eeschema: split out SCH_SHEET_PIN declarations into separate header.
2021-04-06 17:15:49 -04:00
Jeff Young
04f7fbfa4a
Don't draw selection in hyperlink colour.
2021-04-02 11:18:18 +01:00
Jeff Young
82af98b08e
Now that user can specify alpha we don't need to add in more.
2021-03-15 19:04:59 +00:00
Jon Evans
92cc88f87c
Tighten up schematic label bounding boxes
...
Margins were being added in more places than necessary
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7689
2021-02-24 17:15:35 -05:00
Wayne Stambaugh
1786ae8773
Eeschema: use symbol nomenclature for object file naming.
2021-02-24 08:48:02 -05:00
James Jackson
48853d0c88
Eeschema: Allow auto-wiring / drawing from unconnected bus and graphic line endpoints
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7537
2021-02-19 17:15:27 +00:00
Jeff Young
a0b9b0c3ee
Improve IsSymbolEditable to differentiate fields.
...
Fields are editable in Aliases, but still not in Legacy libraries,
locked libraries, etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/7175
2021-02-10 22:57:23 +00:00
Jeff Young
ff7742c6b8
File naming and include cleanup.
2021-01-28 11:35:18 +00:00