| Irrlicht 3D Engine |

Public Member Functions
irr::gui::IGUISkin Class Reference

A skin modifies the look of the GUI elements. More...

`#include <IGUISkin.h>`

Inheritance diagram for irr::gui::IGUISkin:

List of all members.

## Public Member Functions

- virtual void draw2DRectangle (IGUIElement *element, const video::SColor &color, const core::rect< s32 > &pos, const core::rect< s32 > *clip=0)=0
    draws a 2d rectangle.
- virtual void draw3DButtonPanePressed (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
    draws a pressed 3d button pane
- virtual void draw3DButtonPaneStandard (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
    draws a standard 3d button pane
- virtual void draw3DMenuPane (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
    draws a standard 3d menu pane
- virtual void draw3DSunkenPane (IGUIElement *element, video::SColor bgcolor, bool flat, bool fillBackGround, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
    draws a sunken 3d pane
- virtual void draw3DTabBody (IGUIElement *element, bool border, bool background, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, s32 tabHeight=-1, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)=0
    draws a tab control body
- virtual void draw3DTabButton (IGUIElement *element, bool active, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)=0
    draws a tab button
- virtual void draw3DToolBar (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
    draws a standard 3d tool bar
- virtual core::rect< s32 > draw3DWindowBackground (IGUIElement *element, bool drawTitleBar, video::SColor titleBarColor, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, core::rect< s32 > *checkClientArea=0)=0
    draws a window background
- virtual void drawIcon (IGUIElement *element, EGUI_DEFAULT_ICON icon, const core::position2di position, u32 starttime=0, u32 currenttime=0, bool loop=false, const core::rect< s32 > *clip=0)=0
    draws an icon, usually from the skin's sprite bank
- virtual video::SColor getColor (EGUI_DEFAULT_COLOR color) const =0
    returns default color
- virtual const wchar_t * getDefaultText (EGUI_DEFAULT_TEXT text) const =0
    Returns a default text.
- virtual IGUIFont * getFont (EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const =0
    returns the default font
- virtual u32 getIcon (EGUI_DEFAULT_ICON icon) const =0
    Returns a default icon.
- virtual s32 getSize (EGUI_DEFAULT_SIZE size) const =0
    returns size for the given size type
- virtual IGUISpriteBank * getSpriteBank () const =0
    returns the sprite bank
- virtual EGUI_SKIN_TYPE getType () const
    get the type of this skin
- virtual void setColor (EGUI_DEFAULT_COLOR which, video::SColor newColor)=0
    sets a default color
- virtual void setDefaultText (EGUI_DEFAULT_TEXT which, const wchar_t *newText)=0
    Sets a default text.
- virtual void setFont (IGUIFont *font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT)=0
    sets a default font
- virtual void setIcon (EGUI_DEFAULT_ICON icon, u32 index)=0
    Sets a default icon.
- virtual void setSize (EGUI_DEFAULT_SIZE which, s32 size)=0
    sets a default size
- virtual void setSpriteBank (IGUISpriteBank *bank)=0
    sets the sprite bank

## Detailed Description

A skin modifies the look of the GUI elements.

Definition at line 378 of file IGUISkin.h.

## Member Function Documentation

virtual void irr::gui::IGUISkin::draw2DRectangle | ( | IGUIElement * | element,
|  | const video::SColor & | color,
|  | const core::rect< s32 > & | pos,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a 2d rectangle.

Parameters:

  element,: | Pointer to the element which wishes to draw this icon. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  color,: | Color of the rectangle to draw. The alpha component specifies how transparent the rectangle will be.
  pos,: | Position of the rectangle.
  clip,: | Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping will be performed.

virtual void irr::gui::IGUISkin::draw3DButtonPanePressed | ( | IGUIElement * | element,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a pressed 3d button pane

Used for drawing for example buttons in pressed state. It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  rect,: | Defining area where to draw.
  clip,: | Clip area.

virtual void irr::gui::IGUISkin::draw3DButtonPaneStandard | ( | IGUIElement * | element,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a standard 3d button pane

Used for drawing for example buttons in normal state. It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  rect,: | Defining area where to draw.
  clip,: | Clip area.

virtual void irr::gui::IGUISkin::draw3DMenuPane | ( | IGUIElement * | element,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a standard 3d menu pane

Used for drawing for menus and context menus. It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  rect,: | Defining area where to draw.
  clip,: | Clip area.

virtual void irr::gui::IGUISkin::draw3DSunkenPane | ( | IGUIElement * | element,
|  | video::SColor | bgcolor,
|  | bool | flat,
|  | bool | fillBackGround,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a sunken 3d pane

Used for drawing the background of edit, combo or check boxes.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  bgcolor,: | Background color.
  flat,: | Specifies if the sunken pane should be flat or displayed as sunken deep into the ground.
  fillBackGround,: | Specifies if the background should be filled with the background color or not be drawn at all.
  rect,: | Defining area where to draw.
  clip,: | Clip area.

virtual void irr::gui::IGUISkin::draw3DTabBody | ( | IGUIElement * | element,
|  | bool | border,
|  | bool | background,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`,
|  | s32 | tabHeight = `-1`,
|  | gui::EGUI_ALIGNMENT | alignment = `EGUIA_UPPERLEFT`
| ) |  | `[pure virtual]`

draws a tab control body

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  border,: | Specifies if the border should be drawn.
  background,: | Specifies if the background should be drawn.
  rect,: | Defining area where to draw.
  clip,: | Clip area.
  tabHeight | Height of tab.
  alignment | Alignment of GUI element.

virtual void irr::gui::IGUISkin::draw3DTabButton | ( | IGUIElement * | element,
|  | bool | active,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`,
|  | gui::EGUI_ALIGNMENT | alignment = `EGUIA_UPPERLEFT`
| ) |  | `[pure virtual]`

draws a tab button

Used for drawing for tab buttons on top of tabs.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  active,: | Specifies if the tab is currently active.
  rect,: | Defining area where to draw.
  clip,: | Clip area.
  alignment | Alignment of GUI element.

virtual void irr::gui::IGUISkin::draw3DToolBar | ( | IGUIElement * | element,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws a standard 3d tool bar

Used for drawing for toolbars and menus.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  rect,: | Defining area where to draw.
  clip,: | Clip area.

virtual core::rect<s32> irr::gui::IGUISkin::draw3DWindowBackground | ( | IGUIElement * | element,
|  | bool | drawTitleBar,
|  | video::SColor | titleBarColor,
|  | const core::rect< s32 > & | rect,
|  | const core::rect< s32 > * | clip = `0`,
|  | core::rect< s32 > * | checkClientArea = `0`
| ) |  | `[pure virtual]`

draws a window background

Used for drawing the background of dialogs and windows.

Parameters:

  element,: | Pointer to the element which wishes to draw this. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  titleBarColor,: | Title color.
  drawTitleBar,: | True to enable title drawing.
  rect,: | Defining area where to draw.
  clip,: | Clip area.
  checkClientArea,: | When set to non-null the function will not draw anything, but will instead return the clientArea which can be used for drawing by the calling window. That is the area without borders and without titlebar.

Returns:
  Returns rect where it would be good to draw title bar text. This will work even when checkClientArea is set to a non-null value.

virtual void irr::gui::IGUISkin::drawIcon | ( | IGUIElement * | element,
|  | EGUI_DEFAULT_ICON | icon,
|  | const core::position2di | position,
|  | u32 | starttime = `0`,
|  | u32 | currenttime = `0`,
|  | bool | loop = `false`,
|  | const core::rect< s32 > * | clip = `0`
| ) |  | `[pure virtual]`

draws an icon, usually from the skin's sprite bank

Parameters:

  element,: | Pointer to the element which wishes to draw this icon. This parameter is usually not used by IGUISkin, but can be used for example by more complex implementations to find out how to draw the part exactly.
  icon,: | Specifies the icon to be drawn.
  position,: | The position to draw the icon
  starttime,: | The time at the start of the animation
  currenttime,: | The present time, used to calculate the frame number
  loop,: | Whether the animation should loop or not
  clip,: | Clip area.

virtual video::SColor irr::gui::IGUISkin::getColor | ( | EGUI_DEFAULT_COLOR | color | ) | const`[pure virtual]`

returns default color

virtual const wchar_t* irr::gui::IGUISkin::getDefaultText | ( | EGUI_DEFAULT_TEXT | text | ) | const`[pure virtual]`

Returns a default text.

For example for Message box button captions: "OK", "Cancel", "Yes", "No" and so on.

virtual IGUIFont* irr::gui::IGUISkin::getFont | ( | EGUI_DEFAULT_FONT | which = `EGDF_DEFAULT` | ) | const`[pure virtual]`

returns the default font

virtual u32 irr::gui::IGUISkin::getIcon | ( | EGUI_DEFAULT_ICON | icon | ) | const`[pure virtual]`

Returns a default icon.

Returns the sprite index within the sprite bank

virtual s32 irr::gui::IGUISkin::getSize | ( | EGUI_DEFAULT_SIZE | size | ) | const`[pure virtual]`

returns size for the given size type

virtual IGUISpriteBank* irr::gui::IGUISkin::getSpriteBank | ( |  | ) | const`[pure virtual]`

returns the sprite bank

virtual EGUI_SKIN_TYPE irr::gui::IGUISkin::getType | ( |  | ) | const`[inline, virtual]`

get the type of this skin

Definition at line 566 of file IGUISkin.h.

References irr::gui::EGST_UNKNOWN.

virtual void irr::gui::IGUISkin::setColor | ( | EGUI_DEFAULT_COLOR | which,
|  | video::SColor | newColor
| ) |  | `[pure virtual]`

sets a default color

virtual void irr::gui::IGUISkin::setDefaultText | ( | EGUI_DEFAULT_TEXT | which,
|  | const wchar_t * | newText
| ) |  | `[pure virtual]`

Sets a default text.

For example for Message box button captions: "OK", "Cancel", "Yes", "No" and so on.

virtual void irr::gui::IGUISkin::setFont | ( | IGUIFont * | font,
|  | EGUI_DEFAULT_FONT | which = `EGDF_DEFAULT`
| ) |  | `[pure virtual]`

sets a default font

virtual void irr::gui::IGUISkin::setIcon | ( | EGUI_DEFAULT_ICON | icon,
|  | u32 | index
| ) |  | `[pure virtual]`

Sets a default icon.

Sets the sprite index used for drawing icons like arrows, close buttons and ticks in checkboxes

Parameters:

  icon,: | Enum specifying which icon to change
  index,: | The sprite index used to draw this icon

virtual void irr::gui::IGUISkin::setSize | ( | EGUI_DEFAULT_SIZE | which,
|  | s32 | size
| ) |  | `[pure virtual]`

sets a default size

virtual void irr::gui::IGUISkin::setSpriteBank | ( | IGUISpriteBank * | bank | ) | `[pure virtual]`

sets the sprite bank

The documentation for this class was generated from the following file:

- IGUISkin.h