A zone outline,when edited, is now properly redrawn after zooming
This commit is contained in:
parent
d4562043a2
commit
68e942b2f4
|
@ -180,7 +180,10 @@ void WinEDA_PcbFrame::Trace_Pcb( wxDC* DC, int mode )
|
||||||
for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
|
for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ )
|
||||||
{
|
{
|
||||||
ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii);
|
ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii);
|
||||||
edge_zone->Draw( DrawPanel, DC, wxPoint(0,0), mode);
|
// 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
DrawGeneralRatsnest( DC );
|
DrawGeneralRatsnest( DC );
|
||||||
|
|
|
@ -33,7 +33,7 @@ using namespace std;
|
||||||
|
|
||||||
#include "protos.h"
|
#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:
|
// Outline creation:
|
||||||
static void Abort_Zone_Create_Outline( WinEDA_DrawPanel* Panel, wxDC* DC );
|
static void Abort_Zone_Create_Outline( WinEDA_DrawPanel* Panel, wxDC* DC );
|
||||||
|
|
|
@ -738,8 +738,8 @@ int BOARD::CombineAreas( ZONE_CONTAINER* area_ref, ZONE_CONTAINER* area_to_combi
|
||||||
// external contour, replace this poly
|
// external contour, replace this poly
|
||||||
for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
|
for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
|
||||||
{
|
{
|
||||||
int x = ( (union_gpc->contour)[ic].vertex )[i].x;
|
int x = (int) ( (union_gpc->contour)[ic].vertex )[i].x;
|
||||||
int y = ( (union_gpc->contour)[ic].vertex )[i].y;
|
int y = (int) ( (union_gpc->contour)[ic].vertex )[i].y;
|
||||||
if( i==0 )
|
if( i==0 )
|
||||||
{
|
{
|
||||||
area_ref->m_Poly->Start( area_ref->GetLayer(
|
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
|
// hole
|
||||||
for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
|
for( int i = 0; i<union_gpc->contour[ic].num_vertices; i++ )
|
||||||
{
|
{
|
||||||
int x = ( (union_gpc->contour)[ic].vertex )[i].x;
|
int x = (int) ( (union_gpc->contour)[ic].vertex )[i].x;
|
||||||
int y = ( (union_gpc->contour)[ic].vertex )[i].y;
|
int y = (int) ( (union_gpc->contour)[ic].vertex )[i].y;
|
||||||
area_ref->m_Poly->AppendCorner( x, y );
|
area_ref->m_Poly->AppendCorner( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue