![]() |
OpenXcom
1.0
Open-source clone of the original X-Com
|
Text string displayed on screen. More...
#include <Text.h>
Public Member Functions | |
Text (int width, int height, int x=0, int y=0) | |
Creates a new text with the specified size and position. More... | |
~Text () | |
Cleans up the text. | |
void | setBig () |
Sets the text size to big. More... | |
void | setSmall () |
Sets the text size to small. More... | |
Font * | getFont () const |
Gets the text's current font. More... | |
void | initText (Font *big, Font *small, Language *lang) |
Initializes the resources for the text. More... | |
void | setText (const std::string &text) |
Sets the text's string. More... | |
std::string | getText () const |
Gets the text's string. More... | |
void | setWordWrap (bool wrap, bool indent=false) |
Sets the text's wordwrap setting. More... | |
void | setInvert (bool invert) |
Sets the text's color invert setting. More... | |
void | setHighContrast (bool contrast) |
Sets the text's high contrast color setting. More... | |
void | setAlign (TextHAlign align) |
Sets the text's horizontal alignment. More... | |
TextHAlign | getAlign () const |
Gets the text's horizontal alignment. More... | |
void | setVerticalAlign (TextVAlign valign) |
Sets the text's vertical alignment. More... | |
TextVAlign | getVerticalAlign () const |
Gets the text's vertical alignment. More... | |
void | setColor (Uint8 color) |
Sets the text's color. More... | |
Uint8 | getColor () const |
Gets the text's color. More... | |
void | setSecondaryColor (Uint8 color) |
Sets the text's secondary color. More... | |
Uint8 | getSecondaryColor () const |
Gets the text's secondary color. More... | |
int | getNumLines () const |
Gets the number of lines in the (wrapped, if wrapping is enabled) text. | |
int | getTextWidth (int line=-1) const |
Gets the rendered text's width. More... | |
int | getTextHeight (int line=-1) const |
Gets the rendered text's height. More... | |
void | draw () |
Draws the text. More... | |
![]() | |
InteractiveSurface (int width, int height, int x=0, int y=0) | |
Creates a new interactive surface with the specified size and position. More... | |
virtual | ~InteractiveSurface () |
Cleans up the interactive surface. | |
void | setVisible (bool visible) |
Sets the surface's visibility. More... | |
virtual void | handle (Action *action, State *state) |
Processes any pending events. More... | |
virtual void | setFocus (bool focus) |
Sets the focus of this surface. More... | |
bool | isFocused () const |
Gets the focus of this surface. More... | |
virtual void | unpress (State *state) |
Unpresses the surface. More... | |
void | onMouseClick (ActionHandler handler, Uint8 button=SDL_BUTTON_LEFT) |
Hooks an action handler to a mouse click on the surface. More... | |
void | onMousePress (ActionHandler handler, Uint8 button=0) |
Hooks an action handler to a mouse press over the surface. More... | |
void | onMouseRelease (ActionHandler handler, Uint8 button=0) |
Hooks an action handler to a mouse release over the surface. More... | |
void | onMouseIn (ActionHandler handler) |
Hooks an action handler to moving the mouse into the surface. More... | |
void | onMouseOver (ActionHandler handler) |
Hooks an action handler to moving the mouse over the surface. More... | |
void | onMouseOut (ActionHandler handler) |
Hooks an action handler to moving the mouse out of the surface. More... | |
void | onKeyboardPress (ActionHandler handler, SDLKey key=SDLK_ANY) |
Hooks an action handler to pressing a key when the surface is focused. More... | |
void | onKeyboardRelease (ActionHandler handler, SDLKey key=SDLK_ANY) |
Hooks an action handler to releasing a key when the surface is focused. More... | |
virtual void | mousePress (Action *action, State *state) |
Processes a mouse button press event. More... | |
virtual void | mouseRelease (Action *action, State *state) |
Processes a mouse button release event. More... | |
virtual void | mouseClick (Action *action, State *state) |
Processes a mouse click event. More... | |
virtual void | mouseIn (Action *action, State *state) |
Processes a mouse hover in event. More... | |
virtual void | mouseOver (Action *action, State *state) |
Processes a mouse hover event. More... | |
virtual void | mouseOut (Action *action, State *state) |
Processes a mouse hover out event. More... | |
virtual void | keyboardPress (Action *action, State *state) |
Processes a keyboard key press event. More... | |
virtual void | keyboardRelease (Action *action, State *state) |
Processes a keyboard key release event. More... | |
void | setListButton () |
Check this surface to see if it's a textlist button. More... | |
![]() | |
Surface (int width, int height, int x=0, int y=0, int bpp=8) | |
Creates a new surface with the specified size and position. More... | |
Surface (const Surface &other) | |
Creates a new surface from an existing one. More... | |
virtual | ~Surface () |
Cleans up the surface. More... | |
void | loadRaw (const std::vector< unsigned char > &bytes) |
Loads a raw pixel array. More... | |
void | loadRaw (const std::vector< char > &bytes) |
Loads a raw pixel array. More... | |
void | loadScr (const std::string &filename) |
Loads an X-Com SCR graphic. More... | |
void | loadSpk (const std::string &filename) |
Loads an X-Com SPK graphic. More... | |
void | loadBdy (const std::string &filename) |
Loads a TFTD BDY graphic. More... | |
void | loadImage (const std::string &filename) |
Loads a general image file. More... | |
void | clear (Uint32 color=0) |
Clears the surface's contents eith a specified colour. More... | |
void | offset (int off, int min=-1, int max=-1, int mul=1) |
Offsets the surface's colors by a set amount. More... | |
void | offsetBlock (int off, int blk=16, int mul=1) |
Offsets the surface's colors in a color block. More... | |
void | invert (Uint8 mid) |
Inverts the surface's colors. More... | |
virtual void | think () |
Runs surface functionality every cycle. More... | |
virtual void | blit (Surface *surface) |
Blits this surface onto another one. More... | |
void | copy (Surface *surface) |
Copies a portion of another surface into this one. More... | |
void | drawRect (SDL_Rect *rect, Uint8 color) |
Draws a filled rectangle on the surface. More... | |
void | drawRect (Sint16 x, Sint16 y, Sint16 w, Sint16 h, Uint8 color) |
Draws a filled rectangle on the surface. More... | |
void | drawLine (Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 color) |
Draws a line on the surface. More... | |
void | drawCircle (Sint16 x, Sint16 y, Sint16 r, Uint8 color) |
Draws a filled circle on the surface. More... | |
void | drawPolygon (Sint16 *x, Sint16 *y, int n, Uint8 color) |
Draws a filled polygon on the surface. More... | |
void | drawTexturedPolygon (Sint16 *x, Sint16 *y, int n, Surface *texture, int dx, int dy) |
Draws a textured polygon on the surface. More... | |
void | drawString (Sint16 x, Sint16 y, const char *s, Uint8 color) |
Draws a string on the surface. More... | |
virtual void | setPalette (SDL_Color *colors, int firstcolor=0, int ncolors=256) |
Sets the surface's palette. More... | |
SDL_Color * | getPalette () const |
Returns the surface's 8bpp palette. More... | |
virtual void | setX (int x) |
Sets the X position of the surface. More... | |
int | getX () const |
Returns the position of the surface in the X axis. More... | |
virtual void | setY (int y) |
Sets the Y position of the surface. More... | |
int | getY () const |
Returns the position of the surface in the Y axis. More... | |
bool | getVisible () const |
Gets the surface's visibility. More... | |
void | resetCrop () |
Resets the cropping rectangle for the surface. More... | |
SDL_Rect * | getCrop () |
Gets the cropping rectangle for the surface. More... | |
void | setPixel (int x, int y, Uint8 pixel) |
Changes the color of a pixel in the surface, relative to the top-left corner of the surface. More... | |
void | setPixelIterative (int *x, int *y, Uint8 pixel) |
Changes the color of a pixel in the surface and returns the next pixel position. More... | |
Uint8 | getPixel (int x, int y) const |
Returns the color of a specified pixel in the surface. More... | |
Uint8 * | getRaw (int x, int y) const |
Returns the pointer to a specified pixel in the surface. More... | |
SDL_Surface * | getSurface () const |
Returns the internal SDL_Surface for SDL calls. More... | |
int | getWidth () const |
Returns the width of the surface. More... | |
virtual void | setWidth (int width) |
Sets the width of the surface. More... | |
int | getHeight () const |
Returns the height of the surface. More... | |
virtual void | setHeight (int height) |
Sets the height of the surface. More... | |
void | setHidden (bool hidden) |
Sets the surface's special hidden flag. More... | |
void | lock () |
Locks the surface. More... | |
void | unlock () |
Unlocks the surface. More... | |
void | blitNShade (Surface *surface, int x, int y, int shade, bool half=false, int newBaseColor=0) |
Specific blit function to blit battlescape terrain data in different shades in a fast way. More... | |
void | blitNShade (Surface *surface, int x, int y, int shade, GraphSubset range) |
Specific blit function to blit battlescape terrain data in different shades in a fast way. More... | |
void | invalidate (bool valid=true) |
Invalidate the surface: force it to be redrawn. More... | |
std::string | getTooltip () const |
Gets the tooltip of the surface. More... | |
void | setTooltip (const std::string &tooltip) |
Sets the tooltip of the surface. More... | |
virtual void | setBorderColor (Uint8) |
Sets the border colour of the surface. | |
void | setTFTDMode (bool mode) |
Sets this button to use a colour lookup table instead of inversion for its alternate form. More... | |
bool | isTFTDMode () const |
checks if this is a TFTD mode surface. More... | |
Additional Inherited Members | |
![]() | |
bool | isButtonPressed (Uint8 button=0) const |
Is this mouse button pressed? | |
virtual bool | isButtonHandled (Uint8 button=0) |
Is this mouse button event handled? | |
void | setButtonPressed (Uint8 button, bool pressed) |
Set a mouse button's internal state. | |
![]() | |
template<typename T > | |
void | rawCopy (const std::vector< T > &bytes) |
Copies raw pixels. More... | |
void | resize (int width, int height) |
Resizes the surface. More... | |
Text string displayed on screen.
Takes the characters from a Font and puts them together on screen to display a string of text, taking care of any required aligning or wrapping.
OpenXcom::Text::Text | ( | int | width, |
int | height, | ||
int | x = 0 , |
||
int | y = 0 |
||
) |
Creates a new text with the specified size and position.
Sets up a blank text with the specified size and position.
width | Width in pixels. |
height | Height in pixels. |
x | X position in pixels. |
y | Y position in pixels. |
|
virtual |
Draws the text.
Draws all the characters in the text with a really nasty complex gritty text rendering algorithm logic stuff.
Reimplemented from OpenXcom::Surface.
TextHAlign OpenXcom::Text::getAlign | ( | ) | const |
Gets the text's horizontal alignment.
Returns the way the text is aligned horizontally relative to the drawing area.
Uint8 OpenXcom::Text::getColor | ( | ) | const |
Gets the text's color.
Returns the color used to render the text.
Font * OpenXcom::Text::getFont | ( | ) | const |
Gets the text's current font.
Returns the font currently used by the text.
Uint8 OpenXcom::Text::getSecondaryColor | ( | ) | const |
Gets the text's secondary color.
Returns the secondary color used to render the text.
std::string OpenXcom::Text::getText | ( | ) | const |
int OpenXcom::Text::getTextHeight | ( | int | line = -1 | ) | const |
Gets the rendered text's height.
Returns the rendered text's height.
Useful to check if wordwrap applies.
line | Line to get the height, or -1 to get whole text height. |
int OpenXcom::Text::getTextWidth | ( | int | line = -1 | ) | const |
Gets the rendered text's width.
Returns the rendered text's width.
line | Line to get the width, or -1 to get whole text width. |
TextVAlign OpenXcom::Text::getVerticalAlign | ( | ) | const |
Gets the text's vertical alignment.
Returns the way the text is aligned vertically relative to the drawing area.
Initializes the resources for the text.
Changes the various resources needed for text rendering.
The different fonts need to be passed in advance since the text size can change mid-text, and the language affects how the text is rendered.
big | Pointer to large-size font. |
small | Pointer to small-size font. |
lang | Pointer to current language. |
Reimplemented from OpenXcom::Surface.
void OpenXcom::Text::setAlign | ( | TextHAlign | align | ) |
Sets the text's horizontal alignment.
Changes the way the text is aligned horizontally relative to the drawing area.
align | Horizontal alignment. |
void OpenXcom::Text::setBig | ( | ) |
Sets the text size to big.
Changes the text to use the big-size font.
|
virtual |
Sets the text's color.
Changes the color used to render the text.
Unlike regular graphics, fonts are greyscale so they need to be assigned a specific position in the palette to be displayed.
color | Color value. |
Reimplemented from OpenXcom::Surface.
|
virtual |
Sets the text's high contrast color setting.
Enables/disables high contrast color.
Mostly used for Battlescape UI.
contrast | High contrast setting. |
Reimplemented from OpenXcom::Surface.
void OpenXcom::Text::setInvert | ( | bool | invert | ) |
Sets the text's color invert setting.
Enables/disables color inverting.
Mostly used to make button text look pressed along with the button.
invert | Invert setting. |
|
virtual |
Sets the text's secondary color.
Changes the secondary color used to render the text.
The text switches between the primary and secondary color whenever there's a 0x01 in the string.
color | Color value. |
Reimplemented from OpenXcom::Surface.
void OpenXcom::Text::setSmall | ( | ) |
Sets the text size to small.
Changes the text to use the small-size font.
void OpenXcom::Text::setText | ( | const std::string & | text | ) |
void OpenXcom::Text::setVerticalAlign | ( | TextVAlign | valign | ) |
Sets the text's vertical alignment.
Changes the way the text is aligned vertically relative to the drawing area.
valign | Vertical alignment. |
void OpenXcom::Text::setWordWrap | ( | bool | wrap, |
bool | indent = false |
||
) |
Sets the text's wordwrap setting.
Enables/disables text wordwrapping.
When enabled, lines of text are automatically split to ensure they stay within the drawing area, otherwise they simply go off the edge.
wrap | Wordwrapping setting. |
indent | Indent wrapped text. |