Commit Graph

14012 Commits

Author SHA1 Message Date
Jeff Young cb8e6c0df5 Handle GAL view refresh for breaking wires. 2018-10-09 11:08:55 +01:00
Jeff Young 38f38b16c0 Fix dissappearance of moved items. 2018-10-09 11:08:55 +01:00
Jeff Young 5fd20ee786 Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
Jeff Young 47189034aa Grid settings for LibEdit. 2018-10-09 11:08:55 +01:00
Jeff Young e45e3b3640 Fix bug with Preferences turning hidden items to black. 2018-10-09 11:08:55 +01:00
Jeff Young bbe1d996fd Fix initialization order issue when switching symbols in LibEdit. 2018-10-09 11:08:55 +01:00
Jeff Young 269e8159d4 Grid settings for LibEdit. 2018-10-09 11:08:55 +01:00
Jeff Young 9e9db3afe5 Start an empty document with a reasonable grid size. 2018-10-09 11:08:55 +01:00
Jeff Young 58100b62e6 Legacy colors are not stored under a "4D" name. 2018-10-09 11:08:55 +01:00
Jeff Young d7178c7833 Implement GAL refresh for a bunch of operations. 2018-10-09 11:08:55 +01:00
Jeff Young afeebc8944 Grid settings for Eeschema GAL.
Split antialiasing options out from display options.  Move
antialiasing to common.  Duplicate the rest of display options
for Eeschema.

Implement OnSelectGrid and hookup GAL canvas refresh to
SetPresetGrid.

Add Grid Settings... to View menu and move Show Grid from
preferences to View Menu to match Pcbnew.
2018-10-09 11:08:55 +01:00
Jeff Young 8390b7a7ac Don't paint GAL canvas when it isn't shown.
Fixes: lp:1790502
* https://bugs.launchpad.net/kicad/+bug/1790502
2018-10-09 11:08:55 +01:00
Jeff Young c5330ac0bf Implement zoom for GAL canvas. 2018-10-09 11:08:55 +01:00
Jeff Young a67d8c60df Fix text size measurement.
5.0 doesn't set the GAL's line width.  It gets away with this since
it's using the same GAL to measure as to set up the drawing, so
the width happens to be set correctly for other reasons.  5.1 uses
a separate GAL and so isn't so lucky.
2018-10-09 11:08:55 +01:00
Jeff Young b002b96db6 Fix a crash when aborting a block command. 2018-10-09 11:08:55 +01:00
Jeff Young 1c52824913 Rewrite unit/convert handling so it also works for LibEdit. 2018-10-09 11:08:55 +01:00
Jeff Young e9c974fcdc Fix issues with orientation and justification.
Support all symbol orientations. (Yes, SCH_COMPONENT said only the
first 8 were used, but it lied.)

Fix cases where SetTextAttributes() was overwriting previously-
set justifications.

Correct rotation of vertical text.

Fix issue where bold global label would affect thickness of next
label's outline.
2018-10-09 11:08:55 +01:00
Jeff Young c3479154ca Fix draw order issues in eeschema and libedit.
Eeschema (where only the parent component is in the view) uses
draw order.

LibEdit (where the individual items are in the view) uses the
viewPriority setting.
2018-10-09 11:08:55 +01:00
Jeff Young 917943f8f8 Uniform handling of hidden objects. 2018-10-09 11:08:55 +01:00
Jeff Young 17ce36d4b7 Add dangling end support for lables and lines. 2018-10-09 11:08:55 +01:00
Jeff Young 6eafb9a2fd Convert Rescue Symbols dialog previews to GAL. 2018-10-09 11:08:55 +01:00
Jeff Young 893f7641ce Handle hidden and dangling pins. 2018-10-09 11:08:55 +01:00
Jeff Young 8a017d99d2 Fix pin drawing offsets and implement electrical type drawing. 2018-10-09 11:08:55 +01:00
Jeff Young 515135579b UseGalCanvas() no longer means ToolManager() exists. 2018-10-09 11:08:55 +01:00
Jeff Young 538a5d49ee Fix up GAL version of Symbol Viewer.
Also includes some preliminary work for supporting hidden pins,
pin electrical names, and other preferences.
2018-10-09 11:08:55 +01:00
Jeff Young da4fb4ae3a Move galDisplayOptions access from pcbnew to common. 2018-10-09 11:08:55 +01:00
Jeff Young a03dc577f8 Add support for units. 2018-10-09 11:08:55 +01:00
Jeff Young 7cbfa08ddd Move symbol chooser dialog preview to GAL. 2018-10-09 11:08:55 +01:00
Jeff Young 8e915ae8d8 Add support for LIB_ALIAS objects. 2018-10-09 11:08:55 +01:00
Jeff Young 8b4f01b6b7 Add common property initialisation to sch_draw_panel. 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski a3563851b2 eeschema-gal: started work on library viewer canvas 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski 48d36f854e eeschema-gal: fix cursor shape switching 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski ccb594f599 eeschema-gal: support for global labels and bitmaps 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski d9f0dc63a5 eeschema-gal: temporarily disable scrollbar code (causes crashes after Jeff's changes) 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski b604f007d7 eeschema-gal: don't use kiROUND in the geometry library as it brings in a s*****load of wx dependencies due to #include <base_units.h> 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski d8b9899516 eeschema-gal: configurable worksheet & grid colors 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski 5f7c923b8b eeschema-gal: post-rebase fixes 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski e439b17fa1 eeschema-gal: make sure all other Kicad apps compile after eeschema gal hacks 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 90c7c60471 eeschema-gal: initial GALified version. Lots of stuff still to do! 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 14fed877c8 eeschema-gal: factor out libedit controller code into separate directory 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski c024fce625 eeschema-gal: moved libedit to a separate directory 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 2cbd08d4c0 eeschema-gal: make some functions virtual 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 7bccd26078 eeschema-gal: removed unused headers 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 9ab79daf74 SELECTION_AREA: use abstract render settings object 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski ef1f01a8bd VIEW: use BOX2D for view boundary 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 26177efba0 VIEW_GROUP: correctly calculate group extents 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 838458bc3a eeschema-gal: Base refactoring before GALification of the eeschema legacy canvas.
Note: it's only the renderer that is changed from wxDC to GAL. Tools stay the same, consider this a temporary hack.

This commit splits the EDA_DRAW_FRAME, EDA_DRAW_PANEL and BLOCK_SELECTOR classes into two variants, each independently compiled into a static library.
- "legacy_wx" for PCBnew/Gerbview - wxDC-based legacy canvas. We have full GAL support there anyway so it makes no sense to introduce GAL rendering API to the legacy tools.
- "legacy_gal" for EEschema and the rest - GAL-based legacy canvas, using legacy tools but with a GAL renderer.
Such split ensures only a small part of the common library and eeschema is affected, without messing around with already GALified tools.

The commit also removes some header dependencies on class_drawpanel.h
2018-10-09 11:08:52 +01:00
Tomasz Wlostowski f82f310dd5 eeschema-gal: added EnableDepthTest() feature in GAL 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 7e1458a9ce eeschema-gal: implement IsBackgroundDark() 2018-10-09 11:08:52 +01:00
Tomasz Wlostowski 0d720fdeff eeschema-gal: factor out EDA_DRAW_PANEL from BITMAP_BASE, remove some unnecessary includes of class_drawpanel.h 2018-10-09 11:08:52 +01:00