OpenXcom
1.0
Open-source clone of the original X-Com
|
Horizontal slider control to select from a range of values. More...
#include <Slider.h>
Public Member Functions | |
Slider (int width, int height, int x=0, int y=0) | |
Creates a new slider with the specified size and position. More... | |
~Slider () | |
Cleans up the slider. More... | |
void | setX (int x) |
Sets the X position of the surface. More... | |
void | setY (int y) |
Sets the Y position of the surface. More... | |
void | initText (Font *big, Font *small, Language *lang) |
Initializes the slider's resources. More... | |
void | setHighContrast (bool contrast) |
Sets the slider's high contrast color setting. More... | |
void | setColor (Uint8 color) |
Sets the slider's color. More... | |
Uint8 | getColor () const |
Gets the slider's color. More... | |
void | setPalette (SDL_Color *colors, int firstcolor=0, int ncolors=256) |
Sets the slider's palette. More... | |
void | setRange (int min, int max) |
Sets the slider's range. More... | |
void | setValue (int value) |
Sets the slider's value. More... | |
int | getValue () const |
Gets the slider's value. More... | |
void | blit (Surface *surface) |
Blits the slider onto another surface. More... | |
void | handle (Action *action, State *state) |
Moves the slider. More... | |
void | mousePress (Action *action, State *state) |
Special handling for mouse presses. More... | |
void | mouseRelease (Action *action, State *state) |
Special handling for mouse releases. More... | |
void | onChange (ActionHandler handler) |
Hooks an action handler to when the slider changes. More... | |
Public Member Functions inherited from OpenXcom::InteractiveSurface | |
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 | 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 | 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... | |
Public Member Functions inherited from OpenXcom::Surface | |
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 | 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 () |
Clears the surface's contents. 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 | invert (Uint8 mid) |
Inverts the surface's colors. More... | |
virtual void | think () |
Runs surface functionality every cycle. More... | |
virtual void | draw () |
Draws the surface's graphic. 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... | |
SDL_Color * | getPalette () const |
Returns the surface's 8bpp palette. More... | |
int | getX () const |
Returns the position of the surface in the X axis. More... | |
int | getY () const |
Returns the position of the surface in the Y axis. More... | |
void | setVisible (bool visible) |
Sets the surface's visibility. 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... | |
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 off, bool half=false, int newBaseColor=0) |
Specific blit function to blit battlescape terrain data in different shades in a fast way. More... | |
void | invalidate () |
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... | |
Additional Inherited Members | |
Protected Member Functions inherited from OpenXcom::InteractiveSurface | |
bool | isButtonPressed (Uint8 button=0) |
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. | |
Protected Member Functions inherited from OpenXcom::Surface | |
void | resize (int width, int height) |
Recreates the surface with a new size. More... | |
Horizontal slider control to select from a range of values.
OpenXcom::Slider::Slider | ( | int | width, |
int | height, | ||
int | x = 0 , |
||
int | y = 0 |
||
) |
Creates a new slider with the specified size and position.
Sets up a slider with the specified size and position.
width | Width in pixels. |
height | Height in pixels. |
x | X position in pixels. |
y | Y position in pixels. |
OpenXcom::Slider::~Slider | ( | ) |
Cleans up the slider.
Deletes contents.
|
virtual |
Blits the slider onto another surface.
Blits the slider contents.
surface | Pointer to surface to blit onto. |
Reimplemented from OpenXcom::Surface.
Uint8 OpenXcom::Slider::getColor | ( | ) | const |
Gets the slider's color.
Returns the color used to render the slider.
int OpenXcom::Slider::getValue | ( | ) | const |
Gets the slider's value.
Returns the current value of the slider.
Moves the slider.
Automatically updates the slider when the mouse moves.
action | Pointer to an action. |
state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Initializes the slider's resources.
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.
Special handling for mouse presses.
The slider only moves while the button is pressed.
action | Pointer to an action. |
state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Special handling for mouse releases.
The slider stops moving when the button is released.
action | Pointer to an action. |
state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
void OpenXcom::Slider::onChange | ( | ActionHandler | handler | ) |
Hooks an action handler to when the slider changes.
Sets a function to be called every time the slider's value changes.
handler | Action handler. |
void OpenXcom::Slider::setColor | ( | Uint8 | color | ) |
Sets the slider's color.
Changes the color used to render the slider.
color | Color value. |
void OpenXcom::Slider::setHighContrast | ( | bool | contrast | ) |
Sets the slider's high contrast color setting.
Enables/disables high contrast color.
Mostly used for Battlescape.
contrast | High contrast setting. |
|
virtual |
Sets the slider's palette.
Replaces a certain amount of colors in the slider's palette.
colors | Pointer to the set of colors. |
firstcolor | Offset of the first color to replace. |
ncolors | Amount of colors to replace. |
Reimplemented from OpenXcom::Surface.
void OpenXcom::Slider::setRange | ( | int | min, |
int | max | ||
) |
Sets the slider's range.
Changes the range of values the slider can contain.
min | Minimum value. |
max | Maximum value. |
void OpenXcom::Slider::setValue | ( | int | value | ) |
Sets the slider's value.
Changes the current value of the slider and positions it appropriately.
value | New value. |
|
virtual |
Sets the X position of the surface.
Changes the position of the surface in the X axis.
x | X position in pixels. |
Reimplemented from OpenXcom::Surface.
|
virtual |
Sets the Y position of the surface.
Changes the position of the surface in the Y axis.
y | Y position in pixels. |
Reimplemented from OpenXcom::Surface.