Commit Graph

38 Commits

Author SHA1 Message Date
Maciej Suminski f9d74ccb70 Removed shaderless OpenGL backend. 2013-07-29 16:38:07 +02:00
Maciej Sumiński 07781d34be Removed KICAD_GAL CMake option. 2013-07-07 02:30:28 +02:00
Maciej Suminski 04b4f236be Switching to OpenGL using shaders backend on the fly (changed keyboard shortcuts: different backends are available using Alt+F9..F12). 2013-06-04 16:18:33 +02:00
Maciej Suminski 820e6e5e16 Introduced Cairo-based rendering backend using GAL.
Moved switching canvas routines to pcbnew, as they are used only there right now (otherwise libgal would have to be linked to every Kicad application).
2013-04-15 17:57:03 +02:00
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
jean-pierre charras 8f52ba14db Pcbnew: minor enhancements. 2012-12-01 21:03:33 +01:00
jean-pierre charras 3ff16a0b14 Pcbnew: fix compil error I created in my previous commit.
All: fix some Doxygen warnings
2012-09-12 13:11:30 +02:00
Marco Mattila b7c5649463 Add copy to text items in pcbnew. Automatically mirror text items added to back silkscreen (bug 1017446). 2012-07-04 22:50:47 +03:00
Marco Mattila 7bdcad155a Add flip to pcbnew text fields. 2012-05-30 20:38:52 +03:00
jean-pierre charras 40c5a46f38 Libedit: fix Bug #994014.
Pcbnew: fix Pcbnew name capitalization in messages.
About dialog: add a link to kicad-pcb.org
2012-05-13 17:31:58 +02:00
Miguel Angel Ajo 6c0c4dbeb5 Added hotkey for high contrast mode as 'H' 2012-02-19 18:33:06 +01:00
jean-pierre charras fa470d5c4a Pcbnew: Added: modview. This footprint viewer frame which has the same purpose as Viewlib in Eeschema.
this viewer is built using the new  FOOTPRINT_VIEWER_FRAME class.
2012-02-09 21:33:38 +01:00
Dick Hollenbeck b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
Wayne Stambaugh c09bc26dc2 Minor PCBNew code fixes.
* Translate French code names and comments.
* Dead code removal.
* Hot key object and structure coding style policy fixes.
* Doxygen comment warning fixes.
2011-09-29 12:49:40 -04:00
Roman Bashkov c5e1c249bb pcbnew:
* Add hotkey fast switch to two grids: for place and trace
	Alt+"1" - switch grid for place module
	Alt+"2" - switch grid for trace
  This two grid set in dialog - menu Preferences->Dimensions->Grid.
* Add hotkey switch grid:
	"`" - switch to next grid
	Ctrl+"`" - switch to previous grid
* Add hotkey switch track width:
	"W" - switch to next track width
	Ctrl+"W" - switch to previous track width
cmakemodules:
* Add GOST to KICAD_BUILD_VERSION if define KICAD_GOST.
2011-09-09 15:02:03 +04:00
Andrey Fedorushkov 9f98995a46 pcbnew:
* Add hotkey "P" - place item
* Add record and play macros for sequence hotkey.
Macros set to numeric key 0..9.
<Ctrl>+<numkey> - start record macros
<hotkey> <mouse move> ... <hotkey>|<mouse place>
<Ctrl>+<numkey> - end record macros
<numkey> - play macros
* Add menu save/read macros to/from xml-file
* Add configure rotate angle for rotate module: 45 or 90 deg.
* fix segfault when move/drag segment if disconnected to pad
2011-09-07 13:27:02 +04:00
Andrey Fedorushkov 2571080ef2 pcbnew: add hotkey 'D' - drag track segment keep slope 2011-08-30 13:42:42 +04:00
Wayne Stambaugh 7cb34aece7 Schematic component object encapsulation and Doxygen comment warning fixes. 2010-12-14 10:56:30 -05:00
jean-pierre charras 259d9a024c Pcbnew: gen drill files code cleanup. Fix minor bug 680558 2010-11-24 16:10:33 +01:00
jean-pierre charras 7774d684c7 Pcbnew: Added move and rotate hot keys in board editor. hotkeys.cpp code cleaned. Fixed a bug that can crashes Pcbnew when switching track posture. 2010-08-17 12:41:44 +02:00
jean-pierre charras 0e7fa2224b merge trunk. Prepare hotkeys move and rotate items in board editor 2010-08-12 21:41:13 +02:00
jean-pierre charras dcf7542514 Added hotkey E to edit items. Minor code cleaning 2010-08-10 20:34:26 +02:00
jean-pierre charras 2f5c24aeee added track posture pacth from lorenzo marcantonio 2010-06-16 17:01:45 +02:00
charras 25720516c9 Eeschema, libedit: fixed add/remove alias functions, broken
All: added in popup menus hotkeys info for zoom commands
2010-02-14 18:14:33 +00:00
charras 9d400e4c19 fixed some (minors) problems about hotkeys.
Code cleaning.
Patch for 3D problem with macOSX
2010-01-19 20:43:44 +00:00
jerryjacobs 73f83c0509 See CHANGELOG.txt 2010-01-17 20:25:10 +00:00
faa 0eaafe7945 minor code cleanup 2009-12-04 07:01:26 +00:00
faa 0084b53efb pcbnew: add new hotkey X - add new track/segment 2009-12-03 12:28:04 +00:00
charras e832a6b875 pcbnew: fixed: footprint flip and rotate with hotkeys not undoable. 2009-12-02 09:59:49 +00:00
charras 24ce940901 more about Netclasses work 2009-10-03 17:18:08 +00:00
dickelbeck 8b3d5a69cf Øyvind's patch 2009-09-27 14:09:26 +00:00
jerryjacobs db6630b81c Added hauptmech big patch, Updated documentation to match this patch. See CHANGELOG.txt 2009-06-19 20:13:22 +00:00
CHARRAS e3a3d16af8 small bugs fixed. Added: Support for microvias (see changelog) 2008-01-12 20:31:56 +00:00
CHARRAS 542b944196 hotkeys handling finished 2007-09-19 15:29:50 +00:00
CHARRAS d6072d8ac9 Programmable hotkeys added in gerbview. Fixed a compilation probleme in ansi mode (non unicode mode). 2007-09-10 04:51:01 +00:00
CHARRAS e27d3f8c78 more work on programmable hotkeys. Most of features are ok. 2007-09-06 11:52:26 +00:00
dickelbeck 6d375d4775 eol property to native 2007-08-30 14:57:35 +00:00
CHARRAS f5eae50680 more work on hotkeys. many features are ok. 2007-08-30 08:15:05 +00:00