Commit e73e94ed authored by dickelbeck's avatar dickelbeck
Browse files

fixed a bug plotting pins with circles in them

parent 9fdc316d
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ void DrawLibPartAux( WinEDA_DrawPanel* panel, wxDC* DC,
    int i, x1, y1, x2, y2, t1, t2, orient;
    LibEDA_BaseStruct* DEntry = NULL;
    int     CharColor;
    int fill_option;
    FILL_T  fill_option;
    int     SetHightColor;
    int     LineWidth;

@@ -471,9 +471,11 @@ void DrawLibPartAux( WinEDA_DrawPanel* panel, wxDC* DC,
            {
                EXCHG( x1, x2 ); EXCHG( y1, y2 )
            }

            fill_option = Arc->m_Fill;
            if ( g_IsPrinting && fill_option == FILLED_WITH_BG_BODYCOLOR && GetGRForceBlackPenState( ) )
                fill_option = NO_FILL;

            if( Color < 0 )         // Normal Color Layer
            {
                if( fill_option == FILLED_WITH_BG_BODYCOLOR )
+111 −108
Original line number Diff line number Diff line
@@ -241,6 +241,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem )
                        TransMat[0][1] * Circle->m_Pos.y;
                pos.y = PartY + TransMat[1][0] * Circle->m_Pos.x +
                        TransMat[1][1] * Circle->m_Pos.y;

                if ( draw_bgfill && Circle->m_Fill == FILLED_WITH_BG_BODYCOLOR )
                {
                    SetColorMapPS( ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
@@ -349,7 +350,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem )
            break;

        default:
            ;
            D(printf("Drawing Type=%d\n", DEntry->Type() )) ;
        }

        /* Fin Switch */
@@ -512,7 +513,9 @@ static void PlotPinSymbol( int posX, int posY, int len, int orient, int Shape )
    {
        PlotCercle( wxPoint( MapX1 * INVERT_PIN_RADIUS + x1,
                             MapY1 * INVERT_PIN_RADIUS + y1),
                    false, INVERT_PIN_RADIUS * 2 );
                    INVERT_PIN_RADIUS * 2,  // diameter
                    false,                  // fill
                    -1 );                   // width

        Move_Plume( wxPoint( MapX1 * INVERT_PIN_RADIUS * 2 + x1,
                             MapY1 * INVERT_PIN_RADIUS * 2 + y1 ), 'U' );
+4 −2
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ static void MoveLibDrawItemAt( LibEDA_BaseStruct* DrawItem, wxPoint newpos );
/* Variables locales */
static int     StateDrawArc, ArcStartX, ArcStartY, ArcEndX, ArcEndY;
static wxPoint InitPosition, StartCursor, ItemPreviousPos;
static int     FlSymbol_Fill = NO_FILL;
static FILL_T  FlSymbol_Fill = NO_FILL;


/************************************/
@@ -46,8 +46,10 @@ bodygraphics_PropertiesAccept( wxCommandEvent& event )
{
    g_FlDrawSpecificConvert = m_CommonConvert->GetValue() ? FALSE : TRUE;
    g_FlDrawSpecificUnit    = m_CommonUnit->GetValue() ? FALSE : TRUE;

    if( m_Filled )
        FlSymbol_Fill = m_Filled->GetSelection();
        FlSymbol_Fill = (FILL_T) m_Filled->GetSelection();

    g_LibSymbolDefaultLineWidth = m_GraphicShapeWidthCtrl->GetValue();

    if( CurrentDrawItem )
+1 −1
Original line number Diff line number Diff line
@@ -791,7 +791,7 @@ void PlotCircle( int format_plot, int thickness, wxPoint centre, int radius )
        break;

    case PLOT_FORMAT_POST:
        PlotCirclePS( centre, radius * 2, 0, thickness);
        PlotCirclePS( centre, radius * 2, false, thickness );
        break;
    }
}