Loading common/gr_basic.cpp +141 −146 Original line number Original line Diff line number Diff line Loading @@ -82,8 +82,9 @@ static void GRSFilledArc( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int StAngle int EndAngle, int r, int width, int Color, int BgColor ); int EndAngle, int r, int width, int Color, int BgColor ); static void GRSCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, static void GRSCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int aPenSize, int Color ); int width, int aPenSize, int Color ); static void GRSLineArray( EDA_Rect* ClipBox, wxDC* DC, wxPoint points[], int lines, int width, int Color ); static void GRSLineArray( EDA_Rect * aClipBox, wxDC * aDC, std::vector<wxPoint>& aLines, int aWidth, int aColor ); /**/ /**/ extern BASE_SCREEN* ActiveScreen; extern BASE_SCREEN* ActiveScreen; Loading Loading @@ -169,7 +170,9 @@ int GRMapY( int y ) #if defined( USE_WX_ZOOM ) #if defined( USE_WX_ZOOM ) // currently only used if USE_WX_ZOOM is defined. // currently only used if USE_WX_ZOOM is defined. /** /** * Test if any part of a line falls within the bounds of a rectangle. * Test if any part of a line falls within the bounds of a rectangle. * * Loading Loading @@ -254,7 +257,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) /* If we're here, something has gone terribly wrong. */ /* If we're here, something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif return false; return false; Loading Loading @@ -308,7 +312,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) /* If we're here, something has gone terribly wrong. */ /* If we're here, something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif return false; return false; Loading Loading @@ -386,7 +391,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) * something has gone terribly wrong. */ * something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS if( haveFirstPoint ) if( haveFirstPoint ) wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif } } Loading @@ -400,6 +406,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) return true; return true; } } #endif // if defined( USE_WX_ZOOM ) #endif // if defined( USE_WX_ZOOM ) Loading Loading @@ -532,6 +540,7 @@ static void WinClipAndDrawLine( EDA_Rect* ClipBox, wxDC* DC, #else #else if( clip_line( x1, y1, x2, y2 ) ) if( clip_line( x1, y1, x2, y2 ) ) #endif #endif return; return; } } Loading Loading @@ -566,10 +575,10 @@ void GRSetColorPen( wxDC* DC, int Color, int width, wxPenStyle style ) Color = BLACK; Color = BLACK; } } if( s_DC_lastcolor != Color || if( s_DC_lastcolor != Color s_DC_lastwidth != width || || s_DC_lastwidth != width s_DC_lastpenstyle != style || || s_DC_lastpenstyle != style s_DC_lastDC != DC ) || s_DC_lastDC != DC ) { { wxPen pen; wxPen pen; Loading @@ -585,7 +594,6 @@ void GRSetColorPen( wxDC* DC, int Color, int width, wxPenStyle style ) s_DC_lastwidth = width; s_DC_lastwidth = width; s_DC_lastpenstyle = style; s_DC_lastpenstyle = style; s_DC_lastDC = DC; s_DC_lastDC = DC; } } } } Loading @@ -595,9 +603,9 @@ void GRSetBrush( wxDC* DC, int Color, int fill ) if( s_ForceBlackPen ) if( s_ForceBlackPen ) Color = BLACK; Color = BLACK; if( s_DC_lastbrushcolor != Color || if( s_DC_lastbrushcolor != Color s_DC_lastbrushfill != fill || || s_DC_lastbrushfill != fill s_DC_lastDC != DC ) || s_DC_lastDC != DC ) { { wxBrush DrawBrush; wxBrush DrawBrush; DrawBrush.SetColour( MakeColour( Color ) ); DrawBrush.SetColour( MakeColour( Color ) ); Loading @@ -616,7 +624,6 @@ void GRSetBrush( wxDC* DC, int Color, int fill ) } } /** function GRForceBlackPen /** function GRForceBlackPen * @param flagforce True to force a black pen whenever the asked color * @param flagforce True to force a black pen whenever the asked color */ */ Loading @@ -642,30 +649,40 @@ void GRSetDrawMode( wxDC* DC, int draw_mode ) { { if( draw_mode & GR_OR ) if( draw_mode & GR_OR ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #elif defined( USE_WX_GRAPHICS_CONTEXT ) #elif defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxOR ); DC->SetLogicalFunction( wxOR ); #endif #endif else if( draw_mode & GR_XOR ) else if( draw_mode & GR_XOR ) #if defined( USE_WX_GRAPHICS_CONTEXT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxXOR ); DC->SetLogicalFunction( wxXOR ); #endif #endif else if( draw_mode & GR_NXOR ) else if( draw_mode & GR_NXOR ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) DC->SetLogicalFunction( wxXOR ); DC->SetLogicalFunction( wxXOR ); #elif defined( USE_WX_GRAPHICS_CONTEXT ) #elif defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxEQUIV ); DC->SetLogicalFunction( wxEQUIV ); #endif #endif else if( draw_mode & GR_INVERT ) else if( draw_mode & GR_INVERT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxINVERT ); DC->SetLogicalFunction( wxINVERT ); #endif #endif else else Loading Loading @@ -863,7 +880,6 @@ void GRSMoveTo( int x, int y ) } } /* /* * Draw line to a new position, in screen (pixels) space. * Draw line to a new position, in screen (pixels) space. */ */ Loading @@ -881,95 +897,65 @@ void GRSLine( EDA_Rect* ClipBox, GRLastMoveToY = y2; GRLastMoveToY = y2; } } /* * Draw an array of lines */ void GRLineArray(EDA_Rect* ClipBox, /** Function GRLineArray wxDC* DC, * draws an array of lines (not a polygon). wxPoint points[], * @param aClipBox = the clip box int lines, * @param aDC = the device context into which drawing should occur. int width, * @param aLines = a list of pair of coordinate in user space: a pair for each line. int Color ) * @param aWidth = the width of each line. * @param aColor = an index into our color table of RGB colors. * @see EDA_Colors and colors.h */ void GRLineArray( EDA_Rect* aClipBox, wxDC* aDC, std::vector<wxPoint>& aLines, int aWidth, int aColor ) { { for(int i= 0 ; i < lines; i++) for( unsigned i = 0; i < aLines.size(); i++ ) { { points[i].x = GRMapX( points[i].x ); aLines[i].x = GRMapX( aLines[i].x ); points[i].y = GRMapY( points[i].y ); aLines[i].y = GRMapY( aLines[i].y ); } } width = ZoomValue( width ); aWidth = ZoomValue( aWidth ); GRSLineArray(ClipBox,DC,points,lines,width,Color); GRSLineArray( aClipBox, aDC, aLines, aWidth, aColor ); } } void GRSLineArray(EDA_Rect* ClipBox, void GRSLineArray( EDA_Rect* aClipBox, wxDC* aDC, wxDC* DC, std::vector<wxPoint>& aLines, wxPoint points[], int aWidth, int aColor ) int lines, int width, int Color ) { { GRSetColorPen( DC, Color, width ); GRSetColorPen( aDC, aColor, aWidth ); #if defined( USE_WX_GRAPHICS_CONTEXT ) || defined(__WXMAC__) #if defined( USE_WX_GRAPHICS_CONTEXT ) || defined(__WXMAC__) wxGraphicsContext *gc = wxGraphicsContext::Create( DC ); wxGraphicsContext* gc = wxGraphicsContext::Create( aDC ); wxASSERT( gc ); wxASSERT( gc ); gc->Clip( ClipBox->GetX(), ClipBox->GetY(), ClipBox->GetRight(), ClipBox->GetHeight()); gc->Clip( aClipBox->GetX(), aClipBox->GetY(), aClipBox->GetRight(), aClipBox->GetHeight() ); wxGraphicsPath path = gc->CreatePath(); wxGraphicsPath path = gc->CreatePath(); for(int i= 0 ; i < lines; i+=2) for( unsigned i = 0; i < aLines.size(); ) { { path.MoveToPoint(points[i].x, points[i].y); path.MoveToPoint( aLines[i].x, aLines[i].y ); path.AddLineToPoint(points[i+1].x, points[i+1].y); i++; path.AddLineToPoint( aLines[i].x, aLines[i].y ); i++; } } gc->StrokePath( path ); gc->StrokePath( path ); gc->ResetClip(); gc->ResetClip(); delete gc; delete gc; #else #else for(int i= 0 ; i < lines; i+=2) for( unsigned i = 0; i < aLines.size(); ) { { WinClipAndDrawLine( ClipBox, DC, points[i].x , points[i].y, points[i+1].x , points[i+1].y, Color, width ); WinClipAndDrawLine( aClipBox, aDC, aLines[i].x, aLines[i].y, GRLastMoveToX = points[i+1].x; aLines[i + 1].x, aLines[i + 1].y, aColor, aWidth ); GRLastMoveToY = points[i+1].y; i++; } GRLastMoveToX = aLines[i].x; #endif GRLastMoveToY = aLines[i].y; i++; } } /* #endif * Move to a new position relative to current one, in object space. */ void GRMoveRel( int x, int y ) { GRLastMoveToX += ZoomValue( x ); GRLastMoveToY += ZoomValue( y ); } /* * Draw a line to a new position relative to current one, in object space. */ void GRLineRel( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ) { int GRLineToX = GRLastMoveToX, GRLineToY = GRLastMoveToY; GRLineToX += ZoomValue( x ); GRLineToY += ZoomValue( y ); GRSLine( ClipBox, DC, GRLastMoveToX, GRLastMoveToY, GRLineToX, GRLineToY, ZoomValue( width ), Color ); } } Loading @@ -983,6 +969,7 @@ void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, GRMapY( y2 ), ZoomValue( width ), ZoomValue( aPenSize ), Color ); GRMapY( y2 ), ZoomValue( width ), ZoomValue( aPenSize ), Color ); } } void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int Color ) int width, int Color ) { { Loading @@ -990,6 +977,7 @@ void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, GRMapY( y2 ), ZoomValue( width ), 0, Color ); GRMapY( y2 ), ZoomValue( width ), 0, Color ); } } void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, int aWidth, int aColor ) int aWidth, int aColor ) { { Loading @@ -998,6 +986,7 @@ void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, ZoomValue( aWidth ), 0, aColor ); ZoomValue( aWidth ), 0, aColor ); } } /* /* * Draw segment (full) with rounded ends in object space (real coords.). * Draw segment (full) with rounded ends in object space (real coords.). */ */ Loading Loading @@ -1060,6 +1049,7 @@ void GRSCSegm( EDA_Rect* ClipBox, #else #else if( clip_line( x1, y1, x2, y2 ) ) if( clip_line( x1, y1, x2, y2 ) ) #endif #endif return; return; } } Loading Loading @@ -1367,6 +1357,7 @@ void GRCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, int Color ) GRSCircle( ClipBox, DC, cx, cy, radius, 0, Color ); GRSCircle( ClipBox, DC, cx, cy, radius, 0, Color ); } } /* /* * Draw a circle in object space. * Draw a circle in object space. */ */ Loading @@ -1377,6 +1368,7 @@ void GRCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, int width, int GRSCircle( ClipBox, DC, GRMapX( x ), GRMapY( y ), r, width, Color ); GRSCircle( ClipBox, DC, GRMapX( x ), GRMapY( y ), r, width, Color ); } } /* /* * Draw a circle in object space. * Draw a circle in object space. */ */ Loading @@ -1400,6 +1392,7 @@ void GRFilledCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, Color, BgColor ); Color, BgColor ); } } /* /* * Draw a filled circle, in object space. * Draw a filled circle, in object space. */ */ Loading @@ -1410,6 +1403,7 @@ void GRFilledCircle( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aPos, int aRadius, i aColor, aColor ); aColor, aColor ); } } /* /* * Draw a filled circle, in drawing space. * Draw a filled circle, in drawing space. */ */ Loading Loading @@ -1440,7 +1434,6 @@ void GRSFilledCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, } } /* /* * Draw a circle in drawing space. * Draw a circle in drawing space. */ */ Loading Loading @@ -1498,6 +1491,7 @@ void GRArc1( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, Color ); Color ); } } void GRArc1( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, void GRArc1( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, wxPoint aCenter, int aWidth, int aColor ) wxPoint aCenter, int aWidth, int aColor ) { { Loading Loading @@ -1736,6 +1730,7 @@ void GRRect( EDA_Rect* aClipBox, wxDC* aDC, int x1, int y1, int x2, int y2, int GRSRect( aClipBox, aDC, x1, y1, x2, y2, 0, aColor ); GRSRect( aClipBox, aDC, x1, y1, x2, y2, 0, aColor ); } } void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aColor, wxPenStyle aStyle ) void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aColor, wxPenStyle aStyle ) { { int x1 = GRMapX( aRect.GetX() ); int x1 = GRMapX( aRect.GetX() ); Loading @@ -1761,6 +1756,7 @@ void GRRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int wi GRSRect( ClipBox, DC, x1, y1, x2, y2, width, Color ); GRSRect( ClipBox, DC, x1, y1, x2, y2, width, Color ); } } void GRRect( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aWidth, int aColor ) void GRRect( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aWidth, int aColor ) { { int x1 = GRMapX( aRect.GetX() ); int x1 = GRMapX( aRect.GetX() ); Loading Loading @@ -1845,7 +1841,6 @@ void GRSRect( EDA_Rect* aClipBox, wxDC* aDC, int x1, int y1, int x2, int y2, } } void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int x1, int y1, int x2, int y2, int width, int Color, int BgColor ) int width, int Color, int BgColor ) Loading gerbview/edit.cpp +1 −31 Original line number Original line Diff line number Diff line Loading @@ -116,26 +116,10 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event ) Close( TRUE ); Close( TRUE ); break; break; case ID_NEW_PROJECT: case ID_LOAD_PROJECT: Files_io( event ); break; case ID_GERBVIEW_GLOBAL_DELETE: case ID_GERBVIEW_GLOBAL_DELETE: Erase_Current_Layer( TRUE ); Erase_Current_Layer( TRUE ); break; break; case ID_GET_TOOLS: // InstallToolsFrame(this, wxPoint(-1,-1) ); break; case ID_FIND_ITEMS: // InstallFindFrame(this, pos); break; case ID_NO_SELECT_BUTT: case ID_NO_SELECT_BUTT: SetToolID( 0, 0, wxEmptyString ); SetToolID( 0, 0, wxEmptyString ); break; break; Loading Loading @@ -223,19 +207,5 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event ) */ */ void WinEDA_GerberFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) void WinEDA_GerberFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) { { EDA_BaseStruct* DrawStruct = GetScreen()->GetCurItem(); // Currently: no nothing switch( m_ID_current_state ) { case 0: if( (DrawStruct == NULL) || ((DrawStruct->m_Flags & ~DRAW_ERASED) == 0) ) { DrawStruct = GerberGeneralLocateAndDisplay(); } break; default: break; } } } gerbview/gerberframe.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -169,7 +169,7 @@ WinEDA_GerberFrame::WinEDA_GerberFrame( wxWindow* father, ReCreateMenuBar(); ReCreateMenuBar(); ReCreateHToolbar(); ReCreateHToolbar(); ReCreateVToolbar(); // ReCreateVToolbar(); // Currently: no right vertical toolbar ReCreateOptToolbar(); ReCreateOptToolbar(); m_auimgr.SetManagedWindow( this ); m_auimgr.SetManagedWindow( this ); Loading gerbview/toolbars_gerber.cpp +0 −7 Original line number Original line Diff line number Diff line Loading @@ -47,13 +47,6 @@ void WinEDA_GerberFrame::ReCreateHToolbar( void ) wxBitmap( open_xpm ), wxBitmap( open_xpm ), _( "Load a new Gerber file on the current layer. Previous data will be deleted" ) ); _( "Load a new Gerber file on the current layer. Previous data will be deleted" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( wxID_UNDO, wxEmptyString, wxBitmap( undelete_xpm ), _( "Undelete" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, wxBitmap( print_button ), wxBitmap( print_button ), Loading include/gr_basic.h +11 −4 Original line number Original line Diff line number Diff line Loading @@ -77,8 +77,6 @@ void GRDashedLine( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, void GRDashedLineTo( EDA_Rect* ClipBox, wxDC* DC, int x2, int y2, int width, int Color ); void GRDashedLineTo( EDA_Rect* ClipBox, wxDC* DC, int x2, int y2, int width, int Color ); void GRMoveTo( int x, int y ); void GRMoveTo( int x, int y ); void GRLineTo( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRLineTo( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRMoveRel( int x, int y ); void GRLineRel( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRPoly( EDA_Rect* ClipBox, wxDC* DC, int n, wxPoint Points[], bool Fill, void GRPoly( EDA_Rect* ClipBox, wxDC* DC, int n, wxPoint Points[], bool Fill, int width, int Color, int BgColor ); int width, int Color, int BgColor ); Loading Loading @@ -204,7 +202,16 @@ void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC,const EDA_Rect& aRect, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int Color, int BgColor ); int x2, int y2, int width, int Color, int BgColor ); void GRLineArray( EDA_Rect* ClipBox, wxDC* DC, wxPoint points[], /** Function GRLineArray int lines, int width, int Color ); * draws an array of lines (not a polygon). * @param aClipBox = the clip box * @param aDC = the device context into which drawing should occur. * @param aLines = a list of pair of coordinate in user space: a pair for each line. * @param aWidth = the width of each line. * @param aColor = an index into our color table of RGB colors. * @see EDA_Colors and colors.h */ void GRLineArray( EDA_Rect* aClipBox, wxDC* aDC,std::vector<wxPoint>& aLines, int aWidth, int aColor ); #endif /* define GR_BASIC */ #endif /* define GR_BASIC */ Loading
common/gr_basic.cpp +141 −146 Original line number Original line Diff line number Diff line Loading @@ -82,8 +82,9 @@ static void GRSFilledArc( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int StAngle int EndAngle, int r, int width, int Color, int BgColor ); int EndAngle, int r, int width, int Color, int BgColor ); static void GRSCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, static void GRSCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int aPenSize, int Color ); int width, int aPenSize, int Color ); static void GRSLineArray( EDA_Rect* ClipBox, wxDC* DC, wxPoint points[], int lines, int width, int Color ); static void GRSLineArray( EDA_Rect * aClipBox, wxDC * aDC, std::vector<wxPoint>& aLines, int aWidth, int aColor ); /**/ /**/ extern BASE_SCREEN* ActiveScreen; extern BASE_SCREEN* ActiveScreen; Loading Loading @@ -169,7 +170,9 @@ int GRMapY( int y ) #if defined( USE_WX_ZOOM ) #if defined( USE_WX_ZOOM ) // currently only used if USE_WX_ZOOM is defined. // currently only used if USE_WX_ZOOM is defined. /** /** * Test if any part of a line falls within the bounds of a rectangle. * Test if any part of a line falls within the bounds of a rectangle. * * Loading Loading @@ -254,7 +257,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) /* If we're here, something has gone terribly wrong. */ /* If we're here, something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif return false; return false; Loading Loading @@ -308,7 +312,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) /* If we're here, something has gone terribly wrong. */ /* If we're here, something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif return false; return false; Loading Loading @@ -386,7 +391,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) * something has gone terribly wrong. */ * something has gone terribly wrong. */ #if DEBUG_DUMP_CLIP_ERROR_COORDS #if DEBUG_DUMP_CLIP_ERROR_COORDS if( haveFirstPoint ) if( haveFirstPoint ) wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), wxLogDebug( wxT( "Line (%d,%d):(%d,%d) in rectangle (%d,%d,%d,%d) clipped to (%d,%d,%d,%d)" ), tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); tmpX1, tmpY1, tmpX2, tmpY2, minX, minY, maxX, maxY, x1, y1, x2, y2 ); #endif #endif } } Loading @@ -400,6 +406,8 @@ static bool clipLine( EDA_Rect* aClipBox, int& x1, int& y1, int& x2, int& y2 ) return true; return true; } } #endif // if defined( USE_WX_ZOOM ) #endif // if defined( USE_WX_ZOOM ) Loading Loading @@ -532,6 +540,7 @@ static void WinClipAndDrawLine( EDA_Rect* ClipBox, wxDC* DC, #else #else if( clip_line( x1, y1, x2, y2 ) ) if( clip_line( x1, y1, x2, y2 ) ) #endif #endif return; return; } } Loading Loading @@ -566,10 +575,10 @@ void GRSetColorPen( wxDC* DC, int Color, int width, wxPenStyle style ) Color = BLACK; Color = BLACK; } } if( s_DC_lastcolor != Color || if( s_DC_lastcolor != Color s_DC_lastwidth != width || || s_DC_lastwidth != width s_DC_lastpenstyle != style || || s_DC_lastpenstyle != style s_DC_lastDC != DC ) || s_DC_lastDC != DC ) { { wxPen pen; wxPen pen; Loading @@ -585,7 +594,6 @@ void GRSetColorPen( wxDC* DC, int Color, int width, wxPenStyle style ) s_DC_lastwidth = width; s_DC_lastwidth = width; s_DC_lastpenstyle = style; s_DC_lastpenstyle = style; s_DC_lastDC = DC; s_DC_lastDC = DC; } } } } Loading @@ -595,9 +603,9 @@ void GRSetBrush( wxDC* DC, int Color, int fill ) if( s_ForceBlackPen ) if( s_ForceBlackPen ) Color = BLACK; Color = BLACK; if( s_DC_lastbrushcolor != Color || if( s_DC_lastbrushcolor != Color s_DC_lastbrushfill != fill || || s_DC_lastbrushfill != fill s_DC_lastDC != DC ) || s_DC_lastDC != DC ) { { wxBrush DrawBrush; wxBrush DrawBrush; DrawBrush.SetColour( MakeColour( Color ) ); DrawBrush.SetColour( MakeColour( Color ) ); Loading @@ -616,7 +624,6 @@ void GRSetBrush( wxDC* DC, int Color, int fill ) } } /** function GRForceBlackPen /** function GRForceBlackPen * @param flagforce True to force a black pen whenever the asked color * @param flagforce True to force a black pen whenever the asked color */ */ Loading @@ -642,30 +649,40 @@ void GRSetDrawMode( wxDC* DC, int draw_mode ) { { if( draw_mode & GR_OR ) if( draw_mode & GR_OR ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #elif defined( USE_WX_GRAPHICS_CONTEXT ) #elif defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxOR ); DC->SetLogicalFunction( wxOR ); #endif #endif else if( draw_mode & GR_XOR ) else if( draw_mode & GR_XOR ) #if defined( USE_WX_GRAPHICS_CONTEXT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxXOR ); DC->SetLogicalFunction( wxXOR ); #endif #endif else if( draw_mode & GR_NXOR ) else if( draw_mode & GR_NXOR ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) #if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) ) DC->SetLogicalFunction( wxXOR ); DC->SetLogicalFunction( wxXOR ); #elif defined( USE_WX_GRAPHICS_CONTEXT ) #elif defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxEQUIV ); DC->SetLogicalFunction( wxEQUIV ); #endif #endif else if( draw_mode & GR_INVERT ) else if( draw_mode & GR_INVERT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) #if defined( USE_WX_GRAPHICS_CONTEXT ) DC->SetLogicalFunction( wxCOPY ); DC->SetLogicalFunction( wxCOPY ); #else #else DC->SetLogicalFunction( wxINVERT ); DC->SetLogicalFunction( wxINVERT ); #endif #endif else else Loading Loading @@ -863,7 +880,6 @@ void GRSMoveTo( int x, int y ) } } /* /* * Draw line to a new position, in screen (pixels) space. * Draw line to a new position, in screen (pixels) space. */ */ Loading @@ -881,95 +897,65 @@ void GRSLine( EDA_Rect* ClipBox, GRLastMoveToY = y2; GRLastMoveToY = y2; } } /* * Draw an array of lines */ void GRLineArray(EDA_Rect* ClipBox, /** Function GRLineArray wxDC* DC, * draws an array of lines (not a polygon). wxPoint points[], * @param aClipBox = the clip box int lines, * @param aDC = the device context into which drawing should occur. int width, * @param aLines = a list of pair of coordinate in user space: a pair for each line. int Color ) * @param aWidth = the width of each line. * @param aColor = an index into our color table of RGB colors. * @see EDA_Colors and colors.h */ void GRLineArray( EDA_Rect* aClipBox, wxDC* aDC, std::vector<wxPoint>& aLines, int aWidth, int aColor ) { { for(int i= 0 ; i < lines; i++) for( unsigned i = 0; i < aLines.size(); i++ ) { { points[i].x = GRMapX( points[i].x ); aLines[i].x = GRMapX( aLines[i].x ); points[i].y = GRMapY( points[i].y ); aLines[i].y = GRMapY( aLines[i].y ); } } width = ZoomValue( width ); aWidth = ZoomValue( aWidth ); GRSLineArray(ClipBox,DC,points,lines,width,Color); GRSLineArray( aClipBox, aDC, aLines, aWidth, aColor ); } } void GRSLineArray(EDA_Rect* ClipBox, void GRSLineArray( EDA_Rect* aClipBox, wxDC* aDC, wxDC* DC, std::vector<wxPoint>& aLines, wxPoint points[], int aWidth, int aColor ) int lines, int width, int Color ) { { GRSetColorPen( DC, Color, width ); GRSetColorPen( aDC, aColor, aWidth ); #if defined( USE_WX_GRAPHICS_CONTEXT ) || defined(__WXMAC__) #if defined( USE_WX_GRAPHICS_CONTEXT ) || defined(__WXMAC__) wxGraphicsContext *gc = wxGraphicsContext::Create( DC ); wxGraphicsContext* gc = wxGraphicsContext::Create( aDC ); wxASSERT( gc ); wxASSERT( gc ); gc->Clip( ClipBox->GetX(), ClipBox->GetY(), ClipBox->GetRight(), ClipBox->GetHeight()); gc->Clip( aClipBox->GetX(), aClipBox->GetY(), aClipBox->GetRight(), aClipBox->GetHeight() ); wxGraphicsPath path = gc->CreatePath(); wxGraphicsPath path = gc->CreatePath(); for(int i= 0 ; i < lines; i+=2) for( unsigned i = 0; i < aLines.size(); ) { { path.MoveToPoint(points[i].x, points[i].y); path.MoveToPoint( aLines[i].x, aLines[i].y ); path.AddLineToPoint(points[i+1].x, points[i+1].y); i++; path.AddLineToPoint( aLines[i].x, aLines[i].y ); i++; } } gc->StrokePath( path ); gc->StrokePath( path ); gc->ResetClip(); gc->ResetClip(); delete gc; delete gc; #else #else for(int i= 0 ; i < lines; i+=2) for( unsigned i = 0; i < aLines.size(); ) { { WinClipAndDrawLine( ClipBox, DC, points[i].x , points[i].y, points[i+1].x , points[i+1].y, Color, width ); WinClipAndDrawLine( aClipBox, aDC, aLines[i].x, aLines[i].y, GRLastMoveToX = points[i+1].x; aLines[i + 1].x, aLines[i + 1].y, aColor, aWidth ); GRLastMoveToY = points[i+1].y; i++; } GRLastMoveToX = aLines[i].x; #endif GRLastMoveToY = aLines[i].y; i++; } } /* #endif * Move to a new position relative to current one, in object space. */ void GRMoveRel( int x, int y ) { GRLastMoveToX += ZoomValue( x ); GRLastMoveToY += ZoomValue( y ); } /* * Draw a line to a new position relative to current one, in object space. */ void GRLineRel( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ) { int GRLineToX = GRLastMoveToX, GRLineToY = GRLastMoveToY; GRLineToX += ZoomValue( x ); GRLineToY += ZoomValue( y ); GRSLine( ClipBox, DC, GRLastMoveToX, GRLastMoveToY, GRLineToX, GRLineToY, ZoomValue( width ), Color ); } } Loading @@ -983,6 +969,7 @@ void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, GRMapY( y2 ), ZoomValue( width ), ZoomValue( aPenSize ), Color ); GRMapY( y2 ), ZoomValue( width ), ZoomValue( aPenSize ), Color ); } } void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int Color ) int width, int Color ) { { Loading @@ -990,6 +977,7 @@ void GRCSegm( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, GRMapY( y2 ), ZoomValue( width ), 0, Color ); GRMapY( y2 ), ZoomValue( width ), 0, Color ); } } void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, int aWidth, int aColor ) int aWidth, int aColor ) { { Loading @@ -998,6 +986,7 @@ void GRCSegm( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, ZoomValue( aWidth ), 0, aColor ); ZoomValue( aWidth ), 0, aColor ); } } /* /* * Draw segment (full) with rounded ends in object space (real coords.). * Draw segment (full) with rounded ends in object space (real coords.). */ */ Loading Loading @@ -1060,6 +1049,7 @@ void GRSCSegm( EDA_Rect* ClipBox, #else #else if( clip_line( x1, y1, x2, y2 ) ) if( clip_line( x1, y1, x2, y2 ) ) #endif #endif return; return; } } Loading Loading @@ -1367,6 +1357,7 @@ void GRCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, int Color ) GRSCircle( ClipBox, DC, cx, cy, radius, 0, Color ); GRSCircle( ClipBox, DC, cx, cy, radius, 0, Color ); } } /* /* * Draw a circle in object space. * Draw a circle in object space. */ */ Loading @@ -1377,6 +1368,7 @@ void GRCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, int width, int GRSCircle( ClipBox, DC, GRMapX( x ), GRMapY( y ), r, width, Color ); GRSCircle( ClipBox, DC, GRMapX( x ), GRMapY( y ), r, width, Color ); } } /* /* * Draw a circle in object space. * Draw a circle in object space. */ */ Loading @@ -1400,6 +1392,7 @@ void GRFilledCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, Color, BgColor ); Color, BgColor ); } } /* /* * Draw a filled circle, in object space. * Draw a filled circle, in object space. */ */ Loading @@ -1410,6 +1403,7 @@ void GRFilledCircle( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aPos, int aRadius, i aColor, aColor ); aColor, aColor ); } } /* /* * Draw a filled circle, in drawing space. * Draw a filled circle, in drawing space. */ */ Loading Loading @@ -1440,7 +1434,6 @@ void GRSFilledCircle( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int r, } } /* /* * Draw a circle in drawing space. * Draw a circle in drawing space. */ */ Loading Loading @@ -1498,6 +1491,7 @@ void GRArc1( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, Color ); Color ); } } void GRArc1( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, void GRArc1( EDA_Rect* aClipBox, wxDC* aDC, wxPoint aStart, wxPoint aEnd, wxPoint aCenter, int aWidth, int aColor ) wxPoint aCenter, int aWidth, int aColor ) { { Loading Loading @@ -1736,6 +1730,7 @@ void GRRect( EDA_Rect* aClipBox, wxDC* aDC, int x1, int y1, int x2, int y2, int GRSRect( aClipBox, aDC, x1, y1, x2, y2, 0, aColor ); GRSRect( aClipBox, aDC, x1, y1, x2, y2, 0, aColor ); } } void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aColor, wxPenStyle aStyle ) void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aColor, wxPenStyle aStyle ) { { int x1 = GRMapX( aRect.GetX() ); int x1 = GRMapX( aRect.GetX() ); Loading @@ -1761,6 +1756,7 @@ void GRRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int wi GRSRect( ClipBox, DC, x1, y1, x2, y2, width, Color ); GRSRect( ClipBox, DC, x1, y1, x2, y2, width, Color ); } } void GRRect( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aWidth, int aColor ) void GRRect( EDA_Rect* aClipBox, wxDC* aDC, const EDA_Rect& aRect, int aWidth, int aColor ) { { int x1 = GRMapX( aRect.GetX() ); int x1 = GRMapX( aRect.GetX() ); Loading Loading @@ -1845,7 +1841,6 @@ void GRSRect( EDA_Rect* aClipBox, wxDC* aDC, int x1, int y1, int x2, int y2, } } void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int x1, int y1, int x2, int y2, int width, int Color, int BgColor ) int width, int Color, int BgColor ) Loading
gerbview/edit.cpp +1 −31 Original line number Original line Diff line number Diff line Loading @@ -116,26 +116,10 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event ) Close( TRUE ); Close( TRUE ); break; break; case ID_NEW_PROJECT: case ID_LOAD_PROJECT: Files_io( event ); break; case ID_GERBVIEW_GLOBAL_DELETE: case ID_GERBVIEW_GLOBAL_DELETE: Erase_Current_Layer( TRUE ); Erase_Current_Layer( TRUE ); break; break; case ID_GET_TOOLS: // InstallToolsFrame(this, wxPoint(-1,-1) ); break; case ID_FIND_ITEMS: // InstallFindFrame(this, pos); break; case ID_NO_SELECT_BUTT: case ID_NO_SELECT_BUTT: SetToolID( 0, 0, wxEmptyString ); SetToolID( 0, 0, wxEmptyString ); break; break; Loading Loading @@ -223,19 +207,5 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event ) */ */ void WinEDA_GerberFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) void WinEDA_GerberFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) { { EDA_BaseStruct* DrawStruct = GetScreen()->GetCurItem(); // Currently: no nothing switch( m_ID_current_state ) { case 0: if( (DrawStruct == NULL) || ((DrawStruct->m_Flags & ~DRAW_ERASED) == 0) ) { DrawStruct = GerberGeneralLocateAndDisplay(); } break; default: break; } } }
gerbview/gerberframe.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -169,7 +169,7 @@ WinEDA_GerberFrame::WinEDA_GerberFrame( wxWindow* father, ReCreateMenuBar(); ReCreateMenuBar(); ReCreateHToolbar(); ReCreateHToolbar(); ReCreateVToolbar(); // ReCreateVToolbar(); // Currently: no right vertical toolbar ReCreateOptToolbar(); ReCreateOptToolbar(); m_auimgr.SetManagedWindow( this ); m_auimgr.SetManagedWindow( this ); Loading
gerbview/toolbars_gerber.cpp +0 −7 Original line number Original line Diff line number Diff line Loading @@ -47,13 +47,6 @@ void WinEDA_GerberFrame::ReCreateHToolbar( void ) wxBitmap( open_xpm ), wxBitmap( open_xpm ), _( "Load a new Gerber file on the current layer. Previous data will be deleted" ) ); _( "Load a new Gerber file on the current layer. Previous data will be deleted" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( wxID_UNDO, wxEmptyString, wxBitmap( undelete_xpm ), _( "Undelete" ) ); m_HToolBar->AddSeparator(); m_HToolBar->AddSeparator(); m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, m_HToolBar->AddTool( wxID_PRINT, wxEmptyString, wxBitmap( print_button ), wxBitmap( print_button ), Loading
include/gr_basic.h +11 −4 Original line number Original line Diff line number Diff line Loading @@ -77,8 +77,6 @@ void GRDashedLine( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, void GRDashedLineTo( EDA_Rect* ClipBox, wxDC* DC, int x2, int y2, int width, int Color ); void GRDashedLineTo( EDA_Rect* ClipBox, wxDC* DC, int x2, int y2, int width, int Color ); void GRMoveTo( int x, int y ); void GRMoveTo( int x, int y ); void GRLineTo( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRLineTo( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRMoveRel( int x, int y ); void GRLineRel( EDA_Rect* ClipBox, wxDC* DC, int x, int y, int width, int Color ); void GRPoly( EDA_Rect* ClipBox, wxDC* DC, int n, wxPoint Points[], bool Fill, void GRPoly( EDA_Rect* ClipBox, wxDC* DC, int n, wxPoint Points[], bool Fill, int width, int Color, int BgColor ); int width, int Color, int BgColor ); Loading Loading @@ -204,7 +202,16 @@ void GRRectPs( EDA_Rect* aClipBox, wxDC* aDC,const EDA_Rect& aRect, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, void GRSFilledRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2, int width, int Color, int BgColor ); int x2, int y2, int width, int Color, int BgColor ); void GRLineArray( EDA_Rect* ClipBox, wxDC* DC, wxPoint points[], /** Function GRLineArray int lines, int width, int Color ); * draws an array of lines (not a polygon). * @param aClipBox = the clip box * @param aDC = the device context into which drawing should occur. * @param aLines = a list of pair of coordinate in user space: a pair for each line. * @param aWidth = the width of each line. * @param aColor = an index into our color table of RGB colors. * @see EDA_Colors and colors.h */ void GRLineArray( EDA_Rect* aClipBox, wxDC* aDC,std::vector<wxPoint>& aLines, int aWidth, int aColor ); #endif /* define GR_BASIC */ #endif /* define GR_BASIC */