ES-DE/src/components/GuiBox.h

47 lines
961 B
C
Raw Normal View History

#ifndef _GUIBOX_H_
#define _GUIBOX_H_
2013-04-08 16:52:40 +00:00
#include "../Gui.h"
#include "GuiImage.h"
#include <string>
2013-04-08 16:52:40 +00:00
struct GuiBoxData
{
std::string backgroundPath;
bool backgroundTiled;
std::string horizontalPath;
bool horizontalTiled;
std::string verticalPath;
bool verticalTiled;
std::string cornerPath;
};
2013-04-08 17:40:15 +00:00
class GuiBox : public Gui
{
public:
2013-04-08 17:40:15 +00:00
GuiBox(Window* window, int offsetX, int offsetY, unsigned int width, unsigned int height);
void setData(GuiBoxData data);
void setBackgroundImage(std::string path, bool tiled = true);
void setHorizontalImage(std::string path, bool tiled = false);
void setVerticalImage(std::string path, bool tiled = false);
2012-10-07 21:56:33 +00:00
void setCornerImage(std::string path);
bool hasBackground();
2013-04-08 16:52:40 +00:00
void render();
void onInit();
void onDeinit();
private:
2012-10-07 21:56:33 +00:00
GuiImage mBackgroundImage, mHorizontalImage, mVerticalImage, mCornerImage;
int getHorizontalBorderWidth();
int getVerticalBorderWidth();
unsigned int mWidth, mHeight;
};
#endif