Commit 68e942b2 authored by CHARRAS's avatar CHARRAS
Browse files

A zone outline,when edited, is now properly redrawn after zooming

parent d4562043
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -180,6 +180,9 @@ void WinEDA_PcbFrame::Trace_Pcb( wxDC* DC, int mode )
	for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
	{
		ZONE_CONTAINER* edge_zone =  m_Pcb->GetArea(ii);
		// Areas must be drawn here only if not moved or dragged,
		// because these areas are drawn by ManageCursor() in a specific manner
		if ( (edge_zone->m_Flags & (IN_EDIT | IS_DRAGGED | IS_MOVED)) == 0 )
			edge_zone->Draw( DrawPanel, DC, wxPoint(0,0), mode);
	}

+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ using namespace std;

#include "protos.h"

bool verbose = false;       // false if zone outline diags mst not be shown
bool verbose = false;       // false if zone outline diags must not be shown

// Outline creation:
static void Abort_Zone_Create_Outline( WinEDA_DrawPanel* Panel, wxDC* DC );
+4 −4
Original line number Diff line number Diff line
@@ -738,8 +738,8 @@ int BOARD::CombineAreas( ZONE_CONTAINER* area_ref, ZONE_CONTAINER* area_to_combi
            // external contour, replace this poly
            for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
            {
                int x = ( (union_gpc->contour)[ic].vertex )[i].x;
                int y = ( (union_gpc->contour)[ic].vertex )[i].y;
                int x = (int) ( (union_gpc->contour)[ic].vertex )[i].x;
                int y = (int) ( (union_gpc->contour)[ic].vertex )[i].y;
                if( i==0 )
                {
                    area_ref->m_Poly->Start( area_ref->GetLayer(
@@ -761,8 +761,8 @@ int BOARD::CombineAreas( ZONE_CONTAINER* area_ref, ZONE_CONTAINER* area_to_combi
            // hole
            for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
            {
                int x = ( (union_gpc->contour)[ic].vertex )[i].x;
                int y = ( (union_gpc->contour)[ic].vertex )[i].y;
                int x = (int) ( (union_gpc->contour)[ic].vertex )[i].x;
                int y = (int) ( (union_gpc->contour)[ic].vertex )[i].y;
                area_ref->m_Poly->AppendCorner( x, y );
            }