From 446a0a174e06d119c0babfe514b08c62412059de Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Tue, 3 Sep 2013 14:15:37 +0200 Subject: [PATCH] Module texts are now moveable, rotatable and flippable. --- pcbnew/class_text_mod.cpp | 16 ++++++++++++++++ pcbnew/class_text_mod.h | 9 +++++++++ 2 files changed, 25 insertions(+) diff --git a/pcbnew/class_text_mod.cpp b/pcbnew/class_text_mod.cpp index d84cac4860..37b9a63c3c 100644 --- a/pcbnew/class_text_mod.cpp +++ b/pcbnew/class_text_mod.cpp @@ -87,6 +87,22 @@ TEXTE_MODULE::~TEXTE_MODULE() } +void TEXTE_MODULE::Rotate( const wxPoint& aRotCentre, double aAngle ) +{ + RotatePoint( &m_Pos, aRotCentre, aAngle ); + m_Orient += aAngle; + NORMALIZE_ANGLE_360( m_Orient ); +} + + +void TEXTE_MODULE::Flip(const wxPoint& aCentre ) +{ + m_Pos.y = aCentre.y - ( m_Pos.y - aCentre.y ); + SetLayer( FlipLayer( GetLayer() ) ); + m_Mirror = !m_Mirror; +} + + void TEXTE_MODULE::Copy( TEXTE_MODULE* source ) { if( source == NULL ) diff --git a/pcbnew/class_text_mod.h b/pcbnew/class_text_mod.h index 635cef14de..b693298159 100644 --- a/pcbnew/class_text_mod.h +++ b/pcbnew/class_text_mod.h @@ -89,6 +89,15 @@ public: m_Pos = aPos; } + void Move( const wxPoint& aMoveVector ) + { + m_Pos += aMoveVector; + } + + void Rotate( const wxPoint& aRotCentre, double aAngle ); + + void Flip( const wxPoint& aCentre ); + TEXTE_MODULE* Next() const { return (TEXTE_MODULE*) Pnext; } TEXTE_MODULE* Back() const { return (TEXTE_MODULE*) Pback; }