Browse Source

Fortschrittsbaklen kann nun auch aktionsanzahl anzeigen

Kolja Strohm 5 years ago
parent
commit
40ac364a6d
2 changed files with 13 additions and 2 deletions
  1. 11 1
      Fortschritt.cpp
  2. 2 1
      Fortschritt.h

+ 11 - 1
Fortschritt.cpp

@@ -225,12 +225,22 @@ void FBalken::render( Bild &zRObj ) // zeichnet nach zRObj
         fBuffer->render( zRObj );
     }
     zRObj.releaseDrawOptions();
-    if( hatStyle( Style::Prozent ) && textRd )
+    if( hatStyle( Style::Aktionen ) && textRd )
+    {
+        textRd->setSchriftSize( schriftSize );
+        Text txt = Text( "" ) + ak + "/" + maxAk;
+        if( hatStyle( Style::Prozent ) )
+            txt += Text( " (" ) + (int)getProzent() + "%)";
+        zRObj.alphaRegion( rbr + ( gr.x - rbr * 2 ) / 2 - textRd->getTextBreite( txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - textRd->getTextHeight( txt ) / 2, textRd->getTextBreite( txt ), textRd->getTextHeight( txt ), 0x70000000 );
+        textRd->renderText( rbr + ( gr.x - rbr * 2 ) / 2 - textRd->getTextBreite( txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - textRd->getTextHeight( txt ) / 2, txt, zRObj, schriftFarbe );
+    }
+    else if( hatStyle( Style::Prozent ) && textRd )
     {
         textRd->setSchriftSize( schriftSize );
         Text txt;
         txt.append( (int)getProzent() );
         txt.append( "%" );
+        zRObj.alphaRegion( rbr + ( gr.x - rbr * 2 ) / 2 - textRd->getTextBreite( txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - textRd->getTextHeight( txt ) / 2, textRd->getTextBreite( txt ), textRd->getTextHeight( txt ), 0x70000000 );
         textRd->renderText( rbr + ( gr.x - rbr * 2 ) / 2 - textRd->getTextBreite( txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - textRd->getTextHeight( txt ) / 2, txt, zRObj, schriftFarbe );
     }
     zRObj.releaseDrawOptions();

+ 2 - 1
Fortschritt.h

@@ -20,6 +20,7 @@ namespace Framework
         {
         public:
             const static __int64 Prozent = 0x001000; // Legt fest, ob eine Prozentangebe gezechnet wird
+            const static __int64 Aktionen = 0x01000000; // Legt fest, ob die Aktionsschritte gezeichnet werden
 
             const static __int64 FRahmen = 0x002000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens einen eigenen Rahmen hat
             const static __int64 FFarbe = 0x004000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens eine eigene Hintergrund Farbe hat
@@ -32,7 +33,7 @@ namespace Framework
             const static __int64 U_O = 0x0400000; // Legt fest, ob sich der Fortschritt von unten nach oben ausbreitet
             const static __int64 O_U = 0x0800000; // Legt fest, ob sich der Fortschritt von oben nach unten ausbreitet
 
-            const static __int64 normal = Sichtbar | Rahmen | Hintergrund | HBild | FRahmen | FBild | L_R | Prozent; // Vereint die Flags Sichtbar, Rahmen, Hintergrund, HBild, FRahmen, FBild, L_R, Prozent
+            const static __int64 normal = Sichtbar | Rahmen | Hintergrund | HBild | FRahmen | FBild | L_R | Prozent | Aktionen; // Vereint die Flags Sichtbar, Rahmen, Hintergrund, HBild, FRahmen, FBild, L_R, Prozent
         };
     private:
         __int64 maxAk;