AlphaFeld.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef AlphaFeld_H
  2. #define AlphaFeld_H
  3. #include "Zeichnung.h"
  4. namespace Framework
  5. {
  6. class Bild; // Bild.h
  7. class AlphaFeld; // Aus dieser Datei
  8. // Eine Zeichnung des 2D GUI Frameworks, die einen Farbübergang zu einem Rechteck darstellt
  9. class AlphaFeld : public Zeichnung
  10. {
  11. private:
  12. int stärke;
  13. int farbe;
  14. int ref;
  15. public:
  16. // Konstruktor
  17. __declspec( dllexport ) AlphaFeld();
  18. // Setzt die Stärke des Übergangs. Dies ist der Wert um den der Alpha Wert der Farbe für jeden Pixel nach innen abnimmt
  19. // st: Die Stärke
  20. __declspec( dllexport ) void setStärke( int st );
  21. // Setzt die Farbe des Alpha Feldes
  22. // f: Die Farbe im A8R8G8B8 Format
  23. __declspec( dllexport ) void setFarbe( int f );
  24. // Zeichnet die Zeihnung in ein bestimmtes Bild
  25. // zRObj: Das Bild, in das gezeichnet werden soll
  26. __declspec( dllexport ) void render( Bild &zRObj ) override;
  27. // Gibt die Stärke des Alpha Feldes zurück
  28. __declspec( dllexport ) int getStärke() const;
  29. // gibt die Farbe des Alpha Feldes im A8R8G8B8 Format zurück
  30. __declspec( dllexport ) int getFarbe() const;
  31. // Kopiert das Alpha Feld, so dass es ohne auswirkungen auf das Original verwendet werden kann
  32. __declspec( dllexport ) Zeichnung *dublizieren() const override;
  33. // Erhöht den Reference Counting Zähler.
  34. // return: this.
  35. __declspec( dllexport ) AlphaFeld *getThis();
  36. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
  37. // return: 0.
  38. __declspec( dllexport ) AlphaFeld *release();
  39. };
  40. }
  41. #endif