|
@@ -90,24 +90,32 @@ void GfxScroll(int left, int top, int wi
|
|
|
|
|
|
Dimension GetSpriteSize(SpriteID sprid);
|
|
|
void DrawSprite(SpriteID img, PaletteID pal, int x, int y, const SubSprite *sub = NULL);
|
|
|
|
|
|
/** How to align the to-be drawn text. */
|
|
|
enum StringAlignment {
|
|
|
SA_LEFT, ///< Left align the text
|
|
|
SA_CENTER, ///< Center the text
|
|
|
SA_RIGHT, ///< Right align the text
|
|
|
SA_MASK = 3, ///< Mask for base alignment
|
|
|
SA_FORCE = 4, ///< Force the alignment, i.e. don't swap for RTL languages.
|
|
|
SA_STRIP = 8, ///< Strip the SETX/SETXY commands from the string
|
|
|
SA_LEFT = 0 << 0, ///< Left align the text.
|
|
|
SA_HOR_CENTER = 1 << 0, ///< Horizontally center the text.
|
|
|
SA_RIGHT = 2 << 0, ///< Right align the text (must be a single bit).
|
|
|
SA_HOR_MASK = 3 << 0, ///< Mask for horizontal alignment.
|
|
|
|
|
|
SA_TOP = 0 << 2, ///< Top align the text.
|
|
|
SA_VERT_CENTER = 1 << 2, ///< Vertically center the text.
|
|
|
SA_BOTTOM = 2 << 2, ///< Bottom align the text.
|
|
|
SA_VERT_MASK = 3 << 2, ///< Mask for vertical alignment.
|
|
|
|
|
|
SA_CENTER = SA_HOR_CENTER | SA_VERT_CENTER, ///< Center both horizontally and vertically.
|
|
|
|
|
|
SA_FORCE = 1 << 4, ///< Force the alignment, i.e. don't swap for RTL languages.
|
|
|
SA_STRIP = 1 << 5, ///< Strip the SETX/SETXY commands from the string
|
|
|
};
|
|
|
DECLARE_ENUM_AS_BIT_SET(StringAlignment)
|
|
|
|
|
|
int DrawString(int left, int right, int top, const char *str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false);
|
|
|
int DrawString(int left, int right, int top, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false);
|
|
|
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = SA_LEFT, bool underline = false);
|
|
|
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false);
|
|
|
|
|
|
void DrawCharCentered(uint32 c, int x, int y, TextColour colour);
|
|
|
|
|
|
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
|
|
void GfxDrawLine(int left, int top, int right, int bottom, int colour);
|
|
|
void DrawBox(int x, int y, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3);
|