Loading common/copy_to_clipboard.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -121,7 +121,7 @@ bool DrawPage( WinEDA_DrawPanel* panel ) { { dc.SetClippingRegion( DrawArea ); dc.SetClippingRegion( DrawArea ); } } panel->PrintPage( &dc, Print_Sheet_Ref, -1 ); panel->PrintPage( &dc, Print_Sheet_Ref, -1, false ); g_IsPrinting = FALSE; g_IsPrinting = FALSE; panel->m_ClipBox = tmp; panel->m_ClipBox = tmp; wxMetafile* mf = dc.Close(); wxMetafile* mf = dc.Close(); Loading eeschema/eeredraw.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -134,15 +134,16 @@ void WinEDA_SchematicFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg ) } } /*******************************************************************************/ /******************************************************************************************************/ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask ) void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask, bool aPrintMirrorMode ) /*******************************************************************************/ /******************************************************************************************************/ /** PrintPage /** PrintPage * used to print a page. * used to print a page. * Print the page pointed by ActiveScreen, set by the calling print function * Print the page pointed by ActiveScreen, set by the calling print function * @param DC = wxDC given by the calling print function * @param DC = wxDC given by the calling print function * @param Print_Sheet_Ref = true to print page references * @param Print_Sheet_Ref = true to print page references * @param PrintMask = not used here * @param PrintMask = not used here * @param aPrintMirrorMode = not used here (Set when printing in mirror mode) */ */ { { wxBeginBusyCursor(); wxBeginBusyCursor(); Loading gerbview/tracepcb.cpp +7 −3 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,9 @@ /* Variables Locales */ /* Variables Locales */ /**********************************************************************************/ /************************************************************************************************************/ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmasklayer ) void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmasklayer, bool aPrintMirrorMode ) /**********************************************************************************/ /*************************************************************************************************************/ /* routine de trace du pcb, avec selection des couches */ /* routine de trace du pcb, avec selection des couches */ { { DISPLAY_OPTIONS save_opt; DISPLAY_OPTIONS save_opt; Loading @@ -47,11 +47,15 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl DisplayPolygonsModeImg = g_DisplayPolygonsModeSketch; DisplayPolygonsModeImg = g_DisplayPolygonsModeSketch; g_DisplayPolygonsModeSketch = 0; g_DisplayPolygonsModeSketch = 0; m_PrintIsMirrored = aPrintMirrorMode; ( (WinEDA_GerberFrame*) m_Parent )->Trace_Gerber( DC, GR_COPY, printmasklayer ); ( (WinEDA_GerberFrame*) m_Parent )->Trace_Gerber( DC, GR_COPY, printmasklayer ); if( Print_Sheet_Ref ) if( Print_Sheet_Ref ) m_Parent->TraceWorkSheet( DC, GetScreen(), 0 ); m_Parent->TraceWorkSheet( DC, GetScreen(), 0 ); m_PrintIsMirrored = false; DisplayOpt = save_opt; DisplayOpt = save_opt; g_DisplayPolygonsModeSketch = DisplayPolygonsModeImg; g_DisplayPolygonsModeSketch = DisplayPolygonsModeImg; } } Loading include/drawpanel_wxstruct.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,8 @@ public: bool m_Block_Enable; // TRUE to accept Block Commands bool m_Block_Enable; // TRUE to accept Block Commands int m_CanStartBlock; // >= 0 (or >= n) if a block can start int m_CanStartBlock; // >= 0 (or >= n) if a block can start bool m_PrintIsMirrored; // True when drawing in mirror mode. Used in draw arc function, // because arcs are oriented, and in mirror mode, orientations are reversed // usefull to avoid false start block in certain cases (like switch from a sheet to an other scheet // usefull to avoid false start block in certain cases (like switch from a sheet to an other scheet int m_PanelDefaultCursor; // Current mouse cursor default shape id for this window int m_PanelDefaultCursor; // Current mouse cursor default shape id for this window int m_PanelCursor; // Current mouse cursor shape id for this window int m_PanelCursor; // Current mouse cursor shape id for this window Loading Loading @@ -71,7 +73,7 @@ public: void OnSize( wxSizeEvent& event ); void OnSize( wxSizeEvent& event ); void SetBoundaryBox(); void SetBoundaryBox(); void ReDraw( wxDC* DC, bool erasebg = TRUE ); void ReDraw( wxDC* DC, bool erasebg = TRUE ); void PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask ); void PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask, bool aPrintMirrorMode ); void DrawBackGround( wxDC* DC ); void DrawBackGround( wxDC* DC ); void m_Draw_Auxiliary_Axis( wxDC* DC, int drawmode ); void m_Draw_Auxiliary_Axis( wxDC* DC, int drawmode ); void OnEraseBackground( wxEraseEvent& event ); void OnEraseBackground( wxEraseEvent& event ); Loading pcbnew/class_drawsegment.cpp +11 −2 Original line number Original line Diff line number Diff line Loading @@ -244,8 +244,17 @@ void DRAWSEGMENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, StAngle = (int) ArcTangente( dy - uy0, dx - ux0 ); StAngle = (int) ArcTangente( dy - uy0, dx - ux0 ); EndAngle = StAngle + m_Angle; EndAngle = StAngle + m_Angle; if ( ! panel->m_PrintIsMirrored) { if( StAngle > EndAngle ) if( StAngle > EndAngle ) EXCHG( StAngle, EndAngle ); EXCHG( StAngle, EndAngle ); } else //Mirrored mode: arc orientation is reversed { if( StAngle < EndAngle ) EXCHG( StAngle, EndAngle ); } if( mode == FILAIRE ) if( mode == FILAIRE ) GRArc( &panel->m_ClipBox, DC, ux0, uy0, StAngle, EndAngle, rayon, color ); GRArc( &panel->m_ClipBox, DC, ux0, uy0, StAngle, EndAngle, rayon, color ); Loading Loading
common/copy_to_clipboard.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -121,7 +121,7 @@ bool DrawPage( WinEDA_DrawPanel* panel ) { { dc.SetClippingRegion( DrawArea ); dc.SetClippingRegion( DrawArea ); } } panel->PrintPage( &dc, Print_Sheet_Ref, -1 ); panel->PrintPage( &dc, Print_Sheet_Ref, -1, false ); g_IsPrinting = FALSE; g_IsPrinting = FALSE; panel->m_ClipBox = tmp; panel->m_ClipBox = tmp; wxMetafile* mf = dc.Close(); wxMetafile* mf = dc.Close(); Loading
eeschema/eeredraw.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -134,15 +134,16 @@ void WinEDA_SchematicFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg ) } } /*******************************************************************************/ /******************************************************************************************************/ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask ) void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask, bool aPrintMirrorMode ) /*******************************************************************************/ /******************************************************************************************************/ /** PrintPage /** PrintPage * used to print a page. * used to print a page. * Print the page pointed by ActiveScreen, set by the calling print function * Print the page pointed by ActiveScreen, set by the calling print function * @param DC = wxDC given by the calling print function * @param DC = wxDC given by the calling print function * @param Print_Sheet_Ref = true to print page references * @param Print_Sheet_Ref = true to print page references * @param PrintMask = not used here * @param PrintMask = not used here * @param aPrintMirrorMode = not used here (Set when printing in mirror mode) */ */ { { wxBeginBusyCursor(); wxBeginBusyCursor(); Loading
gerbview/tracepcb.cpp +7 −3 Original line number Original line Diff line number Diff line Loading @@ -22,9 +22,9 @@ /* Variables Locales */ /* Variables Locales */ /**********************************************************************************/ /************************************************************************************************************/ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmasklayer ) void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmasklayer, bool aPrintMirrorMode ) /**********************************************************************************/ /*************************************************************************************************************/ /* routine de trace du pcb, avec selection des couches */ /* routine de trace du pcb, avec selection des couches */ { { DISPLAY_OPTIONS save_opt; DISPLAY_OPTIONS save_opt; Loading @@ -47,11 +47,15 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl DisplayPolygonsModeImg = g_DisplayPolygonsModeSketch; DisplayPolygonsModeImg = g_DisplayPolygonsModeSketch; g_DisplayPolygonsModeSketch = 0; g_DisplayPolygonsModeSketch = 0; m_PrintIsMirrored = aPrintMirrorMode; ( (WinEDA_GerberFrame*) m_Parent )->Trace_Gerber( DC, GR_COPY, printmasklayer ); ( (WinEDA_GerberFrame*) m_Parent )->Trace_Gerber( DC, GR_COPY, printmasklayer ); if( Print_Sheet_Ref ) if( Print_Sheet_Ref ) m_Parent->TraceWorkSheet( DC, GetScreen(), 0 ); m_Parent->TraceWorkSheet( DC, GetScreen(), 0 ); m_PrintIsMirrored = false; DisplayOpt = save_opt; DisplayOpt = save_opt; g_DisplayPolygonsModeSketch = DisplayPolygonsModeImg; g_DisplayPolygonsModeSketch = DisplayPolygonsModeImg; } } Loading
include/drawpanel_wxstruct.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,8 @@ public: bool m_Block_Enable; // TRUE to accept Block Commands bool m_Block_Enable; // TRUE to accept Block Commands int m_CanStartBlock; // >= 0 (or >= n) if a block can start int m_CanStartBlock; // >= 0 (or >= n) if a block can start bool m_PrintIsMirrored; // True when drawing in mirror mode. Used in draw arc function, // because arcs are oriented, and in mirror mode, orientations are reversed // usefull to avoid false start block in certain cases (like switch from a sheet to an other scheet // usefull to avoid false start block in certain cases (like switch from a sheet to an other scheet int m_PanelDefaultCursor; // Current mouse cursor default shape id for this window int m_PanelDefaultCursor; // Current mouse cursor default shape id for this window int m_PanelCursor; // Current mouse cursor shape id for this window int m_PanelCursor; // Current mouse cursor shape id for this window Loading Loading @@ -71,7 +73,7 @@ public: void OnSize( wxSizeEvent& event ); void OnSize( wxSizeEvent& event ); void SetBoundaryBox(); void SetBoundaryBox(); void ReDraw( wxDC* DC, bool erasebg = TRUE ); void ReDraw( wxDC* DC, bool erasebg = TRUE ); void PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask ); void PrintPage( wxDC* DC, bool Print_Sheet_Ref, int PrintMask, bool aPrintMirrorMode ); void DrawBackGround( wxDC* DC ); void DrawBackGround( wxDC* DC ); void m_Draw_Auxiliary_Axis( wxDC* DC, int drawmode ); void m_Draw_Auxiliary_Axis( wxDC* DC, int drawmode ); void OnEraseBackground( wxEraseEvent& event ); void OnEraseBackground( wxEraseEvent& event ); Loading
pcbnew/class_drawsegment.cpp +11 −2 Original line number Original line Diff line number Diff line Loading @@ -244,8 +244,17 @@ void DRAWSEGMENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC, StAngle = (int) ArcTangente( dy - uy0, dx - ux0 ); StAngle = (int) ArcTangente( dy - uy0, dx - ux0 ); EndAngle = StAngle + m_Angle; EndAngle = StAngle + m_Angle; if ( ! panel->m_PrintIsMirrored) { if( StAngle > EndAngle ) if( StAngle > EndAngle ) EXCHG( StAngle, EndAngle ); EXCHG( StAngle, EndAngle ); } else //Mirrored mode: arc orientation is reversed { if( StAngle < EndAngle ) EXCHG( StAngle, EndAngle ); } if( mode == FILAIRE ) if( mode == FILAIRE ) GRArc( &panel->m_ClipBox, DC, ux0, uy0, StAngle, EndAngle, rayon, color ); GRArc( &panel->m_ClipBox, DC, ux0, uy0, StAngle, EndAngle, rayon, color ); Loading