mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-12-23 10:21:55 +01:00
044c48a1bc
*Replaced all text related stuff with the ones from WiiXplorer (FreeTypeGX/GuiText/...). Some alignments might need be adjusted or maxWidth in pixel of some text parts. Also the text scrolling needs to be adjusted.
72 lines
1.9 KiB
C++
72 lines
1.9 KiB
C++
#ifndef _TEXT_HPP_
|
|
#define _TEXT_HPP_
|
|
|
|
#include "libwiigui/gui.h"
|
|
#include "wstring.hpp"
|
|
|
|
typedef struct
|
|
{
|
|
int LineOffset;
|
|
int CharCount;
|
|
int width;
|
|
} TextLine;
|
|
|
|
class Text : public GuiText
|
|
{
|
|
public:
|
|
//!Constructor
|
|
//!\param t Text
|
|
//!\param s Font size
|
|
//!\param c Font color
|
|
Text(const char * t, int s, GXColor c);
|
|
Text(const wchar_t * t, int s, GXColor c);
|
|
~Text();
|
|
//!Sets the text of the GuiText element
|
|
//!\param t Text
|
|
void SetText(const char * t);
|
|
void SetText(const wchar_t * t);
|
|
//!Set the max texwidth
|
|
void SetMaxWidth(int width);
|
|
//!Go to next line
|
|
void NextLine();
|
|
//!Go to previous line
|
|
void PreviousLine();
|
|
//!Refresh the rows to draw
|
|
void Refresh();
|
|
//!Set the text line
|
|
void SetTextLine(int line);
|
|
//!Set to the char pos in text
|
|
void SetTextPos(int pos);
|
|
//!Refresh the rows to draw
|
|
int GetCurrPos() { return curLineStart; };
|
|
//!Get the count of loaded lines
|
|
int GetLinesCount() { return textDyn.size(); };
|
|
//!Get the total count of lines
|
|
int GetTotalLinesCount() { return TextLines.size(); };
|
|
//!Get the original full Text
|
|
const wchar_t * GetText();
|
|
//!Get the original full Text as wString
|
|
wString * GetwString() { return wText; };
|
|
//!Get the original Text as a UTF-8 text
|
|
//!memory is allocated in this
|
|
//!which needs to be deleted later
|
|
std::string GetUTF8String() const;
|
|
//!Get a Textline
|
|
const wchar_t * GetTextLine(int ind);
|
|
//!Get the offset in the text of a drawn Line
|
|
int GetLineOffset(int ind);
|
|
//!Constantly called to draw the text
|
|
void Draw();
|
|
protected:
|
|
void CalcLineOffsets();
|
|
void FillRows();
|
|
|
|
wString * wText;
|
|
std::vector<TextLine> TextLines;
|
|
int curLineStart;
|
|
int FirstLineOffset;
|
|
bool filling;
|
|
};
|
|
|
|
#endif
|