soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SSkinPool-i.h
1#ifndef _SSKINPOOL_I_H__
2#define _SSKINPOOL_I_H__
3
5#include <interface/sxml-i.h>
6
7SNSBEGIN
8
9#undef INTERFACE
10#define INTERFACE ISkinPool
11DECLARE_INTERFACE_(ISkinPool, IObjRef)
12{
13 /**
14 * @brief 添加引用
15 * @return long -- 引用计数
16 */
17 STDMETHOD_(long, AddRef)(THIS) PURE;
18
19 /**
20 * @brief 释放引用
21 * @return long -- 引用计数
22 */
23 STDMETHOD_(long, Release)(THIS) PURE;
24
25 /**
26 * @brief 释放对象
27 * @return void
28 */
29 STDMETHOD_(void, OnFinalRelease)(THIS) PURE;
30 //////////////////////////////////////////////////////////////////////////
31
32 /**
33 * @brief 获得与指定name匹配的SkinObj
34 * @param strSkinName LPCWSTR -- Skin对象的名称
35 * @param nScale int -- 缩放比例
36 * @return ISkinObj* -- 找到的Skin对象
37 */
38 STDMETHOD_(ISkinObj *, GetSkin)(THIS_ LPCWSTR strSkinName, int nScale) PURE;
39
40 /**
41 * @brief 从XML中加载Skin列表
42 * @param xmlNode IXmlNode* -- 描述SkinObj的XML节点
43 * @return int -- 成功加载的SkinObj数量
44 */
45 STDMETHOD_(int, LoadSkins)(THIS_ IXmlNode * xmlNode) PURE;
46
47 /**
48 * @brief 增加一个skinObj对象到SkinPool
49 * @param skin ISkinObj* -- Skin对象
50 * @return BOOL -- 加入是否成功,重名加入失败返回FALSE
51 */
52 STDMETHOD_(BOOL, AddSkin)(THIS_ ISkinObj * skin) PURE;
53
54 /**
55 * @brief 删除一个skinObj对象
56 * @param skin ISkinObj* -- Skin对象
57 * @return BOOL -- TRUE: 成功,FALSE: 失败
58 */
59 STDMETHOD_(BOOL, RemoveSkin)(THIS_ ISkinObj * skin) PURE;
60
61 /**
62 * @brief 删除全部skin
63 * @return void
64 */
65 STDMETHOD_(void, RemoveAll)(THIS) PURE;
66};
67
68SNSEND
69
70#endif //_SSKINPOOL_I_H__
Interface for Skin Objects.
Interface for reference counting.
Definition obj-ref-i.h:19
Interface for Skin Objects.
Definition SSkinobj-i.h:29
Interface for XML nodes.
Definition sxml-i.h:128