Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::CGUIMask Class Reference

This is the object class that represents a masked rectangle, and other GUIs will only display within that rectangle. Any drawing outside of this mask rectangle will be clipped. More...

#include <Graphics2D/GUI/CGUIMask.h>

Inheritance diagram for Skylicht::CGUIMask:
Skylicht::CGUIElement

Public Member Functions

virtual void update (CCamera *camera)
virtual void render (CCamera *camera)
void applyParentClip (CGUIMask *parent)
void beginMaskTest (CCamera *camera)
void drawMask (CCamera *camera)
void endMaskTest ()
void clearMask ()
Public Member Functions inherited from Skylicht::CGUIElement
void remove ()
void removeAllChilds ()
CCanvas * getCanvas ()
CGUIElement * getParent ()
void setName (const char *name)
const char * getName ()
const char * getID ()
void setTagInt (int i)
void setTagString (const char *s)
int getTagInt ()
const std::string & getTagString ()
void setName (const wchar_t *name)
std::wstring getNameW ()
void setParent (CGUIElement *parent)
std::vector< CGUIElement * > & getChilds ()
void getAllChilds (std::vector< CGUIElement * > &childs)
void setColor (const SColor &c)
const SColorgetColor ()
float getHeight ()
float getWidth ()
void setHeight (float h)
void setWidth (float w)
const core::rectfgetRect ()
virtual const core::rectf getNativeRect ()
int getDepth ()
int getRenderOrder ()
void setDock (EGUIDock dock)
EGUIDock getDock ()
const SMargingetMargin ()
void setMargin (const SMargin &m)
void setMargin (float l, float t, float r, float b)
void setRect (const core::rectf &r)
void setWorldTransform (const core::matrix4 &world)
void setRelativeTransform (const core::matrix4 &relative)
const core::vector3df getAlignPosition ()
const core::vector3dfgetPosition ()
void invalidate ()
void setPosition (const core::vector3df &v)
const core::vector3dfgetScale ()
void setScale (const core::vector3df &v)
const core::vector3dfgetRotation ()
void setRotation (const core::vector3df &v)
core::quaternion getRotationQuaternion ()
EGUIVerticalAlign getVerticalAlign ()
EGUIHorizontalAlign getHorizontalAlign ()
void setVerticalAlign (EGUIVerticalAlign a)
void setHorizontalAlign (EGUIHorizontalAlign a)
void setAlign (EGUIHorizontalAlign h, EGUIVerticalAlign v)
void setShaderID (int id)
int getShaderID ()
int getMaterialId ()
void setMaterialId (int id)
void setMaterial (CMaterial *material)
void setMaterialSource (const char *materialFile)
CMaterialgetMaterial ()
CGUIMaskgetMask ()
CGUIMaskgetParentMask ()
void setMask (CGUIMask *mask)
void setDrawBorder (bool b)
bool isEnableMaterial ()
const core::matrix4getRelativeTransform ()
const core::matrix4getAbsoluteTransform ()
void setVisible (bool b)
bool isVisible ()
bool isVisibleInHierarchy ()
CEntitygetEntity ()
void notifyChanged ()
CGUIElement * getChildBefore (CGUIElement *object)
void bringToNext (CGUIElement *object, CGUIElement *target, bool behind)
void bringToChild (CGUIElement *object)
bool isChild (CGUIElement *e)
CGUIElement * getGUIByPath (const char *path)
virtual CObjectSerializablecreateSerializable ()
virtual void loadSerializable (CObjectSerializable *object)
void generateNewId ()

Protected Member Functions

void updateClipRect (CCamera *camera)
Protected Member Functions inherited from Skylicht::CGUIElement
 CGUIElement (CCanvas *canvas, CGUIElement *parent)
 CGUIElement (CCanvas *canvas, CGUIElement *parent, const core::rectf &rect)
void applyCurrentMask (CGUIMask *mask)
CGUIMaskgetCurrentMask ()
bool removeChild (CGUIElement *child)

Friends

class CCanvas

Additional Inherited Members

Public Attributes inherited from Skylicht::CGUIElement
std::function< void(CGUIElement *)> OnRender
Protected Attributes inherited from Skylicht::CGUIElement
CGUIElement * m_parent
std::vector< CGUIElement * > m_childs
CCanvas * m_canvas
CGUIMaskm_mask
CGUIMaskm_applyCurrentMask
bool m_drawBorder
bool m_enableMaterial
int m_renderOrder
ArrayMaterial m_materials
int m_materialId
CEntitym_entity
CWorldTransformDatam_transform
CGUITransformDatam_guiTransform
CGUIAlignDatam_guiAlign
CGUIRenderDatam_renderData
std::string m_materialFile
int m_tagInt
std::string m_tagString

Detailed Description

This is the object class that represents a masked rectangle, and other GUIs will only display within that rectangle. Any drawing outside of this mask rectangle will be clipped.

CCanvas *canvas = gameobject->addComponent<CCanvas>();
core::rectf maskRect(50.0f, 50.0f, 100.0f, 100.0f);
CGUIMask* mask = canvas->createMask(maskRect);
core::rectf r(0.0f, 0.0f, 200.0f, 200.0f);
CGUIImage* gui = canvas->createImage(r);
gui->setImage(CTextureManager::getInstance()->getTexture("BuiltIn/Textures/Skylicht.png"));
gui->setMask(mask);
CGUIImage * createImage()
Create an image element as a child of root.
CGUIMask * createMask(const core::rectf &r)
Create a mask element with a rectangle as a child of root.
This is the object class for displaying a texture image.
Definition CGUIImage.h:43
This is the object class that represents a masked rectangle, and other GUIs will only display within ...
Definition CGUIMask.h:48
rect< f32 > rectf
Rectangle with float values.
Definition rect.h:271
The gui namespace contains useful classes for easy creation of a graphical user interface.
Definition ICursorControl.h:15

Member Function Documentation

◆ render()

virtual void Skylicht::CGUIMask::render ( CCamera * camera)
virtual

Reimplemented from Skylicht::CGUIElement.

◆ update()

virtual void Skylicht::CGUIMask::update ( CCamera * camera)
virtual

Reimplemented from Skylicht::CGUIElement.


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