2011-09-23 13:57:12 +00:00
|
|
|
/**
|
|
|
|
* @file pcbnew/pcbplot.h
|
|
|
|
*/
|
2007-06-05 12:10:51 +00:00
|
|
|
|
|
|
|
#ifndef PCBPLOT_H
|
|
|
|
#define PCBPLOT_H
|
|
|
|
|
2012-02-01 11:42:18 +00:00
|
|
|
#include "pcb_plot_params.h"
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2011-09-23 13:57:12 +00:00
|
|
|
|
|
|
|
class PLOTTER;
|
|
|
|
class TEXTE_PCB;
|
|
|
|
class DRAWSEGMENT;
|
|
|
|
class DIMENSION;
|
|
|
|
class EDGE_MODULE;
|
|
|
|
class PCB_TARGET;
|
|
|
|
class ZONE_CONTAINER;
|
|
|
|
|
|
|
|
|
2011-12-31 05:44:00 +00:00
|
|
|
// Shared Config keys for plot and print
|
2009-08-28 18:03:22 +00:00
|
|
|
#define OPTKEY_LAYERBASE wxT( "PlotLayer_%d" )
|
|
|
|
#define OPTKEY_PRINT_X_FINESCALE_ADJ wxT( "PrintXFineScaleAdj" )
|
|
|
|
#define OPTKEY_PRINT_Y_FINESCALE_ADJ wxT( "PrintYFineScaleAdj" )
|
|
|
|
#define OPTKEY_PRINT_SCALE wxT( "PrintScale" )
|
2009-10-23 07:41:29 +00:00
|
|
|
#define OPTKEY_PRINT_MODULE_SCALE wxT( "PrintModuleScale" )
|
|
|
|
#define OPTKEY_PRINT_PAGE_FRAME wxT( "PrintPageFrame" )
|
2009-11-20 14:55:20 +00:00
|
|
|
#define OPTKEY_PRINT_MONOCHROME_MODE wxT( "PrintMonochrome" )
|
2010-01-09 20:25:39 +00:00
|
|
|
#define OPTKEY_PRINT_PADS_DRILL wxT( "PrintPadsDrillOpt" )
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2011-12-31 05:44:00 +00:00
|
|
|
// Conversion unit constants.
|
|
|
|
// Convert pcb dimension of 0.1 mil to PS units of inches.
|
2007-06-05 12:10:51 +00:00
|
|
|
#define SCALE_PS .0001
|
2011-12-31 05:44:00 +00:00
|
|
|
// Convert dimension 0.1 mil -> HPGL units:
|
2007-06-05 12:10:51 +00:00
|
|
|
#define SCALE_HPGL 0.102041
|
|
|
|
|
2010-01-09 20:25:39 +00:00
|
|
|
// Small drill marks diameter value (in internal value = 1/10000 inch)
|
|
|
|
#define SMALL_DRILL 150
|
|
|
|
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-08-29 10:20:48 +00:00
|
|
|
void PlotTextePcb( PLOTTER* plotter, TEXTE_PCB* pt_texte, int masque_layer,
|
2012-01-03 17:14:17 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-11-20 14:55:20 +00:00
|
|
|
/* Plat PCB text type, ie other than text on modules
|
|
|
|
* prepare the plot settings of text */
|
2009-08-29 10:20:48 +00:00
|
|
|
void PlotDrawSegment( PLOTTER* plotter, DRAWSEGMENT* PtSegm, int masque_layer,
|
2012-01-03 17:14:17 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2010-04-23 09:54:40 +00:00
|
|
|
void PlotDimension( PLOTTER* plotter, DIMENSION* Dimension, int masque_layer,
|
2012-01-03 17:14:17 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2011-09-07 19:41:04 +00:00
|
|
|
void PlotPcbTarget( PLOTTER* plotter, PCB_TARGET* PtMire, int masque_layer,
|
2012-01-03 17:14:17 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2009-08-29 10:20:48 +00:00
|
|
|
void Plot_1_EdgeModule( PLOTTER* plotter, EDGE_MODULE* PtEdge,
|
2012-02-01 11:42:18 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode, int masque_layer );
|
2009-03-18 15:38:16 +00:00
|
|
|
|
2009-08-29 10:20:48 +00:00
|
|
|
void PlotFilledAreas( PLOTTER* plotter, ZONE_CONTAINER* aZone,
|
2012-01-03 17:14:17 +00:00
|
|
|
EDA_DRAW_MODE_T trace_mode );
|
2008-10-07 12:10:24 +00:00
|
|
|
|
2011-12-31 05:44:00 +00:00
|
|
|
// PLOTGERB.CPP
|
2009-08-29 10:20:48 +00:00
|
|
|
void SelectD_CODE_For_LineDraw( PLOTTER* plotter, int aSize );
|
2007-06-05 12:10:51 +00:00
|
|
|
|
2007-08-24 10:10:42 +00:00
|
|
|
|
2011-12-31 05:44:00 +00:00
|
|
|
#endif // #define PCBPLOT_H
|