soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SResProviderMgr-i.h
1#ifndef __SRESPROVIDERMGR_I__H__
2#define __SRESPROVIDERMGR_I__H__
4
5SNSBEGIN
6
7#undef INTERFACE
8#define INTERFACE IResProviderMgr
9DECLARE_INTERFACE(IResProviderMgr)
10{
11 /**
12 * @brief 添加资源提供者
13 * @param pResProvider IResProvider* -- 资源提供者对象
14 * @param pszUidef LPCTSTR -- UI定义,默认值为 "uidef:xml_init"
15 * @return void
16 */
17 STDMETHOD_(void, AddResProvider)(THIS_ IResProvider * pResProvider, LPCTSTR pszUidef DEF_VAL(_T("uidef:xml_init"))) PURE;
18
19 /**
20 * @brief 添加资源提供者
21 * @param pResProvider IResProvider* -- 资源提供者对象
22 * @param pszUidef LPCSTR -- UI定义,默认值为 "uidef:xml_init"
23 * @return void
24 */
25 STDMETHOD_(void, AddResProviderA)(THIS_ IResProvider * pResProvider, LPCSTR pszUidef DEF_VAL("uidef:xml_init")) PURE;
26
27 /**
28 * @brief 移除资源提供者
29 * @param pResProvider IResProvider* -- 资源提供者对象
30 * @return void
31 */
32 STDMETHOD_(void, RemoveResProvider)(THIS_ IResProvider * pResProvider) PURE;
33
34 /**
35 * @brief 移除所有资源提供者
36 * @return void
37 */
38 STDMETHOD_(void, RemoveAll)(THIS) PURE;
39
40 /**
41 * @brief 获取头部资源提供者
42 * @return IResProvider* -- 头部资源提供者对象
43 */
44 STDMETHOD_(IResProvider *, GetHeadResProvider)(CTHIS) SCONST PURE;
45
46 /**
47 * @brief 获取尾部资源提供者
48 * @return IResProvider* -- 尾部资源提供者对象
49 */
50 STDMETHOD_(IResProvider *, GetTailResProvider)(CTHIS) SCONST PURE;
51
52 /**
53 * @brief 设置文件前缀
54 * @param pszFilePrefix LPCTSTR -- 文件前缀
55 * @return void
56 */
57 STDMETHOD_(void, SetFilePrefix)(THIS_ LPCTSTR pszFilePrefix) PURE;
58
59 //////////////////////////////////////////////////////////////////////////
60
61 /**
62 * @brief 查询资源是否存在
63 * @param pszType LPCTSTR -- 资源类型
64 * @param pszResName LPCTSTR -- 资源名称
65 * @return BOOL -- TRUE: 存在,FALSE: 不存在
66 */
67 STDMETHOD_(BOOL, HasResource)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
68
69 /**
70 * @brief 从资源中加载ICON
71 * @param pszResName LPCTSTR -- ICON名称
72 * @param cx int -- ICON宽度,默认值为0
73 * @param cy int -- ICON高度,默认值为0
74 * @param bFromFile BOOL -- 是否从文件加载,默认值为FALSE
75 * @return HICON -- 成功返回ICON的句柄,失败返回0
76 */
77 STDMETHOD_(HICON, LoadIcon)(THIS_ LPCTSTR pszResName, int cx DEF_VAL(0), int cy DEF_VAL(0), BOOL bFromFile DEF_VAL(FALSE)) PURE;
78
79 /**
80 * @brief 从资源中加载光标
81 * @param pszResName LPCTSTR -- 光标名称
82 * @param bFromFile BOOL -- 是否从文件加载,默认值为FALSE
83 * @return HCURSOR -- 成功返回光标的句柄,失败返回0
84 */
85 STDMETHOD_(HCURSOR, LoadCursor)(THIS_ LPCTSTR pszResName, BOOL bFromFile DEF_VAL(FALSE)) PURE;
86
87 /**
88 * @brief 从资源中加载HBITMAP
89 * @param pszResName LPCTSTR -- BITMAP名称
90 * @param bFromFile BOOL -- 是否从文件加载,默认值为FALSE
91 * @return HBITMAP -- 成功返回BITMAP的句柄,失败返回0
92 */
93 STDMETHOD_(HBITMAP, LoadBitmap)(THIS_ LPCTSTR pszResName, BOOL bFromFile DEF_VAL(FALSE)) PURE;
94
95 /**
96 * @brief 从资源加载一个IBitmap对象
97 * @param pszType LPCTSTR -- 图片类型
98 * @param pszResName LPCTSTR -- 图片名称
99 * @return IBitmapS* -- 成功返回一个IBitmap对象,失败返回0
100 */
101 STDMETHOD_(IBitmapS *, LoadImage)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
102
103 /**
104 * @brief 从资源中创建一个IImgX对象
105 * @param pszType LPCTSTR -- 图片类型
106 * @param pszResName LPCTSTR -- 图片名称
107 * @return IImgX* -- 成功返回一个IImgX对象,失败返回0
108 */
109 STDMETHOD_(IImgX *, LoadImgX)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
110
111 /**
112 * @brief 获得资源数据大小
113 * @param pszType LPCTSTR -- 资源类型
114 * @param pszResName LPCTSTR -- 资源名称
115 * @return size_t -- 资源大小(byte),失败返回0
116 */
117 STDMETHOD_(size_t, GetRawBufferSize)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
118
119 /**
120 * @brief 获得资源内存块
121 * @param pszType LPCTSTR -- 资源类型
122 * @param pszResName LPCTSTR -- 资源名称
123 * @param pBuf LPVOID -- 输出内存块
124 * @param size size_t -- 内存大小
125 * @return BOOL -- TRUE: 成功
126 * @remark 应该先用GetRawBufferSize查询资源大小再分配足够空间
127 */
128 STDMETHOD_(BOOL, GetRawBuffer)(THIS_ LPCTSTR pszType, LPCTSTR pszResName, LPVOID pBuf, size_t size) PURE;
129};
130
131SNSEND
132#endif // __SRESPROVIDERMGR_I__H__
Bitmap object interface.
Definition SRender-i.h:420
Interface for image data.
ResProvider对象