/* ========================================================================== * ÆÄ ÀÏ : UINodeData.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2006-12-13 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIRect.h" #include "UINode.h" class cUISkin; class cToken; class cParser; struct sSkinInfo { /// 1024 * 768 ÇØ»óµµ¸¦ ±âÁØÀ¸·Î ÇÑ À§Ä¡ (´ÜÀ§: Çȼ¿) int mX; int mY; /// ÇØ»óµµ¿¡ °ü°è¾øÀÌ ÀÏÁ¤ÇÑ Å©±â (´ÜÀ§: Çȼ¿) unsigned int mWidth; unsigned int mHeight; /// ÅØ½ºÃ³ À̹ÌÁö »óÀÇ À§Ä¡, Å©±â (´ÜÀ§: Çȼ¿) unsigned int mTexX; unsigned int mTexY; unsigned int mTexWidth; unsigned int mTexHeight; unsigned long mHoverTipIndex; sSkinInfo() { mX = 0; mY = 0; mWidth = 0; mHeight = 0; mTexX = 0; mTexY = 0; mTexWidth = 0; mTexHeight = 0; mHoverTipIndex = 0; } }; /// UI ³ëµå ½ºÅ² /// UI ³ëµå ½ºÅ² ¿ÀºêÁ§Æ®µéÀÇ ÃÖ»óÀ§ Ãß»ó ±â¹Ý Ŭ·¡½ºÀÌ´Ù. class cUINodeSkin { friend class cUISkin; public: cUINodeSkin( eUINodeType type = eUINODE_NULL ); virtual ~cUINodeSkin(); /// ·Îµù virtual bool Load( cParser& parser ) = 0; /// ŸÀÔÀ» ¸®ÅÏ eUINodeType GetType() const; /// °°Àº Á¾·ùÀÎÁö ¿©ºÎ¸¦ ¸®ÅÏ bool IsKindof( eUINodeType type ) const; /// ÀûÇÕ ¿©ºÎ¸¦ ¸®ÅÏ virtual bool IsValid() const; protected: /// ÇÑ ÁÙ ÆÄ½Ì bool ParseLine( cParser& parser, cToken& token ); public: /// »ö NiColorA mColor; /// ÅØ½ºÃ³ NiTexture* mpTexture; /// ½ºÅ² Á¤º¸ sSkinInfo* mSkinInfo; protected: /// ŸÀÔ eUINodeType mType; /// ÅØ½ºÆ® ±âº»Ä÷¯ unsigned long mDefaultColor; }; inline eUINodeType cUINodeSkin::GetType() const { return mType; } inline bool cUINodeSkin::IsKindof( eUINodeType type ) const { return (mType & type) == type; }