AlphaFeld.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 strength;
  13. int farbe;
  14. int ref;
  15. public:
  16. // Konstruktor
  17. __declspec( dllexport ) AlphaFeld();
  18. //Destruktor
  19. __declspec( dllexport ) virtual ~AlphaFeld();
  20. // Setzt die Stärke des Übergangs. Dies ist der Wert um den der Alpha Wert der Farbe für jeden Pixel nach innen abnimmt
  21. // st: Die Stärke
  22. __declspec( dllexport ) void setStrength( int st );
  23. // Setzt die Farbe des Alpha Feldes
  24. // f: Die Farbe im A8R8G8B8 Format
  25. __declspec( dllexport ) void setFarbe( int f );
  26. // Zeichnet die Zeihnung in ein bestimmtes Bild
  27. // zRObj: Das Bild, in das gezeichnet werden soll
  28. __declspec( dllexport ) void render( Bild &zRObj ) override;
  29. // Gibt die Stärke des Alpha Feldes zurück
  30. __declspec( dllexport ) int getStrength() const;
  31. // gibt die Farbe des Alpha Feldes im A8R8G8B8 Format zurück
  32. __declspec( dllexport ) int getFarbe() const;
  33. // Kopiert das Alpha Feld, so dass es ohne auswirkungen auf das Original verwendet werden kann
  34. __declspec( dllexport ) Zeichnung *dublizieren() const override;
  35. // Erhöht den Reference Counting Zähler.
  36. // return: this.
  37. __declspec( dllexport ) AlphaFeld *getThis();
  38. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
  39. // return: 0.
  40. __declspec( dllexport ) AlphaFeld *release();
  41. };
  42. }
  43. #endif