Commit 6b05cf31 authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Fixed bug in GRLineArray(). Cleanup Gerbview code

parent ee4aadc4
Loading
Loading
Loading
Loading
+141 −146
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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.
 *
 *
@@ -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;
@@ -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;
@@ -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
    }
    }
@@ -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 )




@@ -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;
    }
    }


@@ -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;


@@ -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;

    }
    }
}
}


@@ -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 ) );
@@ -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
 */
 */
@@ -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
@@ -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.
 */
 */
@@ -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 );
}
}




@@ -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 )
{
{
@@ -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 )
{
{
@@ -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.).
 */
 */
@@ -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;
    }
    }


@@ -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.
 */
 */
@@ -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.
 */
 */
@@ -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.
 */
 */
@@ -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.
 */
 */
@@ -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.
 */
 */
@@ -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 )
{
{
@@ -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() );
@@ -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() );
@@ -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 )
+1 −31
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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;
    }
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 );
+0 −7
Original line number Original line Diff line number Diff line
@@ -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 ),
+11 −4
Original line number Original line Diff line number Diff line
@@ -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 );
@@ -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