soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SFactory-i.h
1#ifndef __SFACTORY_I__H__
2#define __SFACTORY_I__H__
3
4#include <interface/obj-ref-i.h>
5#include <interface/sapp-i.h>
6#include <interface/shostwnd-i.h>
7#include <interface/sstring-i.h>
8#include <interface/sxml-i.h>
10#include <interface/SEvtArgs-i.h>
11#include <interface/smenu-i.h>
12#include <interface/smenuex-i.h>
13#include <interface/STimer-i.h>
14#include <interface/SValueAnimator-i.h>
15
16#include <soui_exp.h>
17SNSBEGIN
18
19#undef INTERFACE
20#define INTERFACE ISouiFactory
21DECLARE_INTERFACE_(ISouiFactory, IObjRef)
22{
23 //!添加引用
24 /*!
25 */
26 STDMETHOD_(long, AddRef)(THIS) PURE;
27
28 //!释放引用
29 /*!
30 */
31 STDMETHOD_(long, Release)(THIS) PURE;
32
33 //!释放对象
34 /*!
35 */
36 STDMETHOD_(void, OnFinalRelease)(THIS) PURE;
37
38 //////////////////////////////////////////////////////////////////////////
39
40 /** CreateApp
41 * @brief 创建IApp对象
42 * @return IApplication * -- App对象
43 */
44 STDMETHOD_(IApplication *, CreateApp)(THIS_ IRenderFactory * pRenderFac, HMODULE hInst, LPCTSTR pszHostClassName DEF_VAL(_T("SOUIHOST")), BOOL bImeApp DEF_VAL(FALSE)) PURE;
45
46 /** CreateNativeWnd
47 * @brief 创建窗口对象
48 * @return INativeWnd * -- 窗口对象
49 */
50 STDMETHOD_(INativeWnd *, CreateNativeWnd)(THIS) PURE;
51
52 /** CreateHostWnd
53 * @brief 创建SOUI窗口对象
54 * @return IHostWnd * -- SOUI窗口对象
55 */
56 STDMETHOD_(IHostWnd *, CreateHostWnd)(THIS_ LPCTSTR pszResID DEF_VAL(NULL)) PURE;
57
58 /** CreateHostDialog
59 * @brief 创建SOUI对话框对象
60 * @return IHostDialog * -- SOUI对话框对象
61 */
62 STDMETHOD_(IHostDialog *, CreateHostDialog)(THIS_ LPCTSTR pszResID DEF_VAL(NULL)) PURE;
63
64 /** CreateStringA
65 * @brief 创建IStringA对象
66 * @return IStringA * -- 字符串对象
67 */
68 STDMETHOD_(IStringA *, CreateStringA)(THIS_ LPCSTR pszSrc) PURE;
69
70 /** CreateStringW
71 * @brief 创建IStringW对象
72 * @return IStringW * -- 字符串对象
73 */
74 STDMETHOD_(IStringW *, CreateStringW)(THIS_ LPCWSTR pszSrc) PURE;
75
76 /** CreateXmlDoc
77 * @brief 创建IXmlDoc对象
78 * @return IXmlDoc * -- Xml对象
79 */
80 STDMETHOD_(IXmlDoc *, CreateXmlDoc)(THIS) PURE;
81
82 /** CreateResProvider
83 * @brief 创建IResProvider对象
84 * @return IResProvider * -- 资源包对象
85 */
86 STDMETHOD_(IResProvider *, CreateResProvider)(THIS_ BUILTIN_RESTYPE resType) PURE;
87
88 /** CreateFuncSlot
89 * @brief 创建IEvtSlot对象
90 * @return IEvtSlot * -- Event Slot对象
91 */
92 STDMETHOD_(IEvtSlot *, CreateFuncSlot)(THIS_ FunCallback fun, void *ctx) PURE;
93
94 /** CreateMenu
95 * @brief 创建Menu对象
96 * @return IMenu * -- Menu对象
97 */
98 STDMETHOD_(IMenu *, CreateMenu)(THIS_ HMENU hMenu DEF_VAL(0)) PURE;
99
100 /** CreateMenuEx
101 * @brief 创建MenuEx对象
102 * @return IMenuEx * -- MenuEx对象
103 */
104 STDMETHOD_(IMenuEx *, CreateMenuEx)(THIS) PURE;
105
106 /** CreateTimer
107 * @brief 创建定时器对象
108 * @return ITimer * -- 定时器对象
109 */
110 STDMETHOD_(ITimer *, CreateTimer)(THIS_ IEvtSlot * pEvtSlot) PURE;
111
112 /** CreateAnimatorGroup
113 * @brief 创建动画组
114 * @return IAnimatorGroup * -- 动画组
115 */
116 STDMETHOD_(IAnimatorGroup *, CreateAnimatorGroup)(THIS) PURE;
117};
118
119SNSEND
120
121#ifdef __cplusplus
122typedef SNS::ISouiFactory *ISouiFactoryPtr;
123#else
124typedef ISouiFactory *ISouiFactoryPtr;
125#endif
126
127EXTERN_C ISouiFactoryPtr SOUI_EXP CreateSouiFactory();
128
129#endif // __SFACTORY_I__H__
Interface for Native Window Operations.
Interface for reference counting.
Definition obj-ref-i.h:19
RenderFactory object.
Definition SRender-i.h:2018
ResProvider对象
Interface for XML Document.
Definition sxml-i.h:472