Rahmen.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef Rahmen_H
  2. #define Rahmen_H
  3. #include "Zeichnung.h"
  4. namespace Framework
  5. {
  6. class Bild; // aus Bild.h
  7. struct VScrollData; // Scroll.h
  8. struct HScrollData; // Scroll.h
  9. class LRahmen; // aus dieser Datei
  10. // Eine Zeichnung des 2D GUI Frameworks, die einen Linienrahmen um ein Rechteck zeichnet
  11. class LRahmen : public Zeichnung
  12. {
  13. private:
  14. int br;
  15. int farbe;
  16. bool alpha;
  17. int ref;
  18. public:
  19. // Konstruktor
  20. __declspec( dllexport ) LRahmen();
  21. // Destruktor
  22. __declspec( dllexport ) virtual ~LRahmen();
  23. // Setzt die Breite des Rahmens
  24. // br: Die Breite in Pixeln
  25. __declspec( dllexport ) void setRamenBreite( int br );
  26. // Legt fest, ob beim zeichnen alpha blending verwendet werden soll
  27. // a: 1, falls alpha blending verwendet werden soll
  28. __declspec( dllexport ) void setAlpha( bool a );
  29. // Setzt die Fare des Rahmens
  30. // f: Die Farbe im A8R8G8B8 Format
  31. __declspec( dllexport ) void setFarbe( int f );
  32. // Zeichnet den Rahmen
  33. // zRObj: Das Bild, in den der Rahmen gezeichnet werden soll
  34. __declspec( dllexport ) void render( Bild &zRObj ) override;
  35. // Gibt die Breite des Rahmens in Pixeln zurück
  36. __declspec( dllexport ) int getRBreite() const;
  37. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück
  38. __declspec( dllexport ) int getFarbe() const;
  39. // Gibt zurück, ob der Rahmen mit Alpha Blending gezeichnet wird
  40. __declspec( dllexport ) bool hatAlpha() const;
  41. // Kopiert den Rahmen, so dass er ohne auswirkungen auf das Original verändert werden kann
  42. __declspec( dllexport ) Zeichnung *dublizieren() const override;
  43. // Erhöht den Reference Counting Zähler.
  44. // return: this.
  45. __declspec( dllexport ) LRahmen *getThis();
  46. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
  47. // return: 0.
  48. __declspec( dllexport ) LRahmen *release();
  49. };
  50. }
  51. #endif