Irrlicht 3D Engine
IGUIImage.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_GUI_IMAGE_H_INCLUDED__
6 #define __I_GUI_IMAGE_H_INCLUDED__
7 
8 #include "IGUIElement.h"
9 
10 namespace irr
11 {
12 namespace video
13 {
14  class ITexture;
15 }
16 namespace gui
17 {
19  class IGUIImage : public IGUIElement
20  {
21  public:
22 
24  IGUIImage(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
25  : IGUIElement(EGUIET_IMAGE, environment, parent, id, rectangle) {}
26 
28  virtual void setImage(video::ITexture* image) = 0;
29 
31  virtual video::ITexture* getImage() const = 0;
32 
34 
36  virtual void setColor(video::SColor color) = 0;
37 
39  virtual void setScaleImage(bool scale) = 0;
40 
42  virtual void setUseAlphaChannel(bool use) = 0;
43 
45  virtual video::SColor getColor() const = 0;
46 
48  virtual bool isImageScaled() const = 0;
49 
51  virtual bool isAlphaChannelUsed() const = 0;
52 
54 
55  virtual void setSourceRect(const core::rect<s32>& sourceRect) = 0;
56 
58 
59  virtual core::rect<s32> getSourceRect() const = 0;
60 
62 
69  virtual void setDrawBounds(const core::rect<f32>& drawBoundUVs = core::rect<f32>(0.f, 0.f, 1.f, 1.f)) = 0;
70 
72  virtual core::rect<f32> getDrawBounds() const = 0;
73 
75 
76  virtual void setDrawBackground(bool draw) = 0;
77 
79 
80  virtual bool isDrawBackgroundEnabled() const = 0;
81  };
82 
83 
84 } // end namespace gui
85 } // end namespace irr
86 
87 #endif
virtual void setColor(video::SColor color)=0
Sets the color of the image.
virtual void setDrawBackground(bool draw)=0
Sets whether to draw a background color (EGDC_3D_DARK_SHADOW) when no texture is set.
virtual bool isImageScaled() const =0
Returns true if the image is scaled to fit, false if not.
virtual core::rect< s32 > getSourceRect() const =0
Returns the customized source rectangle of the image to be used.
virtual void setScaleImage(bool scale)=0
Sets if the image should scale to fit the element.
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
virtual video::ITexture * getImage() const =0
Gets the image texture.
virtual void setImage(video::ITexture *image)=0
Sets an image texture.
virtual bool isAlphaChannelUsed() const =0
Returns true if the image is using the alpha channel, false if not.
GUI Environment. Used as factory and manager of all other GUI elements.
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
virtual void setSourceRect(const core::rect< s32 > &sourceRect)=0
Sets the source rectangle of the image. By default the full image is used.
virtual void draw()
Draws the element and its children.
Definition: IGUIElement.h:309
An image (IGUIImage)
virtual bool isDrawBackgroundEnabled() const =0
Checks if a background is drawn when no texture is set.
virtual void setUseAlphaChannel(bool use)=0
Sets if the image should use its alpha channel to draw itself.
Class representing a 32 bit ARGB color.
Definition: SColor.h:314
Base class of all GUI elements.
Definition: IGUIElement.h:23
virtual core::rect< f32 > getDrawBounds() const =0
Get drawing-area restrictions.
Interface of a Video Driver dependent Texture.
Definition: ITexture.h:153
virtual void setDrawBounds(const core::rect< f32 > &drawBoundUVs=core::rect< f32 >(0.f, 0.f, 1.f, 1.f))=0
Restrict drawing-area.
GUI element displaying an image.
Definition: IGUIImage.h:19
IGUIImage(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
constructor
Definition: IGUIImage.h:24
virtual video::SColor getColor() const =0
Gets the color of the image.