1#ifndef _ZFI_ZFMainEntry_sys_SDL_h_
2#define _ZFI_ZFMainEntry_sys_SDL_h_
5#include "ZFImpl_sys_SDL_ZF_impl.h"
15extern ZFLIB_ZF_impl SDL_Window *ZFImpl_sys_SDL_mainWindow(
void);
19extern ZFLIB_ZF_impl SDL_Renderer *ZFImpl_sys_SDL_mainRenderer(
void);
24extern ZFLIB_ZF_impl SDL_Window *ZFImpl_sys_SDL_CreateWindow(
void);
29extern ZFLIB_ZF_impl SDL_PixelFormat ZFImpl_sys_SDL_PixelFormatPreferred(
void);
32typedef zfbool (*ZFImpl_sys_SDL_WindowLifeCycle)(
ZF_IN SDL_Window *owner);
38typedef zfbool (*ZFImpl_sys_SDL_RendererLifeCycle)(
ZF_IN SDL_Renderer *owner);
41extern ZFLIB_ZF_impl void ZFImpl_sys_SDL_RendererNotifyCreate(
ZF_IN SDL_Renderer *owner);
42extern ZFLIB_ZF_impl void ZFImpl_sys_SDL_RendererNotifyDestroy(
ZF_IN SDL_Renderer *owner);
50typedef zfbool (*ZFImpl_sys_SDL_EventHandler)(
ZF_IN SDL_Event *event);
55 ,
ZF_IN ZFImpl_sys_SDL_EventHandler eventHandler
61 ,
ZF_IN ZFImpl_sys_SDL_EventHandler eventHandler
66 ZF_IN Sint32 userEventCode
67 ,
ZF_IN ZFImpl_sys_SDL_EventHandler eventHandler
71extern ZFLIB_ZF_impl void ZFImpl_sys_SDL_userEventHandlerRemove(
72 ZF_IN Sint32 userEventCode
73 ,
ZF_IN ZFImpl_sys_SDL_EventHandler eventHandler
98#define ZFIMPL_SYS_SDL_USER_EVENT_HANDLER(name, level) \
99 ZFIDMAP_GLOBAL_REGISTER_DETAIL(_ZFP_SDLEvent, name) \
100 static zfbool _ZFP_SDLEventH_##name(ZF_IN SDL_Event *sdlEvent); \
101 ZF_GLOBAL_INITIALIZER_INIT_WITH_LEVEL(SDLEventReg_##name, ZFLevelZFFrameworkStatic) { \
102 ZFImpl_sys_SDL_userEventHandlerAdd(((Sint32)_ZFP_SDLEvent##name()), _ZFP_SDLEventH_##name, level); \
104 ZF_GLOBAL_INITIALIZER_DESTROY(SDLEventReg_##name) { \
105 ZFImpl_sys_SDL_userEventHandlerRemove(((Sint32)_ZFP_SDLEvent##name()), _ZFP_SDLEventH_##name); \
107 ZF_GLOBAL_INITIALIZER_END(SDLEventReg_##name) \
108 static zfbool _ZFP_SDLEventH_##name(ZF_IN SDL_Event *sdlEvent)
112#define ZFIMPL_SYS_SDL_USER_EVENT(name) \
113 ((Sint32)_ZFP_SDLEvent##name())
118#define ZFIMPL_SYS_SDL_USER_EVENT_POST(name, data1_, data2_) \
122 e.type = SDL_EVENT_USER; \
123 e.user.code = ZFIMPL_SYS_SDL_USER_EVENT(name); \
124 e.user.data1 = data1_; \
125 e.user.data2 = data2_; \
header file for ZFCore module
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
#define ZFLIB_ZF_impl
used to export symbols
Definition ZFImpl_ZF_impl.h:15
ZFLevel
level for logic which depends on order
Definition ZFLevel.h:17
@ ZFLevelAppNormal
app
Definition ZFLevel.h:26
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
light weight array
Definition ZFCoreArray.h:331