123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * GraphicalPrimitiveCanvas.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
- #pragma once
- #include "../gui/CIntObject.h"
- class GraphicalPrimitiveCanvas : public CIntObject
- {
- enum class PrimitiveType
- {
- LINE,
- RECTANGLE,
- FILLED_BOX
- };
- struct PrimitiveEntry
- {
- ColorRGBA color;
- Point a;
- Point b;
- PrimitiveType type;
- };
- std::vector<PrimitiveEntry> primitives;
- void showAll(Canvas & to) override;
- public:
- GraphicalPrimitiveCanvas(Rect position);
- void addLine(const Point & from, const Point & to, const ColorRGBA & color);
- void addBox(const Point & topLeft, const Point & size, const ColorRGBA & color);
- void addRectangle(const Point & topLeft, const Point & size, const ColorRGBA & color);
- };
- class TransparentFilledRectangle : public GraphicalPrimitiveCanvas
- {
- public:
- TransparentFilledRectangle(Rect position, ColorRGBA color);
- TransparentFilledRectangle(Rect position, ColorRGBA color, ColorRGBA colorLine, int width = 1);
- };
- class SimpleLine : public GraphicalPrimitiveCanvas
- {
- public:
- SimpleLine(Point pos1, Point pos2, ColorRGBA color);
- };
|