James J
be8744176c
Add SCH_RULE_AREA shapes to eeschema
...
Includes:
- Fix GAL to draw closed polygons in eeschema
- Add functionality to eeschema to draw arbitary polygons
- Update polygon item previews to have customisable edge colour
- Add new SCH_RULE_AREA class, derived from a poly SCH_SHAPE
- Add SCH_RULE_AREA to paint and plot methods
- Add new rule area color preference to themes
2024-04-25 14:24:46 +00:00
Alex Shvartzkop
113208455d
Add dashed lines and circles to preview draw context.
2023-10-06 15:56:20 +03:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
...
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jeff Young
ef6866757e
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
2023-06-16 22:08:21 +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
Alex
3d2b1aaf90
Improve H/V/45 deg mode when drawing zones and polygons.
2022-12-09 19:11:56 +03:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
854987f663
Remove unit-less angles from geometry manager APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +00:00
Seth Hillbrand
f97c7c78c8
Connect ruler tool with axes preferences
...
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
2021-11-23 12:52:21 -08:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Jon Evans
6924b98bc3
Remove deprecated BRIGHT_BOX preview item
2021-03-20 12:09:20 -04:00
Wayne Stambaugh
6ab1144ea3
Fix broken Doxygen comment specifiers.
...
Please note, ///> is not a valid Doxygen comment specifier. ///< is the
correct specifier to use for single line or short Doxygen comments.
2021-01-25 07:42:36 -05:00
Jeff Young
8c782506b9
Appy units updating more consistently to editing assistants.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6283
2020-11-04 14:11:25 +00:00
Jeff Young
f6c17001e4
Formatting
2020-11-04 13:46:51 +00:00
Marek Roszko
1984581c46
Remove common.h from more headers
2020-10-25 22:29:53 -04:00
Marek Roszko
e928b2d8fd
Split EDA_UNITS out from common.
2020-10-25 00:02:52 -04:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Ian McInerney
3a570c27f0
Update unit handling in the preview ruler
...
* Make the ruler able to switch to mils after creation
* Cleanup an unused flag in Pcbnew dimensions
* Move unit changed notification into EDA_DRAW_FRAME so more
frames to use it.
* Allow switching units when GerbView ruler tool is active
2020-10-04 17:53:55 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Jeff Young
70f329df91
Fix two-point assistant drawing layers to be in correct order.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-03 22:55:34 +01:00
Jeff Young
0052954046
Try to make rulers draw right on Cairo as well as OpenGL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-02 13:50:16 +01:00
Jeff Young
612411a87b
Give assistant graphics a max bounding box.
...
They're only on screen when they're being used, and we don't have
a GAL available to calculate their actual extents from (since their
text scales with zoom).
Fixes https://gitlab.com/kicad/code/kicad/issues/5845
2020-10-01 17:53:44 +01:00
Jeff Young
c7802e7ff8
Adjust ruler text on non-HDPI displays.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-10-01 14:35:30 +01:00
Jeff Young
626bcea8ce
Move ruler drawing to the stroke font.
...
We don't need to be fast, and this allows us to implement drop
shadows for better readability.
Fixes https://gitlab.com/kicad/code/kicad/issues/5654
2020-09-30 20:38:20 +01:00
Jon Evans
b439c169ff
Fix two-point assistant shape enum
2020-09-22 18:06:57 -04:00
Thomas Pointhuber
7ba6a77c94
Improve arc geometry manager to choose the direction which makes more sense
...
As long as the arc angle stays below <60°, it will automatically choose between
clockwise and counter clockwise. This allows the user to choose the direction
with a simple mouse movement.
2020-07-03 15:05:17 +00:00
Jeff Young
6e800bddae
Rationalize penWidth processing as first step in removing some globals.
2020-04-13 20:58:13 +01:00
Ian McInerney
34e5b76c5f
Add virtual constructors to some classes that should have them
...
This is more for safety from undefined deletion behavior than
anything else (it also silences the Clang -Wnon-virtual-dtor warning).
2020-02-05 22:19:14 +00:00
Seth Hillbrand
7c28c3838a
Comment-only changes
...
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Seth Hillbrand
ea1c8525ce
Increase visibility of polygon preview
...
This set the polygon preview item to wider size and adjusts the draw
order to ensure it remains visible even when antialiasing
2019-10-24 16:00:01 -07:00
Seth Hillbrand
2e1af66a2b
pcbnew: Commit polygon points to new constrained zone
...
Adds leader points if they are not already existing in the zone
Fixes: lp:1846028
* https://bugs.launchpad.net/kicad/+bug/1846028
2019-10-20 09:29:35 -07:00
Seth Hillbrand
b3615b36bb
pcbnew: Retain 45° constraint
...
This also finishes the polygon with 45° lines when chosen as a create
option.
Fixes: lp:1833673
* https://bugs.launchpad.net/kicad/+bug/1833673
(cherry picked from commit fccce265aa
)
2019-08-26 14:36:23 -07:00
Jeff Young
483dc24e87
Homogenize selection tools around our HIG.
...
In particular make addative and exclusive-or selections work the
same way.
Also give Highlight Net a hotkey now that it can't use ctrl-click
anymore.
2019-07-09 21:59:46 +01:00
John Beard
6cf7ad68ad
Pcbnew: break out preview draw helpers
...
The graphical drawing routines in the arc assistant can be
made more generic for re-use in similar code.
2019-05-14 13:29:45 +01:00
John Beard
7acc0b89f9
Pcbnew: fix 45-degree snapping of ruler and dimension tools
...
This introduces a new util function in geometry_utils which snaps a vector
to axes or 45 degree lines. This can be used whenever you want to
snap a vector to these angles, but still want it to stay on a grid.
This snapping is used for the dimension tool and the ruler tool.
This is substantially simpler for two-point tools that the method
used by the line tool, which uses DIRECTION_45.
Fixes: lp:1780826
https://bugs.launchpad.net/kicad/+bug/1780826
2018-07-24 15:01:02 +01:00
Jeff Young
afd80c3cdb
Fix botched attempt to have ruler adjust to unit changes.
...
Also fixes the context menu so there's a specific one for the
measurement tool, allowing zooming for instance without cancelling
the tool.
2018-07-23 12:37:01 +01:00
Jeff Young
16b5f40817
Remove assert and update ruler units on the fly.
...
Fixes: lp:1781595
* https://bugs.launchpad.net/kicad/+bug/1781595
2018-07-23 02:02:02 +01:00
Jeff Young
5f3ee1e7ce
More g_UserUnit erradication.
...
(cherry picked from commit 3f08780)
2018-07-17 15:12:31 +01:00
Jeff Young
a39fb03822
Remove some references to g_UserUnit
...
(cherry picked from commit 614d832)
2018-07-17 15:09:56 +01:00
Maciej Suminski
52fcddf4f4
Allow drawing self-intersecting polygons, just display a warning
...
Fixes: lp:1751654
* https://bugs.launchpad.net/kicad/+bug/1751654
2018-03-02 10:58:43 +01:00
Maciej Suminski
4da47f2c01
Forbid drawing self-intersecting polygons.
2018-02-22 16:24:08 +01:00
Maciej Suminski
7775f59eec
Converted zone drawing tools to store points in a SHAPE_LINE_CHAIN
...
Simplifies the code a bit, removes redundant conversions to/from
std::vector.
2018-02-22 15:18:52 +01:00