1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef Rahmen_H
- #define Rahmen_H
- #include "Zeichnung.h"
- namespace Framework
- {
- class Bild; // aus Bild.h
- class Rahmen : public Zeichnung
- {
- protected:
- int br;
- int farbe;
- bool alpha;
- bool breaks;
- int breakOffset;
- int breakLength;
- int lineLength;
- public:
- // Konstruktor
- __declspec( dllexport ) Rahmen();
- // Destruktor
- __declspec( dllexport ) virtual ~Rahmen();
- // Setzt die Breite des Rahmens
- // br: Die Breite in Pixeln
- __declspec( dllexport ) void setRamenBreite( int br );
- // wenn dieser Flag gesetzt wird, wird der Rahmen gestrichelt gezeichnet
- // br: 1 -> gestrichelt, 0 -> durchgehend
- // brOff: startpunkt des ersten linienabschnittes
- // brLength: länge einer lücke
- // lineLength: länge einer linie
- __declspec( dllexport ) void setBreaks( bool br, int brOff = 0, int brLength = 10, int lineLength = 10 );
- // Gibt die Breite des Rahmens in Pixeln zurück
- __declspec( dllexport ) int getRBreite() const;
- // Legt fest, ob beim zeichnen alpha blending verwendet werden soll
- // a: 1, falls alpha blending verwendet werden soll
- __declspec( dllexport ) void setAlpha( bool a );
- // Setzt die Fare des Rahmens
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setFarbe( int f );
- // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getFarbe() const;
- // Gibt zurück, ob der Rahmen mit Alpha Blending gezeichnet wird
- __declspec( dllexport ) bool hatAlpha() const;
- // Gibt 1 zurück, falls der Rahmen gestrichelt gezeichnet wird
- __declspec( dllexport ) bool hasBreaks() const;
- // startpunkt des ersten linienabschnittes
- __declspec( dllexport ) int getBreakOffset() const;
- // länge einer lücke
- __declspec( dllexport ) int getBreakLength() const;
- // länge einer linie
- __declspec( dllexport ) int getLineLength() const;
- };
- // Eine Zeichnung des 2D GUI Frameworks, die einen Linienrahmen um ein Rechteck zeichnet
- class LRahmen : public Rahmen
- {
- private:
- public:
- // Konstruktor
- __declspec( dllexport ) LRahmen();
- // Destruktor
- __declspec( dllexport ) virtual ~LRahmen();
- // Zeichnet den Rahmen
- // zRObj: Das Bild, in den der Rahmen gezeichnet werden soll
- __declspec( dllexport ) void render( Bild &zRObj ) override;
- // Kopiert den Rahmen, so dass er ohne auswirkungen auf das Original verändert werden kann
- __declspec( dllexport ) Zeichnung *dublizieren() const override;
- };
- class Rahmen3D : public Rahmen
- {
- public:
- // Konstruktor
- __declspec( dllexport ) Rahmen3D();
- // Destruktor
- __declspec( dllexport ) virtual ~Rahmen3D();
- // Zeichnet den Rahmen
- // zRObj: Das Bild, in den der Rahmen gezeichnet werden soll
- __declspec( dllexport ) void render( Bild &zRObj ) override;
- // Kopiert den Rahmen, so dass er ohne auswirkungen auf das Original verändert werden kann
- __declspec( dllexport ) Zeichnung *dublizieren() const override;
- };
- }
- #endif
|