Browse Source

ToolTip sichtbarkeit und mausereignis verarbeitungsreihenfolge angepasst

Kolja Strohm 5 years ago
parent
commit
277c4e8254
3 changed files with 9 additions and 7 deletions
  1. 4 4
      Bildschirm.cpp
  2. 1 1
      ToolTip.cpp
  3. 4 2
      Zeichnung.cpp

+ 4 - 4
Bildschirm.cpp

@@ -210,7 +210,7 @@ void Bildschirm::doMausEreignis( MausEreignis &me ) // sendet maus Ereignis
     lock();
     if( !renderOnTop )
     {
-        for( int i = 0; i < tipAnzahl; ++i )
+        for( int i = tipAnzahl - 1; i >= 0; i-- )
             tips->z( i )->doMausEreignis( me );
         for( int i = members->getEintragAnzahl() - 1; i >= 0; i-- )
             members->z( i )->doMausEreignis( me );
@@ -218,7 +218,7 @@ void Bildschirm::doMausEreignis( MausEreignis &me ) // sendet maus Ereignis
     else if( onTop )
     {
         onTop->doMausEreignis( me );
-        for( int i = 0; i < tipAnzahl; ++i )
+        for( int i = tipAnzahl - 1; i >= 0; i-- )
             tips->z( i )->doMausEreignis( me );
     }
     unlock();
@@ -232,8 +232,8 @@ void Bildschirm::doTastaturEreignis( TastaturEreignis &te ) // sendet tastatur E
         for( int i = members->getEintragAnzahl() - 1; i >= 0; i-- )
             members->z( i )->doTastaturEreignis( te );
     }
-    else if( onTop )
-        onTop->doTastaturEreignis( te );
+    for( int i = tipAnzahl - 1; i >= 0; i-- )
+        tips->z( i )->doTastaturEreignis( te );
     unlock();
 }
 

+ 1 - 1
ToolTip.cpp

@@ -177,7 +177,7 @@ void ToolTip::doMausEreignis( MausEreignis &me )
 
 void ToolTip::render( Bild &zRObj )
 {
-    if( alpha && zeichnen )
+    if( alpha && ( zeichnen || mausIn2 ) )
     {
         zRObj.setAlpha( alpha );
         setPosition( pos );

+ 4 - 2
Zeichnung.cpp

@@ -177,6 +177,8 @@ void Zeichnung::doMausEreignis( MausEreignis &me ) // ruft Mak auf
         me2.verarbeitet = 0;
         doMausEreignis( me2 );
     }
+    if( mausIn && toolTip )
+        toolTip->setMausIn( 1 );
     me.mx -= pos.x, me.my -= pos.y;
     if( mak )
         me.verarbeitet |= mak( makParam, this, me );
@@ -249,7 +251,7 @@ bool Zeichnung::tick( double tickval )
 {
     while( !actions.empty() )
     {
-        actions.front()();
+        actions.front()( );
         actions.pop();
     }
     bool r = rend;
@@ -363,7 +365,7 @@ int Zeichnung::getY() const // gibt Y zur
 
 ToolTip *Zeichnung::getToolTip() const // gibt den ToolTip Text
 {
-    return ( ToolTip*)toolTip->getThis();
+    return (ToolTip*)toolTip->getThis();
 }
 
 ToolTip *Zeichnung::zToolTip() const