/******************************************************************** created: 2012/12/27 created: 27:12:2012 14:55 filename: DuiSkinGif.h file base: DuiSkinGif file ext: h author: huangjianxiong purpose: ×Ô¶¨Ò寤·ô¶ÔÏó *********************************************************************/ #pragma once #include #include //#include "SAniImgFrame.h" #include "../controls.extend/gif/SAniImgFrame.h" namespace Gdiplus { class Bitmap; } namespace SOUI { /** * @class SSkinGif * @brief GIFͼƬ¼ÓÔØ¼°ÏÔʾ¶ÔÏó * * Describe */ class SSkinMutiFrameImg : public SSkinAni { SOUI_CLASS_NAME(SSkinMutiFrameImg, L"imgMutiFrame") public: SSkinMutiFrameImg() { } //³õʼ»¯GDI+»·¾³£¬ÓÉÓÚÕâÀïÐèҪʹÓÃGDI+À´½âÂëGIFÎļþ¸ñʽ static BOOL Gdiplus_Startup(); //Í˳öGDI+»·¾³ static void Gdiplus_Shutdown(); /** * LoadFromFile * @brief ´ÓÎļþ¼ÓÔØGIF * @param LPCTSTR pszFileName -- ÎļþÃû * @return int -- GIFÖ¡Êý£¬0-ʧ°Ü * Describe */ int LoadFromFile(LPCTSTR pszFileName); /** * LoadFromMemory * @brief ´ÓÄÚ´æ¼ÓÔØGIF * @param LPVOID pBits -- ÄÚ´æµØÖ· * @param size_t szData -- ÄÚ´æÊý¾Ý³¤¶È * @return int -- GIFÖ¡Êý£¬0-ʧ°Ü * Describe */ int LoadFromMemory(LPVOID pBits,size_t szData); SOUI_ATTRS_BEGIN() ATTR_CUSTOM(L"src",OnAttrSrc) //XMLÎļþÖÐÖ¸¶¨µÄͼƬ×ÊÔ´Ãû,(type:name) SOUI_ATTRS_END() protected: LRESULT OnAttrSrc(const SStringW &strValue,BOOL bLoading); int LoadFromGdipImage(Gdiplus::Bitmap * pImg); }; }//end of name space SOUI