schematic bitmap: add properties

This commit is contained in:
Mike Williams 2024-09-18 11:10:53 -04:00
parent 87a66d4df1
commit 87aaf924b3
2 changed files with 34 additions and 12 deletions

View File

@ -242,17 +242,6 @@ void SCH_BITMAP::ViewGetLayers( int aLayers[], int& aCount ) const
}
static struct SCH_BITMAP_DESC
{
SCH_BITMAP_DESC()
{
PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance();
REGISTER_TYPE( SCH_BITMAP );
propMgr.InheritsAfter( TYPE_HASH( SCH_BITMAP ), TYPE_HASH( SCH_ITEM ) );
}
} _SCH_BITMAP_DESC;
bool SCH_BITMAP::operator==( const SCH_ITEM& aItem ) const
{
if( Type() != aItem.Type() )
@ -292,4 +281,31 @@ double SCH_BITMAP::Similarity( const SCH_ITEM& aItem ) const
return 0.5;
return 1.0;
}
}
static struct SCH_BITMAP_DESC
{
SCH_BITMAP_DESC()
{
PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance();
REGISTER_TYPE( SCH_BITMAP );
propMgr.InheritsAfter( TYPE_HASH( SCH_BITMAP ), TYPE_HASH( SCH_ITEM ) );
propMgr.AddProperty( new PROPERTY<SCH_BITMAP, int>( _HKI( "Position X" ), &SCH_BITMAP::SetX,
&SCH_BITMAP::GetX,
PROPERTY_DISPLAY::PT_COORD ) );
propMgr.AddProperty( new PROPERTY<SCH_BITMAP, int>( _HKI( "Position Y" ), &SCH_BITMAP::SetY,
&SCH_BITMAP::GetY,
PROPERTY_DISPLAY::PT_COORD ) );
const wxString groupBITMAP = _HKI( "Image Properties" );
propMgr.AddProperty( new PROPERTY<SCH_BITMAP, double>( _HKI( "Scale" ),
&SCH_BITMAP::SetImageScale,
&SCH_BITMAP::GetImageScale ),
groupBITMAP );
}
} _SCH_BITMAP_DESC;

View File

@ -58,6 +58,12 @@ public:
return m_bitmapBase;
}
int GetX() const { return GetPosition().x; };
void SetX( int aX ) { SetPosition( VECTOR2I( aX, GetY() ) ); }
int GetY() const { return GetPosition().y; }
void SetY( int aY ) { SetPosition( VECTOR2I( GetX(), aY ) ); }
/**
* @return the image "zoom" value.
* scale = 1.0 = original size of bitmap.