Irrlicht 3D Engine
IGUIElementFactory.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_GUI_ELEMENT_FACTORY_H_INCLUDED__
00006 #define __I_GUI_ELEMENT_FACTORY_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "EGUIElementTypes.h"
00010 
00011 namespace irr
00012 {
00013 
00014 namespace gui
00015 {
00016     class IGUIElement;
00017 
00019 
00026     class IGUIElementFactory : public virtual IReferenceCounted
00027     {
00028     public:
00029 
00031 
00034         virtual IGUIElement* addGUIElement(EGUI_ELEMENT_TYPE type, IGUIElement* parent=0) = 0;
00035 
00037 
00040         virtual IGUIElement* addGUIElement(const c8* typeName, IGUIElement* parent=0) = 0;
00041 
00043         virtual s32 getCreatableGUIElementTypeCount() const = 0;
00044 
00046 
00048         virtual EGUI_ELEMENT_TYPE getCreateableGUIElementType(s32 idx) const = 0;
00049 
00051 
00053         virtual const c8* getCreateableGUIElementTypeName(s32 idx) const = 0;
00054 
00056 
00058         virtual const c8* getCreateableGUIElementTypeName(EGUI_ELEMENT_TYPE type) const = 0;
00059     };
00060 
00061 
00062 } // end namespace gui
00063 } // end namespace irr
00064 
00065 #endif // __I_GUI_ELEMENT_FACTORY_H_INCLUDED__
00066