Nanometric work
- D_PAD members converted; - style improved; - GetPosition made returning value, added SetPosition; - highly experimental, test it please!
This commit is contained in:
@@ -538,7 +538,7 @@ void MirrorMarkedItems( MODULE* module, wxPoint offset )
|
||||
{
|
||||
#define SETMIRROR( z ) (z) -= offset.x; (z) = -(z); (z) += offset.x;
|
||||
EDA_ITEM* item;
|
||||
|
||||
wxPoint tmp;
|
||||
if( module == NULL )
|
||||
return;
|
||||
|
||||
@@ -549,10 +549,12 @@ void MirrorMarkedItems( MODULE* module, wxPoint offset )
|
||||
if( pad->m_Selected == 0 )
|
||||
continue;
|
||||
|
||||
SETMIRROR( pad->GetPosition().x );
|
||||
pad->m_Pos0.x = FROM_LEGACY_LU( pad->GetPosition().x );
|
||||
NEGATE( pad->m_Offset.x );
|
||||
NEGATE( pad->m_DeltaSize.x );
|
||||
tmp = pad->GetPosition();
|
||||
SETMIRROR( tmp.x );
|
||||
pad->SetPosition( tmp );
|
||||
pad->m_Pos0.x( FROM_LEGACY_LU( pad->GetPosition().x ) );
|
||||
pad->m_Offset.x( -pad->m_Offset.x() );
|
||||
pad->m_DeltaSize.x( -pad->m_DeltaSize.x() );
|
||||
pad->m_Orient = 1800 - pad->m_Orient;
|
||||
NORMALIZE_ANGLE_POS( pad->m_Orient );
|
||||
}
|
||||
@@ -578,7 +580,9 @@ void MirrorMarkedItems( MODULE* module, wxPoint offset )
|
||||
break;
|
||||
|
||||
case PCB_MODULE_TEXT_T:
|
||||
SETMIRROR( ( (TEXTE_MODULE*) item )->GetPosition().x );
|
||||
tmp = ( (TEXTE_MODULE*) item )->GetPosition();
|
||||
SETMIRROR( tmp.x );
|
||||
( (TEXTE_MODULE*) item )->SetPosition( tmp );
|
||||
( (TEXTE_MODULE*) item )->m_Pos0.x = ( (TEXTE_MODULE*) item )->GetPosition().x;
|
||||
break;
|
||||
|
||||
@@ -608,8 +612,9 @@ void RotateMarkedItems( MODULE* module, wxPoint offset )
|
||||
{
|
||||
if( pad->m_Selected == 0 )
|
||||
continue;
|
||||
|
||||
ROTATE( pad->GetPosition() );
|
||||
wxPoint pos = pad->GetPosition();
|
||||
ROTATE( pos );
|
||||
pad->SetPosition( pos );
|
||||
pad->m_Pos0 = FROM_LEGACY_LU_VEC( pad->GetPosition() );
|
||||
pad->m_Orient += 900;
|
||||
NORMALIZE_ANGLE_POS( pad->m_Orient );
|
||||
@@ -632,7 +637,11 @@ void RotateMarkedItems( MODULE* module, wxPoint offset )
|
||||
break;
|
||||
|
||||
case PCB_MODULE_TEXT_T:
|
||||
ROTATE( ( (TEXTE_MODULE*) item )->GetPosition() );
|
||||
{
|
||||
wxPoint pos = ( (TEXTE_MODULE*) item )->m_Pos;
|
||||
ROTATE( pos );
|
||||
( (TEXTE_MODULE*) item )->m_Pos = pos;
|
||||
}
|
||||
( (TEXTE_MODULE*) item )->m_Pos0 = ( (TEXTE_MODULE*) item )->GetPosition();
|
||||
( (TEXTE_MODULE*) item )->m_Orient += 900;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user