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