Add overlay x/y, split singular/plural overlay functions

This commit is contained in:
GriffinR
2021-12-09 12:32:19 -05:00
committed by huderlem
parent 206a1d12b3
commit a6395eefbb
8 changed files with 221 additions and 38 deletions

View File

@@ -15,6 +15,10 @@ public:
Overlay * getOverlay(int layer);
void clearOverlays();
void setOverlaysHidden(bool hidden);
void setOverlaysX(int x);
void setOverlaysY(int y);
void setOverlaysPosition(int x, int y);
void moveOverlays(int deltaX, int deltaY);
public:
// GraphicsView_Object object;

View File

@@ -10,7 +10,7 @@ class OverlayItem {
public:
OverlayItem() {}
virtual ~OverlayItem() {};
virtual void render(QPainter *) {};
virtual void render(QPainter *, int, int) {};
};
class OverlayText : public OverlayItem {
@@ -23,7 +23,7 @@ public:
this->fontSize = fontSize;
}
~OverlayText() {}
virtual void render(QPainter *painter);
virtual void render(QPainter *painter, int x, int y);
private:
QString text;
int x;
@@ -43,7 +43,7 @@ public:
this->filled = filled;
}
~OverlayRect() {}
virtual void render(QPainter *painter);
virtual void render(QPainter *painter, int x, int y);
private:
int x;
int y;
@@ -61,7 +61,7 @@ public:
this->image = image;
}
~OverlayImage() {}
virtual void render(QPainter *painter);
virtual void render(QPainter *painter, int x, int y);
private:
int x;
int y;
@@ -71,11 +71,22 @@ private:
class Overlay
{
public:
Overlay() {}
Overlay() {
this->x = 0;
this->y = 0;
this->hidden = false;
}
~Overlay() {
this->clearItems();
}
bool getHidden();
void setHidden(bool hidden);
int getX();
int getY();
void setX(int x);
void setY(int y);
void setPosition(int x, int y);
void move(int deltaX, int deltaY);
void renderItems(QPainter *painter);
QList<OverlayItem*> getItems();
void clearItems();
@@ -85,6 +96,8 @@ public:
bool addImage(int x, int y, QImage image);
private:
QList<OverlayItem*> items;
int x;
int y;
bool hidden;
};