使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 4905e2e7537d507f218e8e9595485e09d9f3a2b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/********************************************************************
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 <interface/SSkinobj-i.h>
#include <unknown/obj-ref-impl.hpp>
 
//#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