Commit Graph

281 Commits

Author SHA1 Message Date
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