Jeff Young
5f8e0ef1e0
Patch up arc hit-testing and printing for 6.0
...
This could use another look when we're not so near release. We
really shouldn't need to special case eeWinding vs. not eeWinding.
Fixes https://gitlab.com/kicad/code/kicad/issues/9491
2021-10-30 15:10:07 +01:00
Jeff Young
e9661161d2
Fix missing member variable in swap().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9470
2021-10-27 21:57:20 +01:00
Jeff Young
f724fe7eff
Move bbox padding to RTrees so it doesn't interfere with hittesting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9361
2021-10-26 13:46:30 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04: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
Jeff Young
8b08c9e53f
Shorter names before things get out of hand.
...
Also, remove comments indicating CURVE is a Bezier. Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young
a41944020d
Push most of PCB_SHAPE impl down in to EDA_SHAPE.
2021-10-15 12:45:43 +01:00
jean-pierre charras
3316f3998a
Rename BuildPolyPointsList() to DupPolyPointsList() and optimize code
...
to avoid multiple useless copies of the list of polygon corners in code.
2021-09-11 14:21:36 +02:00
jean-pierre charras
49e1b5785f
PCB_SHAPE::GetFocusPosition(): returns a point on the outline instead of center.
...
This function is used in DRC to locate a graphic shape. For not filled shapes,
this point must be on the shape outline, not on the center of the shape (the center
shows nothing)
Fixes #8832
https://gitlab.com/kicad/code/kicad/issues/8832
2021-07-22 10:41:50 +02:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Eeli Kaikkonen
3616a8f0ee
Use polygon coordinates relative to the board.
...
Footprint polygon coordinates are relative to the footprint.
Translate to the board coordinates when doing hittest with
a (selection) rect.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8596
2021-06-15 15:04:11 +00:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
eeb405c196
Cleanup some more excess math/util includes
2021-06-02 00:50:46 -04:00
Marek Roszko
21fde9b629
enum class PCB_SHAPE_TYPE_T
2021-04-30 22:36:12 -04:00
Jeff Young
3b049b32cf
Show if pads, zones, and dimensions are locked in the status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-04-21 19:58:18 +01:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jon Evans
7a8abcadd2
PCB_SHAPE: Use SHAPE_ARC as the effective shape of an arc
2021-03-19 22:43:43 -04:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young
ba63ac801a
Don't make assumptions about what layers things are on.
2021-02-20 14:13:36 +00:00
Jeff Young
21bec6c016
Comment.
2021-01-28 23:31:38 +00:00
Jeff Young
6983bcd55b
Push addition of shape width down into computeArcBBox.
...
Also improves performance by calling GetBoundingBox only once (this
is not always an inexpensive routine for some items, such as
polygons).
2021-01-28 22:29:28 +00:00
Seth Hillbrand
1733a23ac7
Take width into viewBBox account
...
Don't let objects disappear until their full extend has been removed
from view.
Fixes https://gitlab.com/kicad/code/kicad/issues/7318
2021-01-28 14:20:13 -08:00
Jeff Young
0ded846130
Go back to previous arc midpoint editing routine.
...
It avoids erratic behaviour near the chord or end-points.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-19 23:50:40 +00:00
Seth Hillbrand
b8dfcb34c4
Revert "Use less-sophisticated arc editing math."
...
This reverts commit 3b424d3868
. And fixes
issue with rouding causing arc errors
2021-01-18 12:44:27 -08:00
Jeff Young
3b424d3868
Use less-sophisticated arc editing math.
...
While it doesn't do the tangent retention that the old version did,
this one I can at least make work.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-16 20:46:14 +00:00
jean-pierre charras
d4c36230d2
Pcbnew, Graphic items: show the locked status in msg panel and dialog properties.
2021-01-12 10:00:21 +01:00
Jeff Young
c66e373119
Cleanup of PCBNew message panel routines.
...
Also fixes bugs where invalid netclasses were reported as "Default",
and SMD pads were reported as having "0.0000" drills.
2020-11-30 14:38:06 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
114621eb2c
Move footprint shape offset/rotation stuff to the right place.
...
Most shapes are already offset/rotated (with thier non-offset/rotated
points in start0, etc.).
2020-11-15 21:04:12 +00:00
Jeff Young
7bd31d5237
Naming conventions.
2020-11-14 18:26:03 +00:00
Jeff Young
8bae52d1c3
Correct naming conventions.
2020-11-14 14:29:11 +00:00
Jeff Young
ec020dd19f
First-class support for filled shapes.
2020-11-14 01:40:32 +00:00
Jeff Young
47e86d76fb
Cleanup prior to adding filled flag.
2020-11-13 21:07:36 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
3451ac3088
PCB_MODULE_T -> PCB_FOOTPRINT_T
2020-11-13 15:16:24 +00:00
Jeff Young
522d64968e
Yet more module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
7c60c2e404
Module -> footprint.
2020-11-07 18:50:30 +00:00
Jeff Young
a6552f14f1
Improve SNR (code, status bar and user messages).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6304
2020-11-05 16:38:04 +00:00
Jeff Young
4e5dd6952e
Fix arc flipping behaviour.
...
Also fixes flipping of a dragged selection to be around the anchor
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/6217
2020-11-01 15:26:55 +00:00
Ian McInerney
31e626f279
Cleanup creation of all our smart pointers
2020-10-26 23:52:44 +00:00
Jeff Young
ebc8e2c921
Move property manager tokens to HKI macro.
...
This leaves them untranslated internally but makes sure their
translation strings exist so they can be dynamically translated
at the GUI level.
Fixes https://gitlab.com/kicad/code/kicad/issues/6020
2020-10-16 16:59:52 +01:00
Jeff Young
2f49db49bf
Fix fly-off arc handles and move Arc Properties to start/end/angle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5791
2020-10-08 11:33:32 +01:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00