/**************************************************************/ /* pcbstruct.h : some classes and definitions used in pcbnew */ /**************************************************************/ #ifndef PCBSTRUCT_H #define PCBSTRUCT_H #include "base_struct.h" #include "class_base_screen.h" #include "class_board_item.h" #include "layers_id_colors_and_visibility.h" // Definitions relatives aux libraries #define ENTETE_LIBRAIRIE "PCBNEW-LibModule-V1" #define ENTETE_LIBDOC "PCBNEW-LibDoc----V1" #define L_ENTETE_LIB 18 #define EXT_DOC wxT( "mdc" ) #define FLAG1 (1 << 13) // flag for free local computations #define FLAG0 (1 << 12) // flag for free local computations #define BEGIN_ONPAD (1 << 11) // flag indicating a start of segment pad #define END_ONPAD (1 << 10) // flag indicating an end of segment pad #define BUSY (1 << 9) // flag indicating that the structure has // already been edited, in some routines #define DELETED (1 << 8) // structures erased and set string "DELETED" #define NO_TRACE (1 << 7) // The element must not be displayed #define SURBRILL (1 << 5) // element highlighted #define DRAG (1 << 4) // segment in drag mode #define EDIT (1 << 3) // element being edited #define SEGM_FIXE (1 << 2) // segment fixed (not erase global) #define SEGM_AR (1 << 1) // segment marked for auto routing #define CHAIN (1 << 0) // mark segment class NETINFO_ITEM; class MARKER_PCB; class RATSNEST_ITEM; /* main window classes : */ #include "wxBasePcbFrame.h" /* Class to handle a board */ #include "class_board.h" // Values for m_DisplayViaMode member: enum DisplayViaMode { VIA_HOLE_NOT_SHOW = 0, VIA_SPECIAL_HOLE_SHOW, ALL_VIA_HOLE_SHOW, OPT_VIA_HOLE_END }; /* Handle info to display a board */ #include "class_pcb_screen.h" /**********************************/ /* Module (Footprint) description */ /**********************************/ #include "class_pad.h" // class for pads #include "class_edge_mod.h" // Class for footprint graphic elements #include "class_text_mod.h" // Class for footprint fields #include "class_module.h" // Class for the footprint #include "class_netinfo.h" // Class for nets #include "class_drawsegment.h" #include "class_pcb_text.h" #include "class_dimension.h" #include "class_mire.h" #include "class_track.h" #include "class_marker_pcb.h" #include "class_zone.h" /* Values for DISPLAY_OPTIONS.ShowTrackClearanceMode parameter option * This parameter controls how to show tracks and vias clearance area */ enum ShowTrackClearanceModeList { DO_NOT_SHOW_CLEARANCE = 0, // Do not show clearance areas SHOW_CLEARANCE_NEW_TRACKS, /* Show clearance areas only * for new track during track * creation */ SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS, /* Show clearance areas only * for new track during track * creation, and shows a via * clearance area at end of * current new segment (guide * to place a new via */ SHOW_CLEARANCE_ALWAYS /* Show Always clearance areas * for track and vias */ }; class DISPLAY_OPTIONS { public: bool DisplayPadFill; bool DisplayViaFill; bool DisplayPadNum; bool DisplayPadIsol; int DisplayModEdge; int DisplayModText; bool DisplayPcbTrackFill; /* FALSE = sketch , TRUE = filled */ int ShowTrackClearanceMode; /* = 0 , 1 or 2 * 0 = do not show clearance * 1 = show track clearance * 2 = show clearance + via area * (useful to know what clearance area is * needed if we want to put a via on * terminal track point) */ int m_DisplayViaMode; /* 0 do not show via hole, * 1 show via hole for non default value * 2 show all via hole */ bool DisplayPolarCood; int DisplayZonesMode; int DisplayNetNamesMode; /* 0 do not show netnames, * 1 show netnames on pads * 2 show netnames on tracks * 3 show netnames on tracks and pads */ int DisplayDrawItems; bool ContrastModeDisplay; public: DISPLAY_OPTIONS(); }; #endif // PCBSTRUCT_H