From 0d9d8c28f1a50ac58a18c319a608d1d47aa2aba3 Mon Sep 17 00:00:00 2001 From: Josue Huaroto Date: Sun, 3 Sep 2023 12:30:32 +0000 Subject: [PATCH] Flip Viewport when Flip board is enabled (cherry picked from commit a8e18e2d8c2945c9c852929b7eeb150f235cb5ef) --- common/view/view.cpp | 2 +- pcbnew/widgets/appearance_controls.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/view/view.cpp b/common/view/view.cpp index 4e9220d1fa..e1e5c0a057 100644 --- a/common/view/view.cpp +++ b/common/view/view.cpp @@ -521,7 +521,7 @@ void VIEW::SetViewport( const BOX2D& aViewport ) { VECTOR2D ssize = ToWorld( m_gal->GetScreenPixelSize(), false ); - wxCHECK( ssize.x > 0 && ssize.y > 0, /*void*/ ); + wxCHECK( fabs(ssize.x) > 0 && fabs(ssize.y) > 0, /*void*/ ); VECTOR2D centre = aViewport.Centre(); VECTOR2D vsize = aViewport.GetSize(); diff --git a/pcbnew/widgets/appearance_controls.cpp b/pcbnew/widgets/appearance_controls.cpp index 91df78d44f..2dd1d5ee8f 100644 --- a/pcbnew/widgets/appearance_controls.cpp +++ b/pcbnew/widgets/appearance_controls.cpp @@ -2903,6 +2903,11 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent ) void APPEARANCE_CONTROLS::doApplyViewport( const VIEWPORT& aViewport ) { m_frame->GetCanvas()->GetView()->SetViewport( aViewport.rect ); + if( m_cbFlipBoard->GetValue() ) + { + m_frame->GetCanvas()->GetView()->SetMirror( true, false ); + m_frame->GetCanvas()->GetView()->RecacheAllItems(); + } m_frame->GetCanvas()->Refresh(); }