1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Added new Widgets an functions for simplification

This commit is contained in:
Laserlicht 2023-09-17 20:34:31 +02:00 committed by GitHub
parent d33101187b
commit 05fad115b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 57 additions and 0 deletions

View File

@ -580,3 +580,31 @@ void CCreaturePic::setAmount(int newAmount)
else
amount->setText("");
}
TransparentFilledRectangle::TransparentFilledRectangle(Rect position, ColorRGBA color) :
color(color), colorLine(ColorRGBA()), drawLine(false)
{
pos = position + pos.topLeft();
}
TransparentFilledRectangle::TransparentFilledRectangle(Rect position, ColorRGBA color, ColorRGBA colorLine) :
color(color), colorLine(colorLine), drawLine(true)
{
pos = position + pos.topLeft();
}
void TransparentFilledRectangle::showAll(Canvas & to)
{
to.drawColorBlended(pos, color);
if(drawLine)
to.drawBorder(pos, colorLine);
}
SimpleLine::SimpleLine(Point pos1, Point pos2, ColorRGBA color) :
pos1(pos1), pos2(pos2), color(color)
{}
void SimpleLine::showAll(Canvas & to)
{
to.drawLine(pos1 + pos.topLeft(), pos2 + pos.topLeft(), color, color);
}

View File

@ -226,3 +226,24 @@ public:
MoraleLuckBox(bool Morale, const Rect &r, bool Small=false);
};
class TransparentFilledRectangle : public CIntObject
{
ColorRGBA color;
ColorRGBA colorLine;
bool drawLine;
public:
TransparentFilledRectangle(Rect position, ColorRGBA color);
TransparentFilledRectangle(Rect position, ColorRGBA color, ColorRGBA colorLine);
void showAll(Canvas & to) override;
};
class SimpleLine : public CIntObject
{
Point pos1;
Point pos2;
ColorRGBA color;
public:
SimpleLine(Point pos1, Point pos2, ColorRGBA color);
void showAll(Canvas & to) override;
};

View File

@ -20,6 +20,7 @@
#include "../widgets/CComponent.h"
#include "../widgets/Images.h"
#include "../widgets/TextControls.h"
#include "../widgets/MiscWidgets.h"
#include "../../lib/CGeneralTextHandler.h"
#include "../../lib/CCreatureHandler.h"

View File

@ -17,6 +17,8 @@ class CFilledTexture;
class CAnimImage;
class CComponentBox;
class CTextBox;
class TransparentFilledRectangle;
class SimpleLine;
class CHeroOverview : public CWindowObject
{

View File

@ -98,6 +98,11 @@ public:
return Point(w,h);
}
Rect resize(const int size) const
{
return Rect(x-size,y-size,w+size,h+size);
}
void moveTo(const Point & dest)
{
x = dest.x;