kicad patches
Go to file
Maciej Suminski e262b32198 Introduction of Graphics Abstraction Layer based rendering for pcbnew.
New classes:
    - VIEW - represents view that is seen by user, takes care of layer ordering & visibility and how it is displayed (which location, how much zoomed, etc.)
    - VIEW_ITEM - Base class for every item that can be displayed on VIEW (the biggest change is that now it may be necessary to override ViewBBox & ViewGetLayers method for derived classes).
    - EDA_DRAW_PANEL_GAL - Inherits after EDA_DRAW_PANEL, displays VIEW output, right now it is not editable (in opposite to usual EDA_DRAW_PANEL).
    - GAL/OPENGL_GAL/CAIRO_GAL - Base Graphics Abstraction Layer class + two different flavours (Cairo is not fully supported yet), that offers methods to draw primitives using different libraries.
    - WX_VIEW_CONTROLS - Controller for VIEW, handles user events, allows zooming, panning, etc.
    - PAINTER/PCB_PAINTER - Classes that uses GAL interface to draw items (as you may have already guessed - PCB_PAINTER is a class for drawing PCB specific object, PAINTER is an abstract class). Its methods are invoked by VIEW, when an item has to be drawn. To display a new type of item - you need to implement draw(ITEM_TYPE*) method that draws it using GAL methods.
    - STROKE_FONT - Implements stroke font drawing using GAL methods.
                          
Most important changes to Kicad original code:
    * EDA_ITEM now inherits from VIEW_ITEM, which is a base class for all drawable objects.
    * EDA_DRAW_FRAME contains both usual EDA_DRAW_PANEL and new EDA_DRAW_PANEL_GAL, that can be switched anytime.
    * There are some new layers for displaying multilayer pads, vias & pads holes (these are not shown yet on the right sidebar in pcbnew)
    * Display order of layers is different than in previous versions (if you are curious - you may check m_galLayerOrder@pcbnew/basepcbframe.cpp). Preserving usual order would result in not very natural display, such as showing silkscreen texts on the bottom.
    * Introduced new hotkey (Alt+F12) and new menu option (View->Switch canvas) for switching canvas during runtime.
    * Some of classes (mostly derived from BOARD_ITEM) now includes ViewBBox & ViewGetLayers methods.
    * Removed tools/class_painter.h, as now it is extended and included in source code.
                         
Build changes:
    * GAL-based rendering option is turned on by a new compilation CMake option KICAD_GAL.
    * When compiling with CMake option KICAD_GAL=ON, GLEW and Cairo libraries are required.
    * GAL-related code is compiled into a static library (common/libgal).
    * Build with KICAD_GAL=OFF should not need any new libraries and should come out as a standard version of Kicad
                            
Currently most of items in pcbnew can be displayed using OpenGL (to be done are DIMENSIONS and MARKERS).
More details about GAL can be found in: http://www.ohwr.org/attachments/1884/view-spec.pdf
2013-04-02 08:54:03 +02:00
3d-viewer Encapsulation, bug, context menu string, and, coding policy fixes. 2013-03-20 10:50:12 -04:00
CMakeModules Add build option to use footprint library table. 2013-02-23 14:30:43 -05:00
Documentation Documentation and coding policy fixes. 2013-03-07 12:12:59 -05:00
bitmap2component [MacOSX] Updated Icons - Document ones still missing :( 2012-09-27 19:20:44 +02:00
bitmaps_png Eeschema: fix broken mirroring for texts and labels in block mirror X and Y (this fixes Bug #1135505) 2013-03-01 20:59:29 +01:00
common Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
cvpcb Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
demos Pcbnew: fix issues: Ensure pads type connector have a drill size= 0, like SMD pads. Ensure keepout zones have no net. 2013-03-10 14:59:47 +01:00
eeschema eeschema: fix build when KICAD_GOST ON (insert in bzr4019) 2013-03-24 00:37:48 +04:00
gerbview Pcbnew: print dialog: code cleanup and bug fixes (added some fixes from Sergey A. Borshch) 2013-03-11 20:30:58 +01:00
helpers/tools_to_build_newstroke-font See CHANGELOG.txt 2010-02-14 14:59:43 +00:00
include Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
kicad Kicad manager: fix bug: .kicad_pcb files not saved in zip file 2013-03-10 20:55:21 +01:00
new switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
packaging Last (minor) fixes for the stable version 2013-03-13 20:06:46 +01:00
pcb_calculator Configuration and compile documentation improvements. 2013-02-10 19:41:49 -05:00
pcbnew Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
polygon Pcbnew: Export vrml: fix an issue for 3D shapes having a local offset defined: the local offset was not correctly scaled. 2013-02-19 10:21:55 +01:00
potrace switch all <math.h> includes to <cmath> includes on an attempt to dodge some abiguous references to atan2() 2012-09-21 12:02:54 -05:00
resources Pcbnew: fix some minor issues. 2011-09-18 17:11:09 +02:00
scripting Pcbnew: fix Bug #1156193 . Fix compil issues when KICAD_SCRIPTING_WXPYTHON is not enabled and KICAD_SCRIPTING is enabled 2013-03-17 20:04:42 +01:00
scripts bom-in-python script does not compile 2012-01-23 09:32:08 -06:00
template Pcbnew, ModEdit: fix issue when setting anchor position, and minor code cleaning. 2013-03-23 14:30:00 +01:00
tools Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
.bzrignore Initial commit of footprint library table code. 2012-10-14 21:38:32 -04:00
AUTHORS.txt AUTHORS.txt: add some contributor names (I certainly forgot some other contributors, and I apologize). 2013-01-14 13:16:23 +01:00
CHANGELOG.txt Eliminate many assumptions in Pcbnew's library manager, pertaining to locality of libraries and 2012-11-19 10:19:38 -06:00
CMakeLists.txt Introduction of Graphics Abstraction Layer based rendering for pcbnew. 2013-04-02 08:54:03 +02:00
COPYRIGHT.txt Big cleanup of sourcetree root structure, added Documentation subfolder, moved packaging stuff for osx and windows (nsis) to packaging. 2009-10-15 18:44:06 +00:00
CTestConfig.cmake See CHANGELOG.txt 2010-02-14 14:59:43 +00:00
Doxyfile Doxygen warning fixes. 2012-12-18 08:54:44 -05:00
HOW_TO_CONTRIBUTE.txt Commit patch make by Fabrizio, with a minor change to avoid duplicate HTML dialog. 2011-09-06 09:02:18 +02:00
INSTALL.txt Restore INSTALL.txt, erroneously removed. 2012-01-27 19:56:06 +01:00
README.txt Fix some minor OS X issues 2011-08-30 09:35:40 +02:00
TODO.txt Documentation and coding policy fixes. 2013-03-07 12:12:59 -05:00
copyright.h changes 2012-01-14 19:31:39 -06:00
license_for_documentation.txt Pcbnew: First draft to use a new netlist format ( containing the same info as the intermediate netlist, but using S expressions) 2012-01-26 10:37:36 +01:00
notes_about_pcbnew_new_file_format.odt Identifiers and Strings edits 2009-12-23 14:45:50 +00:00
uncrustify.cfg remove "long double" dependency, mingw was falling over when using it. 2012-06-24 13:41:37 -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
CHANGELOG.txt   - This years changelog (see for previous years Documentation/changelogs)
CMakeList.txt   - CMAKE build tool script
COPYRIGHT.txt   - A copy of the GNU General Public License Version 2
CTestConfig.txt - Support for CTest and CDash testing tools
Doxyfile        - Doxygen preferences
INSTALL.txt     - The release (binairy) installation instructions
TODO.txt        - Todo list
uncrustify.cfg  - Uncrustify code formatting tool preferences
version.txt     - The current stable released version

Subdirectories
--------------
3d-viewer      - Sourcecode of 3D viewer
bitmaps        - Menu and program icons
bitmap2component - Sourcecode of a small application to create a footprint or a component from a B&W bitmap
                    this component or footprint has just graphic items that show the bitmap
CMakeModules   - Modules for the CMAKE build tool
common         - Sourcecode of the common library (common functions shared across whole suite)
cvpcb          - Sourcecode of CvPCB, tool to link components with footprints sourcecode
demos          - Some demo examples
Documentation  - Compiling documentation. Translating the GUI, 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
internat       - Internationalisation files
kicad          - Sourcecode of the project manager
packaging      - Files for packaging on Windows and Mac OSX
pcbnew         - Sourcecode of the printed circuit board editor
polygon        - Sourcecode of the polygon library
resources      - Resources for installation, freedesktop mime-types for linux
scripts        - Helper scripts. For building, sourcecode packaging, font setting, pcb adjusting.
template       - Project template(s)