Commit d8485267 authored by dickelbeck's avatar dickelbeck

plot fill patch

parent dfce81f4
...@@ -69,7 +69,7 @@ bool CloseFileHPGL( FILE* plot_file ) ...@@ -69,7 +69,7 @@ bool CloseFileHPGL( FILE* plot_file )
} }
/************************************************************/ /************************************************************/
void PlotRectHPGL( wxPoint p1, wxPoint p2, int fill, int width ) void PlotRectHPGL( wxPoint p1, wxPoint p2, bool fill, int width )
/************************************************************/ /************************************************************/
{ {
char Line[256]; char Line[256];
...@@ -86,7 +86,7 @@ void PlotRectHPGL( wxPoint p1, wxPoint p2, int fill, int width ) ...@@ -86,7 +86,7 @@ void PlotRectHPGL( wxPoint p1, wxPoint p2, int fill, int width )
/************************************************************/ /************************************************************/
void PlotCircleHPGL( wxPoint centre, int diameter, int fill, int width ) void PlotCircleHPGL( wxPoint centre, int diameter, bool fill, int width )
/************************************************************/ /************************************************************/
{ {
int rayon; int rayon;
...@@ -107,7 +107,7 @@ void PlotCircleHPGL( wxPoint centre, int diameter, int fill, int width ) ...@@ -107,7 +107,7 @@ void PlotCircleHPGL( wxPoint centre, int diameter, int fill, int width )
/********************************************************************/ /********************************************************************/
void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, int width ) void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, bool fill, int width )
/********************************************************************/ /********************************************************************/
/* trace d'un arc de cercle: /* trace d'un arc de cercle:
...@@ -153,7 +153,7 @@ void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill ...@@ -153,7 +153,7 @@ void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill
/*****************************************************/ /*****************************************************/
void PlotPolyHPGL( int nb, int* coord, int fill, int width ) void PlotPolyHPGL( int nb, int* coord, bool fill, int width )
/*****************************************************/ /*****************************************************/
/* Trace un polygone (ferme si rempli) en format HPGL /* Trace un polygone (ferme si rempli) en format HPGL
......
...@@ -114,19 +114,19 @@ void PlotFilledSegmentPS( wxPoint start, wxPoint end, int width ) ...@@ -114,19 +114,19 @@ void PlotFilledSegmentPS( wxPoint start, wxPoint end, int width )
} }
/***************************************************************/ /***************************************************************/
void PlotRectPS( wxPoint p1, wxPoint p2, int fill, int width ) void PlotRectPS( wxPoint p1, wxPoint p2, bool fill, int width )
/***************************************************************/ /***************************************************************/
{ {
UserToDeviceCoordinate( p1 ); UserToDeviceCoordinate( p1 );
UserToDeviceCoordinate( p2 ); UserToDeviceCoordinate( p2 );
SetCurrentLineWidthPS( width ); SetCurrentLineWidthPS( width );
fprintf( PlotOutputFile, "%d %d %d %d rect%d\n", p1.x, p1.y, fprintf( PlotOutputFile, "%d %d %d %d rect%d\n", p1.x, p1.y,
p2.x-p1.x, p2.y-p1.y, fill ); p2.x-p1.x, p2.y-p1.y, fill );
} }
/******************************************************/ /******************************************************/
void PlotCirclePS( wxPoint pos, int diametre, int fill, int width ) void PlotCirclePS( wxPoint pos, int diametre, bool fill, int width )
/******************************************************/ /******************************************************/
{ {
int rayon; int rayon;
...@@ -145,7 +145,7 @@ void PlotCirclePS( wxPoint pos, int diametre, int fill, int width ) ...@@ -145,7 +145,7 @@ void PlotCirclePS( wxPoint pos, int diametre, int fill, int width )
/**************************************************************************************/ /**************************************************************************************/
void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, int width ) void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, bool fill, int width )
/**************************************************************************************/ /**************************************************************************************/
/* Plot an arc: /* Plot an arc:
...@@ -165,11 +165,11 @@ void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, ...@@ -165,11 +165,11 @@ void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill,
if( PlotOrientOptions == PLOT_MIROIR ) if( PlotOrientOptions == PLOT_MIROIR )
sprintf( Line, "%d %d %d %f %f arc%d\n", centre.x, centre.y, sprintf( Line, "%d %d %d %f %f arc%d\n", centre.x, centre.y,
(int) (rayon * XScale), (float) StAngle / 10, (float) EndAngle / 10, (int) (rayon * XScale), (float) StAngle / 10, (float) EndAngle / 10,
fill); fill);
else else
sprintf( Line, "%d %d %d %f %f arc%d\n", centre.x, centre.y, sprintf( Line, "%d %d %d %f %f arc%d\n", centre.x, centre.y,
(int) (rayon * XScale), -(float) EndAngle / 10, -(float) StAngle / 10, (int) (rayon * XScale), -(float) EndAngle / 10, -(float) StAngle / 10,
fill); fill);
// Undo internationalization printf (float x.y printed x,y) // Undo internationalization printf (float x.y printed x,y)
to_point( Line ); to_point( Line );
...@@ -178,7 +178,7 @@ void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, ...@@ -178,7 +178,7 @@ void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill,
/*****************************************************************/ /*****************************************************************/
void PlotPolyPS( int nb_segm, int* coord, int fill, int width ) void PlotPolyPS( int nb_segm, int* coord, bool fill, int width )
/*****************************************************************/ /*****************************************************************/
/* Draw a polygon ( a filled polygon if fill == 1 ) in POSTSCRIPT format /* Draw a polygon ( a filled polygon if fill == 1 ) in POSTSCRIPT format
...@@ -270,18 +270,18 @@ void PrintHeaderPS( FILE* file, const wxString& Creator, ...@@ -270,18 +270,18 @@ void PrintHeaderPS( FILE* file, const wxString& Creator,
" lineto\n", " lineto\n",
" stroke\n", " stroke\n",
"} bind def\n", "} bind def\n",
"/cir0 { newpath 0 360 arc stroke } bind def\n", "/cir0 { newpath 0 360 arc stroke } bind def\n",
"/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def\n", "/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def\n",
"/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def\n", "/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def\n",
"/arc0 { newpath arc stroke } bind def\n", "/arc0 { newpath arc stroke } bind def\n",
"/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def\n", "/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def\n",
"/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def\n", "/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill grestore stroke } bind def\n",
"/poly0 { stroke } bind def\n", "/poly0 { stroke } bind def\n",
"/poly1 { closepath gsave fill grestore stroke } bind def\n", "/poly1 { closepath gsave fill grestore stroke } bind def\n",
"/poly2 { closepath gsave fill grestore stroke } bind def\n", "/poly2 { closepath gsave fill grestore stroke } bind def\n",
"/rect0 { rectstroke } bind def\n", "/rect0 { rectstroke } bind def\n",
"/rect1 { rectfill } bind def\n", "/rect1 { rectfill } bind def\n",
"/rect2 { rectfill } bind def\n", "/rect2 { rectfill } bind def\n",
"gsave\n", "gsave\n",
"72 72 scale\t\t\t% Talk inches\n", "72 72 scale\t\t\t% Talk inches\n",
"1 setlinecap\n", "1 setlinecap\n",
......
...@@ -258,8 +258,8 @@ public: ...@@ -258,8 +258,8 @@ public:
class LibDrawCircle : public LibEDA_BaseStruct class LibDrawCircle : public LibEDA_BaseStruct
{ {
public: public:
int m_Rayon; int m_Rayon;
int m_Fill; bool m_Fill;
public: public:
LibDrawCircle(); LibDrawCircle();
......
/********************/ /********************/
/* plot_common.h */ /* plot_common.h */
/********************/ /********************/
#ifndef PLOT_COMMON_H #ifndef PLOT_COMMON_H
...@@ -61,12 +61,12 @@ void InitPlotParametresPS( wxPoint offset, ...@@ -61,12 +61,12 @@ void InitPlotParametresPS( wxPoint offset,
double yscale, double yscale,
int orient = 0 ); int orient = 0 );
void SetDefaultLineWidthPS( int width ); void SetDefaultLineWidthPS( int width );
void PlotRectPS(wxPoint p1, wxPoint p2, int fill, int width = -1); void PlotRectPS( wxPoint p1, wxPoint p2, bool fill, int width = -1 );
void PlotCirclePS( wxPoint pos, int diametre, int fill, int width = -1 ); void PlotCirclePS( wxPoint pos, int diametre, bool fill, int width = -1 );
void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, int width = -1 ); void PlotArcPS( wxPoint centre, int StAngle, int EndAngle, int rayon, bool fill, int width = -1 );
// Plot an arc: StAngle, EndAngle = start and end arc in 0.1 degree // Plot an arc: StAngle, EndAngle = start and end arc in 0.1 degree
void PlotPolyPS( int nb_segm, int* coord, int fill, int width = -1 ); void PlotPolyPS( int nb_segm, int* coord, bool fill, int width = -1 );
void PlotFilledSegmentPS( wxPoint start, wxPoint end, int width ); void PlotFilledSegmentPS( wxPoint start, wxPoint end, int width );
void LineTo_PS( wxPoint pos, int plume ); void LineTo_PS( wxPoint pos, int plume );
void PrintHeaderPS( FILE* file, void PrintHeaderPS( FILE* file,
...@@ -85,10 +85,10 @@ void SetColorMapPS( int color ); ...@@ -85,10 +85,10 @@ void SetColorMapPS( int color );
void InitPlotParametresHPGL( wxPoint offset, double xscale, double yscale, int orient = 0 ); void InitPlotParametresHPGL( wxPoint offset, double xscale, double yscale, int orient = 0 );
bool PrintHeaderHPGL( FILE* plot_file, int pen_speed, int pen_num ); bool PrintHeaderHPGL( FILE* plot_file, int pen_speed, int pen_num );
bool CloseFileHPGL( FILE* plot_file ); bool CloseFileHPGL( FILE* plot_file );
void PlotCircleHPGL( wxPoint centre, int diameter, int fill, int width = -1 ); void PlotCircleHPGL( wxPoint centre, int diameter, bool fill, int width = -1 );
void PlotRectHPGL(wxPoint t1, wxPoint t2, int fill, int width = -1); void PlotRectHPGL( wxPoint t1, wxPoint t2, bool fill, int width = -1 );
void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, int fill, int width = -1 ); void PlotArcHPGL( wxPoint centre, int StAngle, int EndAngle, int rayon, bool fill, int width = -1 );
void PlotPolyHPGL( int nb, int* coord, int fill, int width = -1 ); void PlotPolyHPGL( int nb, int* coord, bool fill, int width = -1 );
void Move_Plume_HPGL( wxPoint pos, int plume ); void Move_Plume_HPGL( wxPoint pos, int plume );
void Plume_HPGL( int plume ); void Plume_HPGL( int plume );
......
...@@ -791,7 +791,7 @@ void PlotCircle( int format_plot, int thickness, wxPoint centre, int radius ) ...@@ -791,7 +791,7 @@ void PlotCircle( int format_plot, int thickness, wxPoint centre, int radius )
break; break;
case PLOT_FORMAT_POST: case PLOT_FORMAT_POST:
PlotCirclePS( centre, radius * 2, thickness, 0); PlotCirclePS( centre, radius * 2, 0, thickness);
break; break;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment