14#ifndef _SRESPROVIDER_I_
15#define _SRESPROVIDER_I_
17#include <interface/obj-ref-i.h>
18#include <interface/SRender-i.h>
20#define UIRES_INDEX _T("uires.idx")
23#define PATH_SLASH '\\'
30typedef enum BUILTIN_RESTYPE
36typedef BOOL(CALLBACK *EnumResCallback)(LPCTSTR pszType, LPCTSTR pszName, LPARAM lp);
37typedef BOOL(CALLBACK *EnumFileCallback)(LPCTSTR pszFileName, LPARAM lp);
46#define INTERFACE IResProvider
74 STDMETHOD_(BOOL,
Init)(THIS_ WPARAM wParam, LPARAM lParam) PURE;
82 STDMETHOD_(BOOL,
HasResource)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
91 STDMETHOD_(HICON,
LoadIcon)(THIS_ LPCTSTR pszResName,
int cx,
int cy) PURE;
98 STDMETHOD_(HBITMAP,
LoadBitmap)(THIS_ LPCTSTR pszResName) PURE;
106 STDMETHOD_(HCURSOR,
LoadCursor)(THIS_ LPCTSTR pszResName) PURE;
123 STDMETHOD_(
IImgX *,
LoadImgX)(THIS_ LPCTSTR pszType, LPCTSTR pszResName) PURE;
143 (THIS_ LPCTSTR pszType, LPCTSTR pszResName, LPVOID pBuf,
size_t size) PURE;
151 STDMETHOD_(
void,
EnumResource)(THIS_ EnumResCallback funEnumCB, LPARAM lp) PURE;
159 STDMETHOD_(
void,
EnumFile)(THIS_ EnumFileCallback funEnumCB, LPARAM lp) PURE;
Interface for image data.
Interface for reference counting.
IImgX * LoadImgX(LPCTSTR pszType, LPCTSTR pszResName) PURE
从资源中创建一个IImgX对象
void EnumFile(EnumFileCallback funEnumCB, LPARAM lp) PURE
枚举资源文件,返回文件路径
IBitmapS * LoadImage(LPCTSTR pszType, LPCTSTR pszResName) PURE
从资源加载一个IBitmap对象
HICON LoadIcon(LPCTSTR pszResName, int cx, int cy) PURE
从资源中加载ICON
void EnumResource(EnumResCallback funEnumCB, LPARAM lp) PURE
枚举资源
HCURSOR LoadCursor(LPCTSTR pszResName) PURE
从资源中加载光标
BOOL GetRawBuffer(LPCTSTR pszType, LPCTSTR pszResName, LPVOID pBuf, size_t size) PURE
获得资源内存块
HBITMAP LoadBitmap(LPCTSTR pszResName) PURE
从资源中加载HBITMAP
BOOL HasResource(LPCTSTR pszType, LPCTSTR pszResName) PURE
查询一个资源是否存在
size_t GetRawBufferSize(LPCTSTR pszType, LPCTSTR pszResName) PURE
获得资源数据大小
void OnFinalRelease() PURE
释放对象
BOOL Init(WPARAM wParam, LPARAM lParam) PURE
资源初始化函数