Magic_Game/Easy2D/enodes.h

185 lines
2.6 KiB
C
Raw Normal View History

#pragma once
#include "ebase.h"
namespace e2d
{
class ENode :
public EObject
{
2017-10-13 17:14:00 +08:00
friend EScene;
public:
ENode();
ENode(
2017-10-14 11:40:47 +08:00
EString name
);
virtual ~ENode();
// <20>ڵ<EFBFBD><DAB5>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ
virtual bool isVisiable() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>ͼ˳<CDBC><CBB3>
virtual int getZOrder() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual int getX() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual int getY() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual EPoint getPos() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual UINT32 getWidth() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5>߶<EFBFBD>
virtual UINT32 getHeight() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>С
2017-10-14 11:40:47 +08:00
virtual ESize getSize() const;
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>
2017-10-14 11:40:47 +08:00
virtual ERect getRect() const;
// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ڵ<EFBFBD>
2017-10-14 11:40:47 +08:00
virtual ENode * &getParent();
// <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>
2017-10-14 11:40:47 +08:00
virtual EScene * &getParentScene();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD>
virtual std::vector<ENode*> &getChildren();
// <20><>ȡ<EFBFBD>ӽڵ<D3BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual int getChildrenCount() const;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ȡ<EFBFBD>ӽڵ<D3BD>
virtual ENode * getChild(EString name);
// <20><><EFBFBD>ýڵ<C3BD><DAB5>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ
virtual void setVisiable(
bool value
);
2017-10-14 11:40:47 +08:00
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual void setName(EString name);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void setX(
int x
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void setY(
int y
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual void setPos(
int x,
int y
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual void setPos(
EPoint p
);
// <20>ƶ<EFBFBD><C6B6>ڵ<EFBFBD>
virtual void move(
int x,
int y
);
// <20>ƶ<EFBFBD><C6B6>ڵ<EFBFBD>
virtual void move(
EVector v
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
virtual void setWidth(
UINT32 width
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5>߶<EFBFBD>
virtual void setHeight(
UINT32 height
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD>С
virtual void setSize(
UINT32 width,
UINT32 height
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD>С
virtual void setSize(
2017-10-14 11:40:47 +08:00
ESize size
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>
virtual void setRect(
int x1,
int y1,
int x2,
int y2
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>
virtual void setRect(
EPoint leftTop,
EPoint rightBottom
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>
virtual void setRect(
2017-10-14 11:40:47 +08:00
ERect rect
);
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD>ͼ˳<CDBC><CBB3><EFBFBD><EFBFBD><30><CEAA><EFBFBD>Ȼ<EFBFBD><C8BB>ƣ<EFBFBD><C6A3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ײ㣩
virtual void setZOrder(
int z
);
2017-10-14 11:40:47 +08:00
// <20><><EFBFBD>ýڵ<C3BD><DAB5><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>
virtual void setParentScene(
EScene * scene
);
// <20><><EFBFBD>ø<EFBFBD><C3B8>ڵ<EFBFBD>
virtual void setParent(
2017-10-13 17:14:00 +08:00
ENode* parent
);
2017-10-14 11:40:47 +08:00
// <20><><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD>
virtual void addChild(ENode * child);
// <20>Ӹ<EFBFBD><D3B8>ڵ<EFBFBD><DAB5>Ƴ<EFBFBD>
virtual void removeFromParent(bool release = false);
// <20>Ƴ<EFBFBD><C6B3>ӽڵ<D3BD>
virtual void removeChild(ENode * child, bool release = false);
// <20>Ƴ<EFBFBD><C6B3>ӽڵ<D3BD>
virtual void removeChild(EString childName, bool release = false);
protected:
// <20><>Ⱦ<EFBFBD>ڵ<EFBFBD>
virtual void _onRender();
protected:
2017-10-14 11:40:47 +08:00
EString m_sName;
size_t m_nHashName;
int m_nZOrder;
bool m_bVisiable;
2017-10-13 17:14:00 +08:00
ERect m_Rect;
EScene * m_pParentScene;
ENode * m_pParent;
2017-10-14 11:40:47 +08:00
std::vector<ENode*> m_vChildren;
};
}