| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef Border_H
- #define Border_H
- #include "Drawing.h"
- namespace Framework
- {
- class Image; //! Image.h
- class Border : public Drawable
- {
- protected:
- int thickness;
- int color;
- bool alpha;
- bool breaks;
- int breakOffset;
- int breakLength;
- int lineLength;
- public:
- //! Constructor
- DLLEXPORT Border();
- //! Destructor
- DLLEXPORT virtual ~Border();
- //! Sets the width of the border
- //! \param br The width in pixels
- DLLEXPORT void setBorderWidth(int br);
- //! If this flag is set, the border is drawn dashed
- //! \param br 1 -> dashed, 0 -> solid
- //! \param brOff Starting point of the first line segment
- //! \param brLength Length of a gap
- //! \param lineLength Length of a line
- DLLEXPORT void setBreaks(
- bool br, int brOff = 0, int brLength = 10, int lineLength = 10);
- //! Returns the width of the border in pixels
- DLLEXPORT int getRWidth() const;
- //! Sets whether alpha blending should be used when drawing
- //! \param a 1 if alpha blending should be used
- DLLEXPORT void setAlpha(bool a);
- //! Sets the color of the border
- //! \param f The color in A8R8G8B8 format
- DLLEXPORT void setColor(int f);
- //! Returns the color of the border in A8R8G8B8 format
- DLLEXPORT int getColor() const;
- //! Returns whether the border is drawn with alpha blending
- DLLEXPORT bool hasAlpha() const;
- //! Returns 1 if the border is drawn dashed
- DLLEXPORT bool hasBreaks() const;
- //! Starting point of the first line segment
- DLLEXPORT int getBreakOffset() const;
- //! Length of a gap
- DLLEXPORT int getBreakLength() const;
- //! Length of a line
- DLLEXPORT int getLineLength() const;
- };
- //! A 2D GUI Framework drawing that draws a line border around a
- //! rectangle
- class LBorder : public Border
- {
- private:
- public:
- //! Constructor
- DLLEXPORT LBorder();
- //! Destructor
- DLLEXPORT virtual ~LBorder();
- //! Draws the border
- //! \param zRObj The image to draw the border into
- DLLEXPORT void render(Image& zRObj) override;
- //! Copies the border so that it can be modified without affecting
- //! the original
- DLLEXPORT Drawable* duplicate() const override;
- };
- class Border3D : public Border
- {
- public:
- //! Constructor
- DLLEXPORT Border3D();
- //! Destructor
- DLLEXPORT virtual ~Border3D();
- //! Draws the border
- //! \param zRObj The image to draw the border into
- DLLEXPORT void render(Image& zRObj) override;
- //! Copies the border so that it can be modified without affecting
- //! the original
- DLLEXPORT Drawable* duplicate() const override;
- };
- } // namespace Framework
- #endif
|