kicad patches
Go to file
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
3d-viewer BOARD::GetBoardPolygonOutlines(): do not generate a separate SHAPE_POLY_SET for holes. 2017-03-22 11:47:03 +01:00
CMakeModules Removed obsolete Shader.cmake script 2017-03-04 11:48:37 +01:00
Documentation Update macOS portion of compiling.md. 2017-03-14 19:08:18 -04:00
bitmap2component Add -Wshadow compil option, if exists to warn about shadowed variables. 2017-02-23 13:17:23 +01:00
bitmaps_png Add a ruler tool to pcbnew GAL 2017-03-10 16:21:44 +01:00
common Rework zone creation in GAL 2017-03-22 17:18:12 +01:00
cvpcb Better footprint association and filtering: 2017-02-26 18:15:23 +01:00
demos Action plugins: handle undo/redo feature when running an action plugin. 2017-02-06 08:39:32 +01:00
eeschema De-templatify CMP_TREE_MODEL_ADAPTER::FindAndExpand 2017-03-21 22:45:36 -04:00
gerbview Move cursor shape flag into GAL settings 2017-03-22 10:24:48 +01:00
helpers Extended fixes_alias description 2016-10-07 16:52:52 +02:00
include Rework zone creation in GAL 2017-03-22 17:18:12 +01:00
kicad Fix warning about creation of null reference 2017-03-17 22:15:23 -04:00
lib_dxf Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
new Move the non shared file class_sch_screen.h to eeschema folder. Code cleaning. Remove some wxCHECK_VERSION tests now useless. 2015-07-29 20:06:45 +02:00
pagelayout_editor Remove false "override" comments. 2017-03-06 16:34:56 -05:00
patches Patch OpenCascade Community Edition (OCE) to fix mingw UTF8 file name bug. 2017-03-14 18:48:08 -04:00
pcb_calculator Calculator: Simplify color code tolerance chooser + typo 2017-03-13 09:56:31 -04:00
pcbnew Rework zone creation in GAL 2017-03-22 17:18:12 +01:00
plugins Workaround for non-ASCII filenames in Windows 2017-03-03 14:30:47 -05:00
polygon Update Clipper to 6.4.2 2017-03-01 14:55:21 +01:00
potrace Update potrace library from 1.12 to 1.13, due to a bug fix in 1.13 2016-02-28 18:04:51 +01:00
qa Fix PAD_SHAPE_T value in a old python script 2016-11-25 14:52:34 +01:00
resources/linux/mime Add mime package for gerber and excellon files 2016-06-08 09:41:36 +02:00
scripting Pcbnew: Add ACTION_PLUGINS class. It allows loading python scripts in footprint editor and run them from the Tools/External Plugins menu 2017-01-23 13:27:49 +01:00
scripts Add python script for DDR3 length matching using T topology. 2016-09-28 11:02:05 -04:00
template Make pagelayout_default.kicad_wks match defaultPageLayout 2016-09-17 12:05:41 -04:00
tools Fix building benchmark test 2017-03-08 10:45:26 -05:00
utils mark override 2 virtual methods. 2017-03-18 09:39:56 +01:00
.gitignore gitignore: add .DS_Store 2017-01-23 09:08:22 -05:00
AUTHORS.txt Update credits in AUTHORS.txt and about dialog. 2015-11-29 14:02:42 -05:00
CMakeLists.txt Switched coroutine library from Boost libcotext to custom libcontext. 2017-03-07 11:45:29 -05:00
CTestConfig.cmake See CHANGELOG.txt 2010-02-14 14:59:43 +00:00
Doxyfile Remove MaxUndoItems, make devel option DevelMaxUndoItems 2016-05-12 12:51:32 -04:00
INSTALL.txt Updated INSTALL.txt to list new dependncies. Fixed a dead link to documentation as well. 2016-09-04 18:34:29 -04:00
README.txt Update the REAMDE.txt to reflect the current structure 2016-09-16 16:43:19 -04:00
TODO.txt Modular KiCad Blueprint Milestone B), major portions: 2014-08-13 15:28:54 -05:00
_clang-format Tweak _clang-format to bring closer to 'normal' KiCad style 2017-03-20 09:45:51 -04:00
copyright.h Update year in copyright header template 2017-03-19 09:18:40 -04:00
license_for_documentation.txt 1) Add "rules" to base of tree for copying into BZR_HOME/rules. 2013-05-25 23:36:44 -05:00
uncrustify.cfg Fix case statement indentation setting for uncrustify. 2015-01-08 09:02:27 -05:00

README.txt

KiCad README
============
For specific documentation like Compiling, GUI translation, old
changelogs see the Documentation subfolder.

Files
-----
AUTHORS.txt       - The authors, contributors, document writers and translators list
CMakeList.txt     - Main CMAKE build tool script
COPYRIGHT.txt     - A copy of the GNU General Public License Version 2
CTestConfig.cmake - Support for CTest and CDash testing tools
Doxyfile          - Doxygen config file for KiCad
INSTALL.txt       - The release (binary) installation instructions
TODO.txt          - Todo list (looks outdated)
uncrustify.cfg    - Uncrustify config file for uncrustify sources formatting tool

Subdirectories
--------------
3d-viewer         - Sourcecode of the 3D viewer
bitmap2component  - Sourcecode of the bitmap to pcb artwork converter
bitmaps_png       - Menu and program icons
CMakeModules      - Modules for the CMAKE build tool
common            - Sourcecode of the common library
cvpcb             - Sourcecode of the CvPCB tool
demos             - Some demo examples
Documentation     - Developer documentation. Old changelogs etcetera.
eeschema          - Sourcecode of the schematic editor
gerbview          - Sourcecode of the gerber viewer
helpers           - Helper tools and utilities for development
include           - Interfaces to the common library
kicad             - Sourcecode of the project manager
lib_dxf           - Sourcecode of the polygon library
new               - Staging area for the new schematic library format
pagelayout_editor - Sourcecode of the pagelayout editor
patches           - Collection of patches for external dependencies
pcbnew            - Sourcecode of the printed circuit board editor
plugins           - Sourcecode of the new plugin concept
polygon           - Sourcecode of the polygon library
potrace           - Sourcecode of the potrace library
qa                - Testcases using the python interface
resources         - Resources for freedesktop mime-types for linux
scripting         - SWIG Python scripting definitions
scripts           - Helper scripts for various things
template          - Project and pagelayout templates
tools             - Other miscellaneous helpers for testing
utils             - Small utils for kicad, e.g. IDF tools