2013-06-14 15:48:13 +00:00
|
|
|
#ifndef _TEXTCOMPONENT_H_
|
|
|
|
#define _TEXTCOMPONENT_H_
|
|
|
|
|
|
|
|
#include "../GuiComponent.h"
|
|
|
|
#include "../Font.h"
|
|
|
|
|
|
|
|
class TextComponent : public GuiComponent
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
TextComponent(Window* window);
|
|
|
|
TextComponent(Window* window, const std::string& text, Font* font, Vector2i pos, Vector2u size);
|
|
|
|
|
|
|
|
void setFont(Font* font);
|
|
|
|
void setBox(Vector2i pos, Vector2u size);
|
2013-06-19 01:12:30 +00:00
|
|
|
void setExtent(Vector2u size); //Use Vector2u(0, 0) to automatically generate extent.
|
2013-06-14 15:48:13 +00:00
|
|
|
void setText(const std::string& text);
|
|
|
|
void setColor(unsigned int color);
|
|
|
|
|
2013-07-02 05:57:31 +00:00
|
|
|
Vector2d getScrollPos() const;
|
|
|
|
void setScrollPos(const Vector2d& pos);
|
|
|
|
void setAutoScroll(int delay, double speed); //Use 0 for speed to disable.
|
|
|
|
void resetAutoScrollTimer();
|
|
|
|
|
|
|
|
void update(int deltaTime) override;
|
|
|
|
void onRender() override;
|
2013-06-14 15:48:13 +00:00
|
|
|
|
|
|
|
private:
|
2013-07-02 05:57:31 +00:00
|
|
|
Font* getFont() const;
|
2013-06-19 01:12:30 +00:00
|
|
|
void calculateExtent();
|
|
|
|
|
2013-06-14 15:48:13 +00:00
|
|
|
unsigned int mColor;
|
|
|
|
Font* mFont;
|
2013-06-19 01:12:30 +00:00
|
|
|
bool mAutoCalcExtent;
|
2013-06-14 15:48:13 +00:00
|
|
|
std::string mText;
|
2013-07-02 05:57:31 +00:00
|
|
|
|
|
|
|
//scrolling
|
|
|
|
Vector2d mScrollPos;
|
|
|
|
Vector2d mScrollDir;
|
|
|
|
int mAutoScrollDelay;
|
|
|
|
double mAutoScrollSpeed;
|
|
|
|
int mAutoScrollTimer;
|
2013-06-14 15:48:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|