|
@@ -12,7 +12,7 @@ using namespace Framework;
|
|
|
// Inhalt der ToolTip Klasse aus ToolTip.h
|
|
|
// Konstruktor
|
|
|
ToolTip::ToolTip( Bildschirm *zScreen )
|
|
|
- : TextFeld(),
|
|
|
+ : ZeichnungHintergrund(),
|
|
|
size( 0, 0 ),
|
|
|
animationSpeed( 250 ),
|
|
|
warten( 1 ),
|
|
@@ -24,12 +24,15 @@ ToolTip::ToolTip( Bildschirm *zScreen )
|
|
|
zeichnen( 0 ),
|
|
|
bildschirm( zScreen )
|
|
|
{
|
|
|
+ members = new RCArray< Zeichnung >();
|
|
|
bildschirm->addToolTip( ( ToolTip* )this->getThis() );
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
|
ToolTip::~ToolTip()
|
|
|
-{}
|
|
|
+{
|
|
|
+ members->release();
|
|
|
+}
|
|
|
|
|
|
// nicht constant
|
|
|
void ToolTip::setSize( int breite, int height )
|
|
@@ -45,6 +48,13 @@ void ToolTip::setSize( Punkt &gr )
|
|
|
rend = 1;
|
|
|
}
|
|
|
|
|
|
+// Fügt eine Zeichnung zum Tooltip hinzu
|
|
|
+// m: die neue Zeichnung
|
|
|
+void ToolTip::addMember( Zeichnung *m )
|
|
|
+{
|
|
|
+ members->add( m );
|
|
|
+}
|
|
|
+
|
|
|
void ToolTip::setWarten( double warten )
|
|
|
{
|
|
|
this->warten = warten;
|
|
@@ -103,7 +113,7 @@ bool ToolTip::tick( double tickVal )
|
|
|
sichtbar = 1;
|
|
|
wartenCount = 0;
|
|
|
alpha = 0xFF;
|
|
|
- TextFeld::setSize( 0, 0 );
|
|
|
+ ZeichnungHintergrund::setSize( 0, 0 );
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -113,20 +123,20 @@ bool ToolTip::tick( double tickVal )
|
|
|
{
|
|
|
if( getBreite() != size.x )
|
|
|
{
|
|
|
- TextFeld::setSize( getBreite() + val, getSchriftSize() + getRahmenBreite() * 2 );
|
|
|
+ ZeichnungHintergrund::setSize( getBreite() + val, getHeight() );
|
|
|
if( getBreite() > size.x )
|
|
|
- TextFeld::setSize( size.x, getHeight() );
|
|
|
+ ZeichnungHintergrund::setSize( size.x, getHeight() );
|
|
|
rend = 1;
|
|
|
}
|
|
|
- else if( getHeight() != size.y )
|
|
|
+ if( getHeight() != size.y )
|
|
|
{
|
|
|
- TextFeld::setSize( getBreite(), getHeight() + val );
|
|
|
+ ZeichnungHintergrund::setSize( getBreite(), getHeight() + val );
|
|
|
if( getHeight() > size.y )
|
|
|
- TextFeld::setSize( getBreite(), size.y );
|
|
|
+ ZeichnungHintergrund::setSize( getBreite(), size.y );
|
|
|
rend = 1;
|
|
|
}
|
|
|
}
|
|
|
- return TextFeld::tick( tickVal );
|
|
|
+ return ZeichnungHintergrund::tick( tickVal );
|
|
|
}
|
|
|
|
|
|
void ToolTip::doMausEreignis( MausEreignis &me )
|
|
@@ -142,15 +152,13 @@ void ToolTip::render( Bild &zRObj )
|
|
|
{
|
|
|
if( alpha && zeichnen )
|
|
|
{
|
|
|
- zTextRenderer()->setSchriftSize( getSchriftSize() );
|
|
|
- size = Punkt( zTextRenderer()->getTextBreite( zText()->getText() ) + getRahmenBreite() * 2, zTextRenderer()->getTextHeight( zText()->getText() ) + getRahmenBreite() * 2 );
|
|
|
zRObj.setAlpha( alpha );
|
|
|
setPosition( pos );
|
|
|
if( getX() + getBreite() > zRObj.getBreite() )
|
|
|
setPosition( getX() - ( getX() + getBreite() - zRObj.getBreite() ), getY() );
|
|
|
if( getY() + getHeight() > zRObj.getHeight() )
|
|
|
setPosition( getX(), getY() - ( getY() + getHeight() - zRObj.getHeight() ) );
|
|
|
- TextFeld::render( zRObj );
|
|
|
+ ZeichnungHintergrund::render( zRObj );
|
|
|
zRObj.releaseAlpha();
|
|
|
zeichnen = 0;
|
|
|
}
|