Fortschritt.h 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef Fortschritt_H
  2. #define Fortschritt_H
  3. #include "Zeichnung.h"
  4. namespace Framework
  5. {
  6. class Rahmen; // Rahmen.h
  7. class AlphaFeld; // AlphaFeld.h
  8. class Bild; // Bild.h
  9. class Schrift; // Schrift.h
  10. class FBalken; // aus dieser Datei
  11. class TextRenderer;
  12. // Eine Zeichnung des 2D GuI Frameworks, die einen Fortschrittsbalken zeichnet
  13. class FBalken : public ZeichnungHintergrund
  14. {
  15. public:
  16. class Style : public ZeichnungHintergrund::Style
  17. {
  18. public:
  19. const static __int64 Prozent = 0x001000; // Legt fest, ob eine Prozentangebe gezechnet wird
  20. const static __int64 FRahmen = 0x002000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens einen eigenen Rahmen hat
  21. const static __int64 FFarbe = 0x004000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens eine eigene Hintergrund Farbe hat
  22. const static __int64 FBild = 0x008000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens ein eigenes Hintergrund Bild hat
  23. const static __int64 FAlpha = 0x10000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens zum zeichnen seines Hintergrundes alpha blending verwendet
  24. const static __int64 FBuffered = 0x20000; // Legt fest, ob der vom fortschritt erfasste Teil des Balkens einen eigenen Frbübergang hat
  25. const static __int64 L_R = 0x0100000; // Legt fest, ob sich der Fortschritt von lenks nach rechts ausbreitet
  26. const static __int64 R_L = 0x0200000; // Legt fest, ob sich der Fortschritt von rechts nach links ausbreitet
  27. const static __int64 U_O = 0x0400000; // Legt fest, ob sich der Fortschritt von unten nach oben ausbreitet
  28. const static __int64 O_U = 0x0800000; // Legt fest, ob sich der Fortschritt von oben nach unten ausbreitet
  29. 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
  30. };
  31. private:
  32. __int64 maxAk;
  33. __int64 ak;
  34. Rahmen *fRahmen;
  35. AlphaFeld *fBuffer;
  36. int fBgF;
  37. Bild *fBgBild;
  38. TextRenderer *textRd;
  39. int schriftFarbe;
  40. unsigned char schriftSize;
  41. public:
  42. // Konstruktor
  43. __declspec( dllexport ) FBalken();
  44. // Destructor
  45. __declspec( dllexport ) virtual ~FBalken();
  46. // Setzt die Anzahl an benötigten Operationen um 100% Fortschritt zu erreichen
  47. // ak: Die Anzahl an Operationen
  48. __declspec( dllexport ) void setAktionAnzahl( __int64 ak );
  49. // Legt fest, dass eine bestimmte Anzahl an Operationen seit dem letzten Aufruf der Funktion durchgeführt wurden
  50. // aktionen: Die durchgeführten Operationen. Standartmäßig auf 1
  51. __declspec( dllexport ) void aktionPlus( __int64 aktionen = 1 );
  52. // Setzt alle fertigen Operationen zurück, so dass der Fortschritt wieder von 0% beginnt
  53. __declspec( dllexport ) void reset();
  54. // Setzt einen Zeiger auf den Rahmen, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  55. // ram: Der Rahmen
  56. __declspec( dllexport ) void setFRahmenZ( Rahmen *ram );
  57. // Setzt die Farbe des Rahmens, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  58. // f: Die Farbe im A8R8G8B8 Format
  59. __declspec( dllexport ) void setFRFarbe( int f );
  60. // Setzt die Breite des Rahmens, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  61. // br: Die Breite in Pixeln
  62. __declspec( dllexport ) void setFRBreite( int br );
  63. // Setzt einen Zeiger auf den Farbverlauf, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  64. // af: Der Farbverlauf
  65. __declspec( dllexport ) void setFAlphaFeldZ( AlphaFeld *af );
  66. // Setzt die Farbe des Farbverlaufs, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  67. // f: Die Farbe im A8R8G8B8 Format
  68. __declspec( dllexport ) void setFAFFarbe( int f );
  69. // Setzt die Stärke des Farbverlaufs, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  70. // st: Die Stärke
  71. __declspec( dllexport ) void setFAFStrength( int st );
  72. // Setzt die Hintergrund Farbe, die in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  73. // f: Die Farbe im A8R8G8B8 Format
  74. __declspec( dllexport ) void setFBgFarbe( int f );
  75. // Setzt einen Zeiger auf das Hintergrund Bild, das in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  76. // b: Das Bild
  77. __declspec( dllexport ) void setFBgBildZ( Bild *b );
  78. // Setzt das Hintergrund Bild durch kopieren, das in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  79. // b: Das Bild, das kopiert werden soll
  80. __declspec( dllexport ) void setFBgBild( Bild *b );
  81. // Setzt den verwendeten TextRenderer
  82. // textRd: Der Textrenderer
  83. __declspec( dllexport ) void setTextRendererZ( TextRenderer *textRd );
  84. // Setzt die Schrift, die verwendet wird, um die Prozentanzeige zu zeichnen
  85. __declspec( dllexport ) void setSchriftZ( Schrift *b );
  86. // Setzt die Farbe der Prozentanzeige
  87. // f: Die Farbe im A8R8G8B8 Format
  88. __declspec( dllexport ) void setSFarbe( int f );
  89. // Setzt die Schriftgröße der Prozentanzeige
  90. // gr: Die Größe einer Zeile in Pixeln
  91. __declspec( dllexport ) void setSSize( unsigned char gr );
  92. // Zeichnet das Objekt nach zRObj, falls es sichtbar ist
  93. // zRObj: Das Bild, in welches gezeichnet werden soll
  94. __declspec( dllexport ) void render( Bild &zRObj ) override;
  95. // Gibt die Anzahl an benötigten Operationen zurück, die für 100% benötigt werden
  96. __declspec( dllexport ) __int64 getAktionAnzahl() const;
  97. // Gibt die momentan erreichte Prozentzahl des Fortschritts zurück
  98. __declspec( dllexport ) double getProzent() const;
  99. // Gibt die Anzahl an fertigen Operationen zurück
  100. __declspec( dllexport ) __int64 getAktion() const;
  101. // Gibt den Rahmen zurück, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  102. __declspec( dllexport ) Rahmen *getFRahmen() const;
  103. // Gibt den Rahmen ohne erhöhten Reference Counter zurück, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  104. __declspec( dllexport ) Rahmen *zFRahmen() const;
  105. // Gibt den Farbübergang zurück, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  106. __declspec( dllexport ) AlphaFeld *getFAlphaFeld() const;
  107. // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  108. __declspec( dllexport ) AlphaFeld *zFAlphaFeld() const;
  109. // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  110. __declspec( dllexport ) int getFBgFarbe() const;
  111. // Gibt das Hintergrund Bild zurück, das in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  112. __declspec( dllexport ) Bild *getFBgBild() const;
  113. // Gibt das Hintergrund Bild ohne erhöhten Reference COunter zurück, das in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
  114. __declspec( dllexport ) Bild *zFBgBild() const;
  115. // Gibt die Schrift zurück, die für die Prozentanzeige verwendet wird
  116. __declspec( dllexport ) Schrift *getSchrift() const;
  117. // Gibt die Schrift ohne erhöhten Reference Counter zurück, die für die Prozentanzeige verwendet wird
  118. __declspec( dllexport ) Schrift *zSchrift() const;
  119. // Gibt die Farbe der Prozentanzeige im A8R8G8B8 Format zurück
  120. __declspec( dllexport ) int getSFarbe() const;
  121. };
  122. }
  123. #endif