9fe780f1b3
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 |
||
---|---|---|
.. | ||
arc_assistant.cpp | ||
arc_geom_manager.cpp | ||
bright_box.cpp | ||
centreline_rect_item.cpp | ||
polygon_geom_manager.cpp | ||
polygon_item.cpp | ||
preview_utils.cpp | ||
ruler_item.cpp | ||
selection_area.cpp | ||
simple_overlay_item.cpp |