/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.09.19 * * ³» ¿ë : ½ºÅ² ¸®¼Ò½º * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #pragma warning( disable: 4244 ) #include class cSkinComponentResource; class cSkinContainerResource; class cSkinDialogResource; class cSkinButtonResource; class cSkinProgressBarResource; class cSkinImageSlideResource; class cSkinHtmlViewResource; class cSkinManager; /// ½ºÅ² ÄÞÆ÷³ÍÆ® ¸®¼Ò½º class cSkinComponentResource { friend class cSkinManager; public: cSkinComponentResource(); virtual ~cSkinComponentResource(); public: /// ºñÆ®¸Ê CBitmap mBitmap; /// ¿µ¿ª CRect mRect; /// Å©±â int mWidth; int mHeight; protected: /// ºñÆ®¸Ê ÆÄÀÏ ·Îµù bool LoadImage( CBitmap* bitmap, int* width, int* height, const cString& fileName ); private: /// °æ·Î static cString mPath; }; /// ½ºÅ² ÄÁÅ×ÀÌ³Ê ¸®¼Ò½º class cSkinContainerResource : public cSkinComponentResource { public: cSkinContainerResource(); virtual ~cSkinContainerResource(); /// ·Îµù virtual bool Load( cParser& parser ) = 0; /// ÀÚ½ÄÀ» ¸®ÅÏ cSkinComponentResource* GetChild( const cString& name ); public: /// ÄÞÆ÷³ÍÆ® ¸®¼Ò½º ¸Ê typedef tHashMap cComponentResourceMap; cComponentResourceMap mComponentResourceMap; }; /// ½ºÅ² ´ÙÀ̾ó·Î±× ¸®¼Ò½º class cSkinDialogResource : public cSkinContainerResource { public: cSkinDialogResource(); virtual ~cSkinDialogResource(); /// ·Îµù virtual bool Load( cParser& parser ); const cString& GetText( unsigned int id ); protected: bool LoadText( cParser& parser ); public: /// ÆùÆ® LOGFONT mFont; typedef tHashMap cStringMap; cStringMap mStringMap; cString mErrorTxt; }; /// ½ºÅ² ¹öư ¸®¼Ò½º class cSkinButtonResource : public cSkinComponentResource { public: cSkinButtonResource(); virtual ~cSkinButtonResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// ½ºÅ¸ÀÏ (0 - Ǫ½Ã, 1 - üũ ¹Ú½º) int mStyle; }; /// ½ºÅ² ÁøÇà¹Ù ¸®¼Ò½º class cSkinProgressBarResource : public cSkinComponentResource { public: cSkinProgressBarResource(); virtual ~cSkinProgressBarResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// »ö»ó COLORREF mColor; COLORREF mBackColor; }; /// ½ºÅ² ¿øÇü °ÔÀÌÁö ¸®¼Ò½º class cSkinRoundGaugeResource : public cSkinComponentResource { public: cSkinRoundGaugeResource(); virtual ~cSkinRoundGaugeResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// È­»ìÇ¥ CBitmap mArrowBitmap; //CRect mArrowRect; }; /// ½ºÅ² À̹ÌÁö ½½¶óÀÌµå ¸®¼Ò½º class cSkinImageSlideResource : public cSkinComponentResource { public: cSkinImageSlideResource(); virtual ~cSkinImageSlideResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// ºñÆ®¸Ê ¹è¿­ CArray mBitmapArray; }; /// ½ºÅ² Html ºä ¸®¼Ò½º class cSkinHtmlViewResource : public cSkinComponentResource { public: cSkinHtmlViewResource(); virtual ~cSkinHtmlViewResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// Url cString mUrl; }; class cSkinComboBoxResource : public cSkinComponentResource { public: cSkinComboBoxResource(); virtual ~cSkinComboBoxResource(); /// ·Îµù virtual bool Load( cParser& parser ); public: CRect mRectLeft; CRect mRectCenter; CRect mRectRight; CBitmap mScrollBitmap; int mScrollImageWidth; int mScrollImageHeight; }; /// ½ºÅ² °ü¸®ÀÚ class cSkinManager { public: cSkinManager( const cString& path ); ~cSkinManager(); /// ·Îµù bool Load( const cString& fileName ); /// ÄÁÅ×ÀÌ³Ê ¸®¼Ò½º¸¦ ¸®ÅÏ cSkinContainerResource* GetContainer( const cString& name ); private: /// ÄÁÅ×ÀÌ³Ê ¸®¼Ò½º ¸Ê typedef tHashMap cContainerResourceMap; cContainerResourceMap mContainerResourceMap; };