Loading change_log.txt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,10 @@ email address. +pcbnew +pcbnew Added virtual BOARD_ITEM::Draw() and forced all BOARD_ITEM derived classes Added virtual BOARD_ITEM::Draw() and forced all BOARD_ITEM derived classes to implement it so that all these functions are also virtual. to implement it so that all these functions are also virtual. Made the offset argument default to the new wxPoint BOARD_ITEM::ZeroOffset Made the offset argument default to the new wxPoint BOARD_ITEM::ZeroOffset. Coded DRAWSEGMENT::Draw() from Trace_DrawSegmentPcb() and removed the latter. Coded EQUIPOT::Draw(), and BOARD::Draw(). Both are dummies for now, but both can be reasonably implemented in the future. 2008-Mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2008-Mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> Loading gerbview/protos.h +31 −33 Original line number Original line Diff line number Diff line Loading @@ -118,8 +118,6 @@ void PlotArcPS(int x, int y, int StAngle, int EndAngle, int rayon, int width); /***************/ /***************/ void Draw_Track_Buffer(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb, int drawmode, int printmasklayer); void Draw_Track_Buffer(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb, int drawmode, int printmasklayer); void Trace_Segment(WinEDA_DrawPanel * panel, wxDC * DC, TRACK* pt_piste, int draw_mode); void Trace_Segment(WinEDA_DrawPanel * panel, wxDC * DC, TRACK* pt_piste, int draw_mode); void Trace_DrawSegmentPcb(WinEDA_DrawPanel * panel, wxDC * DC, DRAWSEGMENT * PtDrawSegment, int draw_mode); void Trace_1_texte_pcb(WinEDA_DrawPanel * panel, wxDC * DC, void Trace_1_texte_pcb(WinEDA_DrawPanel * panel, wxDC * DC, TEXTE_PCB * pt_texte,int ox,int oy, int DrawMode); TEXTE_PCB * pt_texte,int ox,int oy, int DrawMode); Loading gerbview/trpiste.cpp +0 −11 Original line number Original line Diff line number Diff line Loading @@ -217,17 +217,6 @@ void Trace_Segment( WinEDA_DrawPanel* panel, wxDC* DC, TRACK* track, int draw_mo } } /**************************************************************************/ void Trace_DrawSegmentPcb( WinEDA_DrawPanel* panel, wxDC* DC, DRAWSEGMENT* PtDrawSegment, int draw_mode ) /**************************************************************************/ { // @todo Replace all calls to Trace_DrawSegmentPcb() with this call: PtDrawSegment->Draw( panel, DC, draw_mode ); } /*****************************************************************************************/ /*****************************************************************************************/ void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int drawmode ) void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int drawmode ) /*****************************************************************************************/ /*****************************************************************************************/ Loading pcbnew/block.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -509,7 +509,7 @@ void WinEDA_BasePcbFrame::Block_Delete( wxDC* DC ) break; break; /* l'element est ici bon a etre efface */ /* l'element est ici bon a etre efface */ Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) PtStruct, GR_XOR ); PtStruct->Draw( DrawPanel, DC, GR_XOR ); PtStruct->DeleteStructure(); PtStruct->DeleteStructure(); break; break; Loading Loading @@ -1231,7 +1231,7 @@ void WinEDA_BasePcbFrame::Block_Duplicate( wxDC* DC ) m_Pcb->m_Drawings = new_drawsegment; m_Pcb->m_Drawings = new_drawsegment; new_drawsegment->m_Start += MoveVector; new_drawsegment->m_Start += MoveVector; new_drawsegment->m_End += MoveVector; new_drawsegment->m_End += MoveVector; Trace_DrawSegmentPcb( DrawPanel, DC, new_drawsegment, GR_OR ); new_drawsegment->Draw( DrawPanel, DC, GR_OR ); break; break; } } Loading pcbnew/editedge.cpp +13 −20 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ void WinEDA_PcbFrame::Start_Move_DrawItem( DRAWSEGMENT* drawitem, wxDC* DC ) { { if( drawitem == NULL ) if( drawitem == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, drawitem, GR_XOR ); drawitem->Draw( DrawPanel, DC, GR_XOR ); drawitem->m_Flags |= IS_MOVED; drawitem->m_Flags |= IS_MOVED; cursor_pos = cursor_pos0 = GetScreen()->m_Curseur; cursor_pos = cursor_pos0 = GetScreen()->m_Curseur; drawitem->Display_Infos( this ); drawitem->Display_Infos( this ); Loading @@ -52,7 +52,7 @@ void WinEDA_PcbFrame::Place_DrawItem( DRAWSEGMENT* drawitem, wxDC* DC ) if( drawitem == NULL ) if( drawitem == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, drawitem, GR_OR ); drawitem->Draw( DrawPanel, DC, GR_OR ); DrawPanel->ManageCurseur = NULL; DrawPanel->ManageCurseur = NULL; DrawPanel->ForceCloseManageCurseur = NULL; DrawPanel->ForceCloseManageCurseur = NULL; SetCurItem( NULL ); SetCurItem( NULL ); Loading @@ -77,7 +77,7 @@ static void Move_Segment( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ) /* efface ancienne position */ /* efface ancienne position */ if( erase ) if( erase ) Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); wxPoint delta; wxPoint delta; delta.x = panel->GetScreen()->m_Curseur.x - cursor_pos.x; delta.x = panel->GetScreen()->m_Curseur.x - cursor_pos.x; Loading @@ -88,7 +88,7 @@ static void Move_Segment( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ) Segment->m_End.y += delta.y; Segment->m_End.y += delta.y; cursor_pos = panel->GetScreen()->m_Curseur; cursor_pos = panel->GetScreen()->m_Curseur; Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); DisplayOpt.DisplayDrawItems = t_fill; DisplayOpt.DisplayDrawItems = t_fill; } } Loading @@ -107,7 +107,7 @@ void WinEDA_PcbFrame::Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC ) { { /* effacement du segment en cours de trace */ /* effacement du segment en cours de trace */ DisplayOpt.DisplayDrawItems = SKETCH; DisplayOpt.DisplayDrawItems = SKETCH; Trace_DrawSegmentPcb( DrawPanel, DC, Segment, GR_XOR ); Segment->Draw( DrawPanel, DC, GR_XOR ); PtStruct = Segment->Pback; PtStruct = Segment->Pback; Segment ->DeleteStructure(); Segment ->DeleteStructure(); if( PtStruct && (PtStruct->Type() == TYPEDRAWSEGMENT ) ) if( PtStruct && (PtStruct->Type() == TYPEDRAWSEGMENT ) ) Loading @@ -117,7 +117,7 @@ void WinEDA_PcbFrame::Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC ) } } else else { { Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) Segment, GR_XOR ); Segment->Draw( DrawPanel, DC, GR_XOR ); Segment->m_Flags = 0; Segment->m_Flags = 0; Segment ->DeleteStructure(); Segment ->DeleteStructure(); SetCurItem( NULL ); SetCurItem( NULL ); Loading @@ -136,14 +136,14 @@ void WinEDA_PcbFrame::Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC ) if( DrawSegm == NULL ) if( DrawSegm == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, DrawSegm, GR_XOR ); DrawSegm->Draw( DrawPanel, DC, GR_XOR ); if( DrawSegm->GetLayer() == EDGE_N ) if( DrawSegm->GetLayer() == EDGE_N ) DrawSegm->m_Width = g_DesignSettings.m_EdgeSegmentWidth; DrawSegm->m_Width = g_DesignSettings.m_EdgeSegmentWidth; else else DrawSegm->m_Width = g_DesignSettings.m_DrawSegmentWidth; DrawSegm->m_Width = g_DesignSettings.m_DrawSegmentWidth; Trace_DrawSegmentPcb( DrawPanel, DC, DrawSegm, GR_OR ); DrawSegm->Draw( DrawPanel, DC, GR_OR ); DrawSegm->Display_Infos( this ); DrawSegm->Display_Infos( this ); Loading Loading @@ -182,13 +182,6 @@ void WinEDA_PcbFrame::Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC switch( item->Type() ) switch( item->Type() ) { { case TYPEDRAWSEGMENT: case TYPEDRAWSEGMENT: if( item->GetLayer() == layer ) { Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) item, GR_XOR ); item->DeleteStructure(); } break; case TYPETEXTE: case TYPETEXTE: case TYPECOTATION: case TYPECOTATION: if( item->GetLayer() == layer ) if( item->GetLayer() == layer ) Loading Loading @@ -228,7 +221,7 @@ static void Exit_EditEdge( WinEDA_DrawPanel* Panel, wxDC* DC ) Panel->ManageCurseur( Panel, DC, TRUE ); Panel->ManageCurseur( Panel, DC, TRUE ); Panel->GetScreen()->m_Curseur = pos; Panel->GetScreen()->m_Curseur = pos; Segment->m_Flags = 0; Segment->m_Flags = 0; Trace_DrawSegmentPcb( Panel, DC, Segment, GR_OR ); Segment->Draw( Panel, DC, GR_OR ); } } Panel->ManageCurseur = NULL; Panel->ManageCurseur = NULL; Panel->ForceCloseManageCurseur = NULL; Panel->ForceCloseManageCurseur = NULL; Loading Loading @@ -285,7 +278,7 @@ DRAWSEGMENT* WinEDA_PcbFrame::Begin_DrawSegment( DRAWSEGMENT* Segment, GetScreen()->SetModify(); GetScreen()->SetModify(); Segment->m_Flags = 0; Segment->m_Flags = 0; Trace_DrawSegmentPcb( DrawPanel, DC, Segment, GR_OR ); Segment->Draw( DrawPanel, DC, GR_OR ); DrawItem = Segment; DrawItem = Segment; Loading Loading @@ -317,7 +310,7 @@ void WinEDA_PcbFrame::End_Edge( DRAWSEGMENT* Segment, wxDC* DC ) { { if( Segment == NULL ) if( Segment == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) Segment, GR_OR ); Segment->Draw( DrawPanel, DC, GR_OR ); /* Effacement si Longueur nulle */ /* Effacement si Longueur nulle */ if( (Segment->m_Start.x == Segment->m_End.x) if( (Segment->m_Start.x == Segment->m_End.x) Loading Loading @@ -358,7 +351,7 @@ static void Montre_Position_NewSegment( WinEDA_DrawPanel* panel, /* efface ancienne position */ /* efface ancienne position */ if( erase ) if( erase ) Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); if( Segments_45_Only && (Segment->m_Shape == S_SEGMENT ) ) if( Segments_45_Only && (Segment->m_Shape == S_SEGMENT ) ) { { Loading @@ -370,6 +363,6 @@ static void Montre_Position_NewSegment( WinEDA_DrawPanel* panel, Segment->m_End = panel->GetScreen()->m_Curseur; Segment->m_End = panel->GetScreen()->m_Curseur; } } Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); DisplayOpt.DisplayDrawItems = t_fill; DisplayOpt.DisplayDrawItems = t_fill; } } Loading
change_log.txt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,10 @@ email address. +pcbnew +pcbnew Added virtual BOARD_ITEM::Draw() and forced all BOARD_ITEM derived classes Added virtual BOARD_ITEM::Draw() and forced all BOARD_ITEM derived classes to implement it so that all these functions are also virtual. to implement it so that all these functions are also virtual. Made the offset argument default to the new wxPoint BOARD_ITEM::ZeroOffset Made the offset argument default to the new wxPoint BOARD_ITEM::ZeroOffset. Coded DRAWSEGMENT::Draw() from Trace_DrawSegmentPcb() and removed the latter. Coded EQUIPOT::Draw(), and BOARD::Draw(). Both are dummies for now, but both can be reasonably implemented in the future. 2008-Mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2008-Mar-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> Loading
gerbview/protos.h +31 −33 Original line number Original line Diff line number Diff line Loading @@ -118,8 +118,6 @@ void PlotArcPS(int x, int y, int StAngle, int EndAngle, int rayon, int width); /***************/ /***************/ void Draw_Track_Buffer(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb, int drawmode, int printmasklayer); void Draw_Track_Buffer(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb, int drawmode, int printmasklayer); void Trace_Segment(WinEDA_DrawPanel * panel, wxDC * DC, TRACK* pt_piste, int draw_mode); void Trace_Segment(WinEDA_DrawPanel * panel, wxDC * DC, TRACK* pt_piste, int draw_mode); void Trace_DrawSegmentPcb(WinEDA_DrawPanel * panel, wxDC * DC, DRAWSEGMENT * PtDrawSegment, int draw_mode); void Trace_1_texte_pcb(WinEDA_DrawPanel * panel, wxDC * DC, void Trace_1_texte_pcb(WinEDA_DrawPanel * panel, wxDC * DC, TEXTE_PCB * pt_texte,int ox,int oy, int DrawMode); TEXTE_PCB * pt_texte,int ox,int oy, int DrawMode); Loading
gerbview/trpiste.cpp +0 −11 Original line number Original line Diff line number Diff line Loading @@ -217,17 +217,6 @@ void Trace_Segment( WinEDA_DrawPanel* panel, wxDC* DC, TRACK* track, int draw_mo } } /**************************************************************************/ void Trace_DrawSegmentPcb( WinEDA_DrawPanel* panel, wxDC* DC, DRAWSEGMENT* PtDrawSegment, int draw_mode ) /**************************************************************************/ { // @todo Replace all calls to Trace_DrawSegmentPcb() with this call: PtDrawSegment->Draw( panel, DC, draw_mode ); } /*****************************************************************************************/ /*****************************************************************************************/ void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int drawmode ) void Affiche_DCodes_Pistes( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, int drawmode ) /*****************************************************************************************/ /*****************************************************************************************/ Loading
pcbnew/block.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -509,7 +509,7 @@ void WinEDA_BasePcbFrame::Block_Delete( wxDC* DC ) break; break; /* l'element est ici bon a etre efface */ /* l'element est ici bon a etre efface */ Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) PtStruct, GR_XOR ); PtStruct->Draw( DrawPanel, DC, GR_XOR ); PtStruct->DeleteStructure(); PtStruct->DeleteStructure(); break; break; Loading Loading @@ -1231,7 +1231,7 @@ void WinEDA_BasePcbFrame::Block_Duplicate( wxDC* DC ) m_Pcb->m_Drawings = new_drawsegment; m_Pcb->m_Drawings = new_drawsegment; new_drawsegment->m_Start += MoveVector; new_drawsegment->m_Start += MoveVector; new_drawsegment->m_End += MoveVector; new_drawsegment->m_End += MoveVector; Trace_DrawSegmentPcb( DrawPanel, DC, new_drawsegment, GR_OR ); new_drawsegment->Draw( DrawPanel, DC, GR_OR ); break; break; } } Loading
pcbnew/editedge.cpp +13 −20 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ void WinEDA_PcbFrame::Start_Move_DrawItem( DRAWSEGMENT* drawitem, wxDC* DC ) { { if( drawitem == NULL ) if( drawitem == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, drawitem, GR_XOR ); drawitem->Draw( DrawPanel, DC, GR_XOR ); drawitem->m_Flags |= IS_MOVED; drawitem->m_Flags |= IS_MOVED; cursor_pos = cursor_pos0 = GetScreen()->m_Curseur; cursor_pos = cursor_pos0 = GetScreen()->m_Curseur; drawitem->Display_Infos( this ); drawitem->Display_Infos( this ); Loading @@ -52,7 +52,7 @@ void WinEDA_PcbFrame::Place_DrawItem( DRAWSEGMENT* drawitem, wxDC* DC ) if( drawitem == NULL ) if( drawitem == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, drawitem, GR_OR ); drawitem->Draw( DrawPanel, DC, GR_OR ); DrawPanel->ManageCurseur = NULL; DrawPanel->ManageCurseur = NULL; DrawPanel->ForceCloseManageCurseur = NULL; DrawPanel->ForceCloseManageCurseur = NULL; SetCurItem( NULL ); SetCurItem( NULL ); Loading @@ -77,7 +77,7 @@ static void Move_Segment( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ) /* efface ancienne position */ /* efface ancienne position */ if( erase ) if( erase ) Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); wxPoint delta; wxPoint delta; delta.x = panel->GetScreen()->m_Curseur.x - cursor_pos.x; delta.x = panel->GetScreen()->m_Curseur.x - cursor_pos.x; Loading @@ -88,7 +88,7 @@ static void Move_Segment( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ) Segment->m_End.y += delta.y; Segment->m_End.y += delta.y; cursor_pos = panel->GetScreen()->m_Curseur; cursor_pos = panel->GetScreen()->m_Curseur; Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); DisplayOpt.DisplayDrawItems = t_fill; DisplayOpt.DisplayDrawItems = t_fill; } } Loading @@ -107,7 +107,7 @@ void WinEDA_PcbFrame::Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC ) { { /* effacement du segment en cours de trace */ /* effacement du segment en cours de trace */ DisplayOpt.DisplayDrawItems = SKETCH; DisplayOpt.DisplayDrawItems = SKETCH; Trace_DrawSegmentPcb( DrawPanel, DC, Segment, GR_XOR ); Segment->Draw( DrawPanel, DC, GR_XOR ); PtStruct = Segment->Pback; PtStruct = Segment->Pback; Segment ->DeleteStructure(); Segment ->DeleteStructure(); if( PtStruct && (PtStruct->Type() == TYPEDRAWSEGMENT ) ) if( PtStruct && (PtStruct->Type() == TYPEDRAWSEGMENT ) ) Loading @@ -117,7 +117,7 @@ void WinEDA_PcbFrame::Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC ) } } else else { { Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) Segment, GR_XOR ); Segment->Draw( DrawPanel, DC, GR_XOR ); Segment->m_Flags = 0; Segment->m_Flags = 0; Segment ->DeleteStructure(); Segment ->DeleteStructure(); SetCurItem( NULL ); SetCurItem( NULL ); Loading @@ -136,14 +136,14 @@ void WinEDA_PcbFrame::Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC ) if( DrawSegm == NULL ) if( DrawSegm == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, DrawSegm, GR_XOR ); DrawSegm->Draw( DrawPanel, DC, GR_XOR ); if( DrawSegm->GetLayer() == EDGE_N ) if( DrawSegm->GetLayer() == EDGE_N ) DrawSegm->m_Width = g_DesignSettings.m_EdgeSegmentWidth; DrawSegm->m_Width = g_DesignSettings.m_EdgeSegmentWidth; else else DrawSegm->m_Width = g_DesignSettings.m_DrawSegmentWidth; DrawSegm->m_Width = g_DesignSettings.m_DrawSegmentWidth; Trace_DrawSegmentPcb( DrawPanel, DC, DrawSegm, GR_OR ); DrawSegm->Draw( DrawPanel, DC, GR_OR ); DrawSegm->Display_Infos( this ); DrawSegm->Display_Infos( this ); Loading Loading @@ -182,13 +182,6 @@ void WinEDA_PcbFrame::Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC switch( item->Type() ) switch( item->Type() ) { { case TYPEDRAWSEGMENT: case TYPEDRAWSEGMENT: if( item->GetLayer() == layer ) { Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) item, GR_XOR ); item->DeleteStructure(); } break; case TYPETEXTE: case TYPETEXTE: case TYPECOTATION: case TYPECOTATION: if( item->GetLayer() == layer ) if( item->GetLayer() == layer ) Loading Loading @@ -228,7 +221,7 @@ static void Exit_EditEdge( WinEDA_DrawPanel* Panel, wxDC* DC ) Panel->ManageCurseur( Panel, DC, TRUE ); Panel->ManageCurseur( Panel, DC, TRUE ); Panel->GetScreen()->m_Curseur = pos; Panel->GetScreen()->m_Curseur = pos; Segment->m_Flags = 0; Segment->m_Flags = 0; Trace_DrawSegmentPcb( Panel, DC, Segment, GR_OR ); Segment->Draw( Panel, DC, GR_OR ); } } Panel->ManageCurseur = NULL; Panel->ManageCurseur = NULL; Panel->ForceCloseManageCurseur = NULL; Panel->ForceCloseManageCurseur = NULL; Loading Loading @@ -285,7 +278,7 @@ DRAWSEGMENT* WinEDA_PcbFrame::Begin_DrawSegment( DRAWSEGMENT* Segment, GetScreen()->SetModify(); GetScreen()->SetModify(); Segment->m_Flags = 0; Segment->m_Flags = 0; Trace_DrawSegmentPcb( DrawPanel, DC, Segment, GR_OR ); Segment->Draw( DrawPanel, DC, GR_OR ); DrawItem = Segment; DrawItem = Segment; Loading Loading @@ -317,7 +310,7 @@ void WinEDA_PcbFrame::End_Edge( DRAWSEGMENT* Segment, wxDC* DC ) { { if( Segment == NULL ) if( Segment == NULL ) return; return; Trace_DrawSegmentPcb( DrawPanel, DC, (DRAWSEGMENT*) Segment, GR_OR ); Segment->Draw( DrawPanel, DC, GR_OR ); /* Effacement si Longueur nulle */ /* Effacement si Longueur nulle */ if( (Segment->m_Start.x == Segment->m_End.x) if( (Segment->m_Start.x == Segment->m_End.x) Loading Loading @@ -358,7 +351,7 @@ static void Montre_Position_NewSegment( WinEDA_DrawPanel* panel, /* efface ancienne position */ /* efface ancienne position */ if( erase ) if( erase ) Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); if( Segments_45_Only && (Segment->m_Shape == S_SEGMENT ) ) if( Segments_45_Only && (Segment->m_Shape == S_SEGMENT ) ) { { Loading @@ -370,6 +363,6 @@ static void Montre_Position_NewSegment( WinEDA_DrawPanel* panel, Segment->m_End = panel->GetScreen()->m_Curseur; Segment->m_End = panel->GetScreen()->m_Curseur; } } Trace_DrawSegmentPcb( panel, DC, Segment, GR_XOR ); Segment->Draw( panel, DC, GR_XOR ); DisplayOpt.DisplayDrawItems = t_fill; DisplayOpt.DisplayDrawItems = t_fill; } }