Rahmen.h 2.4 KB

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