kicad/common/preview_items
John Beard 9fe780f1b3 Rework zone creation in GAL
The zone creation in DRAWING_TOOL was a complex event loop whici
simultaneously managed the event handling, construction of the preview
polygon and the creation and commiting of the zone, all in the same
scope. This has been broken into several pieces:

* POLYGON_ITEM preview item, used to preview the polygon in progress
* POLYGON_GEOM_MANAGER is a class that collects points from user input
  and used them to describe a polygon's geometry, including calculation
  of 45-degree constrained leader lines
* ZONE_CREATE_HELPER is a class which deals with creating zones based on
  geometry from a geometry manager and parameters from the DRAWING_TOOL
* The (much simpler) event loop in DRAWING_TOOL drives the
  POLYGON_GEOM_MANAGER. With a minor refactor, this loop can be reused
  in future for other polygonal tools if wanted.

The polygon preview now has a translucent fill which makes it easier to
visualise the zone.

This also adds the Close Zone Outline and Delete Last Corner actions as
part of the new event loop.

Fixes: lp:1663885
* https://bugs.launchpad.net/kicad/+bug/1663885

Fixes: lp:1667885
* https://bugs.launchpad.net/kicad/+bug/1667885
2017-03-22 17:18:12 +01:00
..
arc_assistant.cpp Enhance Pcbnew arc construction 2017-03-17 20:56:54 +01:00
arc_geom_manager.cpp Enhance Pcbnew arc construction 2017-03-17 20:56:54 +01:00
bright_box.cpp Refactor BRIGHT_BOX to common so it can be used by other programs 2017-03-11 21:38:01 +01:00
centreline_rect_item.cpp Add GAL microwave tools 2017-03-20 16:10:51 +01:00
polygon_geom_manager.cpp Rework zone creation in GAL 2017-03-22 17:18:12 +01:00
polygon_item.cpp Rework zone creation in GAL 2017-03-22 17:18:12 +01:00
preview_utils.cpp Add a ruler tool to pcbnew GAL 2017-03-10 16:21:44 +01:00
ruler_item.cpp Enable angle snap for pcbnew GAL ruler tool 2017-03-22 10:59:47 +01:00
selection_area.cpp Make SELECTION_AREA a generic overlay item 2017-03-10 16:21:44 +01:00
simple_overlay_item.cpp Add a simple item class for graphical overlays 2017-03-10 16:21:44 +01:00