MacOSX: Drag Modules and Tracks now works correctly
This commit is contained in:
parent
1c98200721
commit
6b097a57bf
|
@ -614,6 +614,12 @@ void TRACK::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, int draw_mode, const wxPoint&
|
||||||
if( brd->IsLayerVisible( m_Layer ) == false && !( draw_mode & GR_HIGHLIGHT ) )
|
if( brd->IsLayerVisible( m_Layer ) == false && !( draw_mode & GR_HIGHLIGHT ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#ifdef USE_WX_OVERLAY
|
||||||
|
// If dragged not draw in OnPaint otherwise remains impressed in wxOverlay
|
||||||
|
if( (m_Flags && IS_DRAGGED) && DC->IsKindOf(wxCLASSINFO(wxPaintDC)))
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
if( DisplayOpt.ContrastModeDisplay )
|
if( DisplayOpt.ContrastModeDisplay )
|
||||||
{
|
{
|
||||||
if( !IsOnLayer( curr_layer ) )
|
if( !IsOnLayer( curr_layer ) )
|
||||||
|
|
|
@ -172,7 +172,11 @@ static void Show_MoveNode( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPo
|
||||||
|
|
||||||
DisplayOpt.DisplayPcbTrackFill = false;
|
DisplayOpt.DisplayPcbTrackFill = false;
|
||||||
|
|
||||||
|
#ifndef USE_WX_OVERLAY
|
||||||
aErase = true;
|
aErase = true;
|
||||||
|
#else
|
||||||
|
aErase = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* erase the current moved track segments from screen */
|
/* erase the current moved track segments from screen */
|
||||||
if( aErase )
|
if( aErase )
|
||||||
|
@ -181,6 +185,7 @@ static void Show_MoveNode( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPo
|
||||||
DrawTraces( aPanel, aDC, NewTrack, NbPtNewTrack, draw_mode );
|
DrawTraces( aPanel, aDC, NewTrack, NbPtNewTrack, draw_mode );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* set the new track coordinates */
|
/* set the new track coordinates */
|
||||||
wxPoint Pos = screen->GetCrossHairPosition();
|
wxPoint Pos = screen->GetCrossHairPosition();
|
||||||
|
|
||||||
|
@ -199,8 +204,10 @@ static void Show_MoveNode( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPo
|
||||||
Track->m_End += moveVector;
|
Track->m_End += moveVector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_WX_OVERLAY
|
||||||
/* Redraw the current moved track segments */
|
/* Redraw the current moved track segments */
|
||||||
DrawTraces( aPanel, aDC, NewTrack, NbPtNewTrack, draw_mode );
|
DrawTraces( aPanel, aDC, NewTrack, NbPtNewTrack, draw_mode );
|
||||||
|
#endif
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < g_DragSegmentList.size(); ii++ )
|
for( unsigned ii = 0; ii < g_DragSegmentList.size(); ii++ )
|
||||||
{
|
{
|
||||||
|
@ -318,6 +325,7 @@ static void Show_Drag_Track_Segment_With_Cte_Slope( EDA_DRAW_PANEL* aPanel, wxDC
|
||||||
|
|
||||||
/* Undraw the current moved track segments before modification*/
|
/* Undraw the current moved track segments before modification*/
|
||||||
|
|
||||||
|
#ifndef USE_WX_OVERLAY
|
||||||
// if( erase )
|
// if( erase )
|
||||||
{
|
{
|
||||||
Track->Draw( aPanel, aDC, draw_mode );
|
Track->Draw( aPanel, aDC, draw_mode );
|
||||||
|
@ -328,6 +336,7 @@ static void Show_Drag_Track_Segment_With_Cte_Slope( EDA_DRAW_PANEL* aPanel, wxDC
|
||||||
if( tSegmentToEnd )
|
if( tSegmentToEnd )
|
||||||
tSegmentToEnd->Draw( aPanel, aDC, draw_mode );
|
tSegmentToEnd->Draw( aPanel, aDC, draw_mode );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Compute the new track segment position */
|
/* Compute the new track segment position */
|
||||||
wxPoint Pos = screen->GetCrossHairPosition();
|
wxPoint Pos = screen->GetCrossHairPosition();
|
||||||
|
|
Loading…
Reference in New Issue