5#ifndef __GUI_SKIN_H_INCLUDED__
6#define __GUI_SKIN_H_INCLUDED__
25 GUISkin(EGUI_SKIN_TYPE type, video::IVideoDriver* driver);
31 virtual video::SColor
getColor(EGUI_DEFAULT_COLOR color)
const;
34 virtual void setColor(EGUI_DEFAULT_COLOR which, video::SColor newColor);
37 virtual s32
getSize(EGUI_DEFAULT_SIZE size)
const;
40 virtual void setSize(EGUI_DEFAULT_SIZE which, s32 size);
43 virtual IGUIFont*
getFont(EGUI_DEFAULT_FONT which=EGDF_DEFAULT)
const;
46 virtual void setFont(IGUIFont* font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT);
56 virtual u32
getIcon(EGUI_DEFAULT_ICON icon)
const;
63 virtual void setIcon(EGUI_DEFAULT_ICON icon, u32 index);
68 virtual const wchar_t*
getDefaultText(EGUI_DEFAULT_TEXT text)
const;
73 virtual void setDefaultText(EGUI_DEFAULT_TEXT which,
const wchar_t* newText);
85 const core::rect<s32>& rect,
86 const core::rect<s32>* clip=0)
92 const core::rect<s32>& rect,
93 const core::rect<s32>* clip=0,
94 const video::SColor* colors=0);
106 const core::rect<s32>& rect,
107 const core::rect<s32>* clip=0)
113 const core::rect<s32>& rect,
114 const core::rect<s32>* clip=0,
115 const video::SColor* colors=0);
128 video::SColor bgcolor,
bool flat,
130 const core::rect<s32>& rect,
131 const core::rect<s32>* clip=0)
137 video::SColor bgcolor,
bool flat,
139 const core::rect<s32>& rect,
140 const core::rect<s32>* clip=0,
141 const video::SColor* colors=0);
158 bool drawTitleBar, video::SColor titleBarColor,
159 const core::rect<s32>& rect,
160 const core::rect<s32>* clip,
161 core::rect<s32>* checkClientArea)
164 rect, clip, checkClientArea);
168 bool drawTitleBar, video::SColor titleBarColor,
169 const core::rect<s32>& rect,
170 const core::rect<s32>* clip,
171 core::rect<s32>* checkClientArea,
172 const video::SColor* colors=0);
184 const core::rect<s32>& rect,
185 const core::rect<s32>* clip=0)
191 const core::rect<s32>& rect,
192 const core::rect<s32>* clip=0,
193 const video::SColor* colors=0);
203 const core::rect<s32>& rect,
204 const core::rect<s32>* clip=0)
210 const core::rect<s32>& rect,
211 const core::rect<s32>* clip=0,
212 const video::SColor* colors=0);
223 const core::rect<s32>& rect,
const core::rect<s32>* clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
229 const core::rect<s32>& rect,
const core::rect<s32>* clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT,
230 const video::SColor* colors=0);
240 virtual void draw3DTabBody(IGUIElement* element,
bool border,
bool background,
241 const core::rect<s32>& rect,
const core::rect<s32>* clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
247 const core::rect<s32>& rect,
const core::rect<s32>* clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT,
248 const video::SColor* colors=0);
260 virtual void drawIcon(IGUIElement* element, EGUI_DEFAULT_ICON icon,
261 const core::position2di position,
262 u32 starttime=0, u32 currenttime=0,
263 bool loop=
false,
const core::rect<s32>* clip=0)
265 drawColoredIcon(element, icon, position, starttime, currenttime, loop, clip);
268 virtual void drawColoredIcon(IGUIElement* element, EGUI_DEFAULT_ICON icon,
269 const core::position2di position,
270 u32 starttime=0, u32 currenttime=0,
271 bool loop=
false,
const core::rect<s32>* clip=0,
272 const video::SColor* colors=0);
283 virtual void draw2DRectangle(IGUIElement* element,
const video::SColor &color,
284 const core::rect<s32>& pos,
const core::rect<s32>* clip = 0);
288 virtual EGUI_SKIN_TYPE
getType()
const;
291 virtual void getColors(video::SColor* colors);
307 #define set3DSkinColors(skin, button_color) \
309 skin->setColor(EGDC_3D_FACE, button_color); \
310 skin->setColor(EGDC_3D_DARK_SHADOW, button_color, 0.25f); \
311 skin->setColor(EGDC_3D_SHADOW, button_color, 0.5f); \
312 skin->setColor(EGDC_3D_LIGHT, button_color); \
313 skin->setColor(EGDC_3D_HIGH_LIGHT, button_color, 1.5f); \
316 #define getElementSkinColor(color) \
320 IGUISkin* skin = Environment->getSkin(); \
322 return skin->getColor(color); \
324 return Colors[color]; \
327 #define setElementSkinColor(which, newColor, shading) \
331 Colors = new video::SColor[EGDC_COUNT]; \
332 GUISkin* skin = (GUISkin *)Environment->getSkin(); \
334 skin->getColors(Colors); \
336 Colors[which] = newColor; \
337 setShading(Colors[which],shading); \
345 color.setRed(color.getRed() * s);
346 color.setGreen(color.getGreen() * s);
347 color.setBlue(color.getBlue() * s);
353 color.setRed(color.getRed() + (255 - color.getRed()) * s);
354 color.setGreen(color.getGreen() + (255 - color.getGreen()) * s);
355 color.setBlue(color.getBlue() + (255 - color.getBlue()) * s);
virtual void draw3DButtonPanePressed(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)
draws a pressed 3d button pane
Definition: guiSkin.h:105
virtual void draw3DToolBar(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)
draws a standard 3d tool bar
Definition: guiSkin.h:202
virtual void drawColored3DToolBar(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, const video::SColor *colors=0)
draws a standard 3d tool bar
Definition: guiSkin.cpp:754
IGUIFont * Fonts[EGDF_COUNT]
Definition: guiSkin.h:298
virtual void setDefaultText(EGUI_DEFAULT_TEXT which, const wchar_t *newText)
Sets a default text.
Definition: guiSkin.cpp:297
virtual core::rect< s32 > draw3DWindowBackground(IGUIElement *element, bool drawTitleBar, video::SColor titleBarColor, const core::rect< s32 > &rect, const core::rect< s32 > *clip, core::rect< s32 > *checkClientArea)
draws a window background
Definition: guiSkin.h:157
EGUI_SKIN_TYPE Type
Definition: guiSkin.h:304
virtual void drawColored3DSunkenPane(IGUIElement *element, video::SColor bgcolor, bool flat, bool fillBackGround, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, const video::SColor *colors=0)
draws a sunken 3d pane
Definition: guiSkin.cpp:426
virtual void drawColored3DTabBody(IGUIElement *element, bool border, bool background, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT, const video::SColor *colors=0)
draws a tab control body
Definition: guiSkin.cpp:894
virtual void setSpriteBank(IGUISpriteBank *bank)
sets the sprite bank used for drawing icons
Definition: guiSkin.cpp:254
virtual void getColors(video::SColor *colors)
gets the colors
Definition: guiSkin.cpp:1028
IGUISpriteBank * SpriteBank
Definition: guiSkin.h:299
virtual void drawColored3DTabButton(IGUIElement *element, bool active, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT, const video::SColor *colors=0)
draws a tab button
Definition: guiSkin.cpp:807
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)
draws an icon, usually from the skin's sprite bank
Definition: guiSkin.h:260
virtual EGUI_SKIN_TYPE getType() const
get the type of this skin
Definition: guiSkin.cpp:1011
virtual void drawColoredIcon(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, const video::SColor *colors=0)
draws an icon, usually from the skin's sprite bank
Definition: guiSkin.cpp:992
u32 Icons[EGDI_COUNT]
Definition: guiSkin.h:297
s32 Sizes[EGDS_COUNT]
Definition: guiSkin.h:296
virtual void draw2DRectangle(IGUIElement *element, const video::SColor &color, const core::rect< s32 > &pos, const core::rect< s32 > *clip=0)
draws a 2d rectangle.
Definition: guiSkin.cpp:1018
virtual void drawColored3DButtonPaneStandard(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, const video::SColor *colors=0)
draws a standard 3d button pane
Definition: guiSkin.cpp:314
virtual IGUIFont * getFont(EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const
returns the default font
Definition: guiSkin.cpp:220
virtual IGUISpriteBank * getSpriteBank() const
gets the sprite bank used for drawing icons
Definition: guiSkin.cpp:247
virtual void draw3DButtonPaneStandard(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)
draws a standard 3d button pane
Definition: guiSkin.h:84
virtual void setSize(EGUI_DEFAULT_SIZE which, s32 size)
sets a default size
Definition: guiSkin.cpp:212
virtual void setColor(EGUI_DEFAULT_COLOR which, video::SColor newColor)
sets a default color
Definition: guiSkin.cpp:194
video::IVideoDriver * Driver
Definition: guiSkin.h:301
virtual s32 getSize(EGUI_DEFAULT_SIZE size) const
returns size for the given size type
Definition: guiSkin.cpp:202
virtual core::rect< s32 > drawColored3DWindowBackground(IGUIElement *element, bool drawTitleBar, video::SColor titleBarColor, const core::rect< s32 > &rect, const core::rect< s32 > *clip, core::rect< s32 > *checkClientArea, const video::SColor *colors=0)
draws a window background
Definition: guiSkin.cpp:515
virtual video::SColor getColor(EGUI_DEFAULT_COLOR color) const
returns default color
Definition: guiSkin.cpp:184
virtual void draw3DMenuPane(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)
draws a standard 3d menu pane
Definition: guiSkin.h:183
virtual void setIcon(EGUI_DEFAULT_ICON icon, u32 index)
Sets a default icon.
Definition: guiSkin.cpp:277
virtual u32 getIcon(EGUI_DEFAULT_ICON icon) const
Returns a default icon.
Definition: guiSkin.cpp:267
virtual void draw3DTabButton(IGUIElement *element, bool active, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
draws a tab button
Definition: guiSkin.h:222
virtual void draw3DTabBody(IGUIElement *element, bool border, bool background, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
draws a tab control body
Definition: guiSkin.h:240
virtual const wchar_t * getDefaultText(EGUI_DEFAULT_TEXT text) const
Returns a default text.
Definition: guiSkin.cpp:286
virtual void draw3DSunkenPane(IGUIElement *element, video::SColor bgcolor, bool flat, bool fillBackGround, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0)
draws a sunken 3d pane
Definition: guiSkin.h:127
virtual ~GUISkin()
destructor
Definition: guiSkin.cpp:170
virtual void drawColored3DButtonPanePressed(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, const video::SColor *colors=0)
draws a pressed 3d button pane
Definition: guiSkin.cpp:376
virtual void setFont(IGUIFont *font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT)
sets a default font
Definition: guiSkin.cpp:230
core::stringw Texts[EGDT_COUNT]
Definition: guiSkin.h:300
bool UseGradient
Definition: guiSkin.h:302
video::SColor Colors[EGDC_COUNT]
Definition: guiSkin.h:295
virtual void drawColored3DMenuPane(IGUIElement *element, const core::rect< s32 > &rect, const core::rect< s32 > *clip=0, const video::SColor *colors=0)
draws a standard 3d menu pane
Definition: guiSkin.cpp:670
void setShading(video::SColor &color, f32 s)
Sets the shading.
Definition: guiSkin.h:341