1. 26 Jan, 2014 1 commit
  2. 24 Nov, 2013 1 commit
  3. 05 Nov, 2013 1 commit
    • jean-pierre charras's avatar
      Pcbnew: Fix incorrect bounding box calculation of texts. Only noticeable with... · 44d96074
      jean-pierre charras authored
      Pcbnew: Fix incorrect bounding box calculation of texts. Only noticeable with boards conveted from Eagle, which are using other text justification than center.
      Eagle plugin: filter and replace not allowed chars in FPID(-':' and '/')  by _ or -, if they are used in Eagle footprint names (otherwise, boards converted and saved under kicad_pcb format are not readable by Pcbnew).
      44d96074
  4. 02 Oct, 2013 1 commit
  5. 04 Sep, 2013 1 commit
  6. 03 Sep, 2013 1 commit
  7. 09 Aug, 2013 1 commit
  8. 29 Jun, 2013 1 commit
  9. 05 May, 2013 2 commits
  10. 01 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Angle and distances cleanup (preparing for angles in doubles) · 0e903dba
      Lorenzo Marcantonio authored
      - Removed spurious int casts (these are truncated anyway and will break
        doubles)
      
      - Applied the Distance, GetLineLength, EuclideanNorm, DEG2RAD, RAD2DEG
        ArcTangente and NORMALIZE* functions where possible
      
      - ArcTangente now returns double and handles the 0,0 case like atan2, so
        it's no longer necessary to check for it before calling
      
      - Small functions in trigo moved as inline
      0e903dba
  11. 09 Apr, 2013 3 commits
  12. 07 Apr, 2013 1 commit
  13. 02 Apr, 2013 2 commits
    • Maciej Suminski's avatar
    • Maciej Suminski's avatar
      Introduction of Graphics Abstraction Layer based rendering for pcbnew. · e262b321
      Maciej Suminski authored
      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
      e262b321
  14. 31 Mar, 2013 2 commits
  15. 26 Mar, 2013 1 commit
  16. 18 Mar, 2013 1 commit
    • Wayne Stambaugh's avatar
      More encapsulation work. · 7d0ec1a1
      Wayne Stambaugh authored
      * Complete encapsulation of the MODULE class.
      * Complete encapsulation of the EDA_TEXT class.
      * Encapsulate most of the ZONE_CONTAINER class.
      * Add pcbcommon library as a dependency for reSWIGging the scripting
        support.  This should cover most dependency cases.
      7d0ec1a1
  17. 13 Mar, 2013 1 commit
    • Wayne Stambaugh's avatar
      Pcbnew encapsulation and code cleaning. · 42d7bf6c
      Wayne Stambaugh authored
      * Encapsulate most of the MODULE class.
      * Start encapsulating the DIMENSION class.
      * Lay some groundwork for EDA_TEXT encapsulation.
      * Move cleverly hidden MODULE functions into class_module.cpp.
      * Use std::swap to exchange TEXTE_PCB values for undo/redo.
      * Remove unused members from MODULE class.
      * The usual coding policy and documentation fixes.
      42d7bf6c
  18. 12 Jan, 2013 1 commit
    • Wayne Stambaugh's avatar
      Base object decoupling improvements. · f8a56d44
      Wayne Stambaugh authored
      * Improve MSG_PANEL_ITEM to handle message panel information.
      * Create containers for passing message panel items between objects and
        the message panel.
      * Rename EDA_ITEM::DisplayInfo to EDA_ITEM::GetMsgPanelInfo.
      * Remove all direct manipulation of EDA_DRAW_FRAME from all objects derived
        from EDA_ITEM.
      f8a56d44
  19. 02 Sep, 2012 2 commits
  20. 01 Sep, 2012 1 commit
  21. 11 Aug, 2012 1 commit
  22. 08 Jun, 2012 1 commit
  23. 31 May, 2012 1 commit
  24. 27 Apr, 2012 1 commit
  25. 22 Apr, 2012 1 commit
  26. 12 Apr, 2012 1 commit
    • Wayne Stambaugh's avatar
      Internal unit improvements and Pcbnew s-expression file format changes. · bed96be7
      Wayne Stambaugh authored
      * Move EDA_TEXT object into separate header and source file.
      * Compile EDA_TEXT class separately for BOARD_ITEM and SCH_ITEM units.
      * Compile PAGE_INFO  class separately for BOARD_ITEM and SCH_ITEM units.
      * Minor formatting tweaks to Pcbnew s-expression file.
      * Move internal unit formatting functions into BOARD_ITEM and SCH_ITEM.
      bed96be7
  27. 07 Apr, 2012 1 commit
    • Wayne Stambaugh's avatar
      Pcbnew s-expression file format changes. · 9c16a218
      Wayne Stambaugh authored
      * Save dialog now supports saving boards to new file format.
      * Add CMake option to build s-expression file save.
      * Add check to main CMakeList.txt file to make sure nanometers are
        enables when the new file format is built.
      * Minor tweaks to object format functions for improved output.
      * Rename kicad_plugin.h/cpp to legacy_plugin.h/cpp.
      9c16a218
  28. 01 Apr, 2012 1 commit
    • Wayne Stambaugh's avatar
      Initial Pcbnew s-expression file format commit. · d7feb9ab
      Wayne Stambaugh authored
      * Add s-expression Format() function to all objects derived from
        BOARD_ITEM.
      * Add s-expression Format() function to base objects as required.
      * Add functions to convert coordinates from base internal units
        (nanometers) to millimeter string for writing to s-expression
        file.
      * Add temporary dummy conversion functions to prevent link errors
        until schematic and board object and action code can be separated
        into DSO/DLL.
      * Add CMake build option to build Pcbnew with nanometer internal
        units.
      d7feb9ab
  29. 26 Mar, 2012 1 commit
    • Wayne Stambaugh's avatar
      Minor code improvements and coding policy fixes. · 45445dd8
      Wayne Stambaugh authored
      * BLOCK_SELECTOR class is not longer derived from EDA_ITEM.
      * Encapsulate BLOCK_SELECTOR class member variables and add access methods.
      * Move HandleBlockBegin() function from block_commande.cpp to drawframe.cpp.
      * Remove virtual methods from top level derived objects per future
        coding policy change.
      * Remove Doxygen copydoc statement from objects derived from EDA_ITEM
        since the comments are automatically copied to the derived object.
      * Removed copy and pasted Doxygen comments from objects derived from
        EDA_ITEM.
      45445dd8
  30. 17 Mar, 2012 1 commit
  31. 15 Mar, 2012 1 commit
  32. 23 Jan, 2012 1 commit
  33. 14 Jan, 2012 1 commit
    • Wayne Stambaugh's avatar
      Pcbnew object improvements. · 5289c220
      Wayne Stambaugh authored
      * Remove unnecessary copy constructors from board and module library
        objects.
      * Add doClone() method to board and library objects.
      * Add comment to class definitions where the default copy constructor
        generated by the compiler was adequate.
      * Replace copy method with clone method where applicable.
      * Remove DuplicateStruct() function.
      * Remove track object copy function.
      5289c220
  34. 03 Jan, 2012 1 commit