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 |
||
---|---|---|
3d-viewer | ||
CMakeModules | ||
Documentation | ||
bitmap2component | ||
bitmaps_png | ||
common | ||
cvpcb | ||
demos | ||
eeschema | ||
gerbview | ||
helpers/tools_to_build_newstroke-font | ||
include | ||
kicad | ||
new | ||
packaging | ||
pcb_calculator | ||
pcbnew | ||
polygon | ||
potrace | ||
resources | ||
scripting | ||
scripts | ||
template | ||
tools | ||
.bzrignore | ||
AUTHORS.txt | ||
CHANGELOG.txt | ||
CMakeLists.txt | ||
COPYRIGHT.txt | ||
CTestConfig.cmake | ||
Doxyfile | ||
HOW_TO_CONTRIBUTE.txt | ||
INSTALL.txt | ||
README.txt | ||
TODO.txt | ||
copyright.h | ||
license_for_documentation.txt | ||
notes_about_pcbnew_new_file_format.odt | ||
uncrustify.cfg |
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)