Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::gui::IGUISkin Class Referenceabstract

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

#include <nirtcpp/core/engine/IGUISkin.hpp>

Inheritance diagram for nirt::gui::IGUISkin:
Inheritance graph
Collaboration diagram for nirt::gui::IGUISkin:
Collaboration graph

Public Member Functions

virtual video::SColor getColor (EGUI_DEFAULT_COLOR color) const =0
 returns default color
 
virtual void setColor (EGUI_DEFAULT_COLOR which, video::SColor newColor)=0
 sets a default color
 
virtual s32 getSize (EGUI_DEFAULT_SIZE size) const =0
 returns size for the given size type
 
virtual const wchar_t * getDefaultText (EGUI_DEFAULT_TEXT text) const =0
 Returns a default text.
 
virtual void setDefaultText (EGUI_DEFAULT_TEXT which, const wchar_t *newText)=0
 Sets a default text.
 
virtual void setSize (EGUI_DEFAULT_SIZE which, s32 size)=0
 sets a default size
 
virtual IGUIFontgetFont (EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const =0
 returns the default font
 
virtual void setFont (IGUIFont *font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT)=0
 sets a default font
 
virtual IGUISpriteBankgetSpriteBank () const =0
 returns the sprite bank
 
virtual void setSpriteBank (IGUISpriteBank *bank)=0
 sets the sprite bank
 
virtual u32 getIcon (EGUI_DEFAULT_ICON icon) const =0
 Returns a default icon.
 
virtual void setIcon (EGUI_DEFAULT_ICON icon, u32 index)=0
 Sets a default icon.
 
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 draw3DButtonPanePressed (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
 draws a pressed 3d button 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 core::rect< s32draw3DWindowBackground (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 draw3DMenuPane (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
 draws a standard 3d menu pane
 
virtual void draw3DToolBar (IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)=0
 draws a standard 3d tool bar
 
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 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 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 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 EGUI_SKIN_TYPE getType () const
 get the type of this skin
 
- Public Member Functions inherited from nirt::io::IAttributeExchangingObject
virtual void serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
 Writes attributes of the object.
 
virtual void deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
 Reads attributes of the object.
 
- Public Member Functions inherited from nirt::IReferenceCounted
 IReferenceCounted ()
 Constructor.
 
virtual ~IReferenceCounted ()
 Destructor.
 
void grab () const
 Grabs the object. Increments the reference counter by one.
 
bool drop () const
 Drops the object. Decrements the reference counter by one.
 
s32 getReferenceCount () const
 Get the reference count.
 
const c8getDebugName () const
 Returns the debug name of the object.
 

Additional Inherited Members

- Protected Member Functions inherited from nirt::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.
 

Detailed Description

A skin modifies the look of the GUI elements.

Member Function Documentation

◆ draw2DRectangle()

virtual void nirt::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
elementPointer 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.
colorColor of the rectangle to draw. The alpha component specifies how transparent the rectangle will be.
posPosition of the rectangle.
clipPointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping will be performed.

◆ draw3DButtonPanePressed()

virtual void nirt::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
elementPointer 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.
rectDefining area where to draw.
clipClip area.

◆ draw3DButtonPaneStandard()

virtual void nirt::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
elementPointer 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.
rectDefining area where to draw.
clipClip area.

◆ draw3DMenuPane()

virtual void nirt::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
elementPointer 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.
rectDefining area where to draw.
clipClip area.

◆ draw3DSunkenPane()

virtual void nirt::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
elementPointer 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.
bgcolorBackground color.
flatSpecifies if the sunken pane should be flat or displayed as sunken deep into the ground.
fillBackGroundSpecifies if the background should be filled with the background color or not be drawn at all.
rectDefining area where to draw.
clipClip area.

◆ draw3DTabBody()

virtual void nirt::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
elementPointer 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.
borderSpecifies if the border should be drawn.
backgroundSpecifies if the background should be drawn.
rectDefining area where to draw.
clipClip area.
tabHeightHeight of tab.
alignmentAlignment of GUI element.

◆ draw3DTabButton()

virtual void nirt::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
elementPointer 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.
activeSpecifies if the tab is currently active.
rectDefining area where to draw.
clipClip area.
alignmentAlignment of GUI element.

◆ draw3DToolBar()

virtual void nirt::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
elementPointer 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.
rectDefining area where to draw.
clipClip area.

◆ draw3DWindowBackground()

virtual core::rect< s32 > nirt::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
elementPointer 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.
titleBarColorTitle color.
drawTitleBarTrue to enable title drawing.
rectDefining area where to draw.
clipClip area.
checkClientAreaWhen 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.

◆ drawIcon()

virtual void nirt::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
elementPointer 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.
iconSpecifies the icon to be drawn.
positionThe position to draw the icon
starttimeThe time at the start of the animation
currenttimeThe present time, used to calculate the frame number
loopWhether the animation should loop or not
clipClip area.

◆ getDefaultText()

virtual const wchar_t * nirt::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.

◆ getIcon()

virtual u32 nirt::gui::IGUISkin::getIcon ( EGUI_DEFAULT_ICON  icon) const
pure virtual

Returns a default icon.

Returns the sprite index within the sprite bank

◆ setDefaultText()

virtual void nirt::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.

◆ setIcon()

virtual void nirt::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
iconEnum specifying which icon to change
indexThe sprite index used to draw this icon

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

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print