/*
* IGUIElement.h
*
* Created on: 2010-10-11
* Author: Mido
* GUI元素,GUI控件基类
* - 来自于大哥irrlicht
*/
#ifndef IGUIELEMENT_H_
#define IGUIELEMENT_H_
#include "IReferenceCounted.h"
#include "IEventReceiver.h"
#include "EGUIElementTypes.h"
namespace irrlight
{
namespace gui
{
//! Base class of all GUI elements.
class IGUIElement : virtual public IReferenceCounted, public IEventReceiver
{
public:
//! Constructor
IGUIElement()
{
#ifdef _DEBUG
setDebugName("IGUIElement");
#endif
UserReceiver = null;
Parent = null;
}
//! Destructor
virtual ~IGUIElement()
{
}
public:
//! Called if an event happened.
virtual b1 OnEvent(const SEvent& e)
{
return Parent ? Parent->OnEvent(e) : bf ;
}
//! This sets a new event receiver for gui events.
/** Usually you do not have to
use this method, it is used by the engine internally.
/param evr Pointer to the new receiver. */
virtual any SetEventReceiver(IEventReceiver* evr)
{
UserReceiver = evr;
}
protected:
//! Pointer to the parent
IGUIElement* Parent;
//! type of element
EGUI_ELEMENT_TYPE Type;
// event receiver
IEventReceiver* UserReceiver;
};
}
}
#endif /* IGUIELEMENT_H_ */
本文来自:鬼火神灯 - irrlight.com
4441

被折叠的 条评论
为什么被折叠?



