Rahmen.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef Rahmen_H
  2. #define Rahmen_H
  3. #include "Zeichnung.h"
  4. namespace Framework
  5. {
  6. class Bild; // aus Bild.h
  7. class Rahmen : public Zeichnung
  8. {
  9. protected:
  10. int br;
  11. int farbe;
  12. bool alpha;
  13. public:
  14. // Konstruktor
  15. __declspec( dllexport ) Rahmen();
  16. // Destruktor
  17. __declspec( dllexport ) virtual ~Rahmen();
  18. // Setzt die Breite des Rahmens
  19. // br: Die Breite in Pixeln
  20. __declspec( dllexport ) void setRamenBreite( int br );
  21. // Gibt die Breite des Rahmens in Pixeln zurück
  22. __declspec( dllexport ) int getRBreite() const;
  23. // Legt fest, ob beim zeichnen alpha blending verwendet werden soll
  24. // a: 1, falls alpha blending verwendet werden soll
  25. __declspec( dllexport ) void setAlpha( bool a );
  26. // Setzt die Fare des Rahmens
  27. // f: Die Farbe im A8R8G8B8 Format
  28. __declspec( dllexport ) void setFarbe( int f );
  29. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück
  30. __declspec( dllexport ) int getFarbe() const;
  31. // Gibt zurück, ob der Rahmen mit Alpha Blending gezeichnet wird
  32. __declspec( dllexport ) bool hatAlpha() const;
  33. };
  34. // Eine Zeichnung des 2D GUI Frameworks, die einen Linienrahmen um ein Rechteck zeichnet
  35. class LRahmen : public Rahmen
  36. {
  37. private:
  38. public:
  39. // Konstruktor
  40. __declspec( dllexport ) LRahmen();
  41. // Destruktor
  42. __declspec( dllexport ) virtual ~LRahmen();
  43. // Zeichnet den Rahmen
  44. // zRObj: Das Bild, in den der Rahmen gezeichnet werden soll
  45. __declspec( dllexport ) void render( Bild &zRObj ) override;
  46. // Kopiert den Rahmen, so dass er ohne auswirkungen auf das Original verändert werden kann
  47. __declspec( dllexport ) Zeichnung *dublizieren() const override;
  48. };
  49. class Rahmen3D : public Rahmen
  50. {
  51. public:
  52. // Konstruktor
  53. __declspec( dllexport ) Rahmen3D();
  54. // Destruktor
  55. __declspec( dllexport ) virtual ~Rahmen3D();
  56. // Zeichnet den Rahmen
  57. // zRObj: Das Bild, in den der Rahmen gezeichnet werden soll
  58. __declspec( dllexport ) void render( Bild &zRObj ) override;
  59. // Kopiert den Rahmen, so dass er ohne auswirkungen auf das Original verändert werden kann
  60. __declspec( dllexport ) Zeichnung *dublizieren() const override;
  61. };
  62. }
  63. #endif