You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							99 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							99 lines
						
					
					
						
							3.2 KiB
						
					
					
				
								/**************************************/
							 | 
						|
								/*	PCBNEW.H :  headers */
							 | 
						|
								/**************************************/
							 | 
						|
								#ifndef PCBNEW_H
							 | 
						|
								#define PCBNEW_H
							 | 
						|
								
							 | 
						|
								#include "pcbstruct.h"
							 | 
						|
								#include "macros.h"
							 | 
						|
								#include "pcbcommon.h"
							 | 
						|
								#include "class_board_design_settings.h"
							 | 
						|
								
							 | 
						|
								#define U_PCB (PCB_INTERNAL_UNIT / EESCHEMA_INTERNAL_UNIT)
							 | 
						|
								
							 | 
						|
								// Arcs are appromed by segments: define the number of segments per 360 deg (kicad use 0.1 deg approx:
							 | 
						|
								#define ARC_APPROX_SEGMENTS_COUNT_LOW_DEF 16        // be aware 3600/ARC_APPROX_SEGMENTS_COUNT_LOW_DEF is an integer
							 | 
						|
								#define ARC_APPROX_SEGMENTS_COUNT_HIGHT_DEF 32
							 | 
						|
								
							 | 
						|
								/* Flag used in locate functions
							 | 
						|
								 * the locate ref point is the on grid cursor or the off grid mouse cursor */
							 | 
						|
								#define CURSEUR_ON_GRILLE  (0 << 0)
							 | 
						|
								#define CURSEUR_OFF_GRILLE (1 << 0)
							 | 
						|
								
							 | 
						|
								#define IGNORE_LOCKED (1 << 1)          ///< if module is locked, do not select for single module operation
							 | 
						|
								#define MATCH_LAYER   (1 << 2)          ///< if module not on current layer, do not select
							 | 
						|
								#define VISIBLE_ONLY  (1 << 3)          ///< if module not on a visible layer, do not select
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#define START 0     /* Flag used in locale routines */
							 | 
						|
								#define END   1
							 | 
						|
								
							 | 
						|
								#define DIM_ANCRE_MODULE 3      /* Anchor size (footprint centre) */
							 | 
						|
								#define DIM_ANCRE_TEXTE  2      /* Anchor size (Text centre) */
							 | 
						|
								
							 | 
						|
								#define TEXTS_MIN_SIZE  50      // Min size in pcbnew units value (50 * 0.0001 mils)
							 | 
						|
								#define TEXTS_MAX_SIZE  100000  // Min size in pcbnew units value (1 inch) )
							 | 
						|
								#define TEXTS_MAX_WIDTH 5000    // Max width in pcbnew units value (0.5 inches)
							 | 
						|
								
							 | 
						|
								/* Used in Zoom menu */
							 | 
						|
								#define ZOOM_PLUS   -1
							 | 
						|
								#define ZOOM_MOINS  -2
							 | 
						|
								#define ZOOM_AUTO   -3
							 | 
						|
								#define ZOOM_CENTER -4
							 | 
						|
								#define ZOOM_REDRAW -5
							 | 
						|
								
							 | 
						|
								/* Flag to force the SKETCH mode to display items (.flags member) */
							 | 
						|
								#define FORCE_SKETCH (DRAG | EDIT )
							 | 
						|
								
							 | 
						|
								/* Flags used in read board file */
							 | 
						|
								#define APPEND_PCB 1    /* used to append the new board to the existing board */
							 | 
						|
								#define NEWPCB     0    /* used for normal load file */
							 | 
						|
								
							 | 
						|
								/* variables */
							 | 
						|
								extern bool Drc_On;
							 | 
						|
								extern bool g_AutoDeleteOldTrack;
							 | 
						|
								extern bool g_Drag_Pistes_On;
							 | 
						|
								extern bool g_Show_Module_Ratsnest;
							 | 
						|
								extern bool g_Show_Pads_Module_in_Move;
							 | 
						|
								extern bool g_Raccord_45_Auto;
							 | 
						|
								
							 | 
						|
								extern const wxString g_FootprintLibFileWildcard;   // Wildcard for footprint libraries filesnames
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								extern bool        g_Track_45_Only_Allowed;
							 | 
						|
								extern bool        Segments_45_Only;
							 | 
						|
								extern wxString    g_Shapes3DExtBuffer;
							 | 
						|
								extern wxString    g_DocModulesFileName;
							 | 
						|
								
							 | 
						|
								/* Variables used in footprint handling */
							 | 
						|
								extern wxSize      ModuleTextSize; /* Default footprint texts size */
							 | 
						|
								extern int         ModuleTextWidth;
							 | 
						|
								extern int         ModuleSegmentWidth;
							 | 
						|
								
							 | 
						|
								/* Layer pair for auto routing and switch layers by hotkey */
							 | 
						|
								extern int         Route_Layer_TOP;
							 | 
						|
								extern int         Route_Layer_BOTTOM;
							 | 
						|
								
							 | 
						|
								extern int         g_MaxLinksShowed; // Max count links showed in routing
							 | 
						|
								extern bool        g_TwoSegmentTrackBuild;
							 | 
						|
								
							 | 
						|
								extern int         g_MagneticPadOption;
							 | 
						|
								extern int         g_MagneticTrackOption;
							 | 
						|
								
							 | 
						|
								/* Variables to handle highlight nets */
							 | 
						|
								extern bool        g_HighLight_Status;
							 | 
						|
								extern int         g_HighLight_NetCode;
							 | 
						|
								
							 | 
						|
								extern wxPoint     g_Offset_Module;     /* Offset de trace du modul en depl */
							 | 
						|
								
							 | 
						|
								extern wxString    g_Current_PadName;   // Last used pad name (pad num)
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								enum MagneticPadOptionValues {
							 | 
						|
								    no_effect,
							 | 
						|
								    capture_cursor_in_track_tool,
							 | 
						|
								    capture_always
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								#endif /* PCBNEW_H */
							 |