Skip to content

Commit d5b0117

Browse files
committed
Group type definitions together in sdlsyswm.inc
1 parent 5babee3 commit d5b0117

File tree

1 file changed

+66
-72
lines changed

1 file changed

+66
-72
lines changed

sdlsyswm.inc

Lines changed: 66 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
{$DEFINE SDL_VIDEO_DRIVER_WINDOWS}
55
{$ENDIF}
66

7-
{$IF DEFINED (LINUX) OR DEFINED(UNIX) AND NOT DEFINED(ANDROID)}
8-
{$IFNDEF DARWIN}
7+
{$IF DEFINED (LINUX) OR DEFINED(UNIX)}
8+
{$IF NOT (DEFINED(DARWIN) OR DEFINED(ANDROID))}
99
{$DEFINE SDL_VIDEO_DRIVER_X11}
1010
{$ENDIF}
1111
{$IFEND}
@@ -19,7 +19,7 @@
1919
{$ENDIF}
2020

2121
{$IFDEF VIVANTE}
22-
{$DEFINE SDL_VIDEO_DRIVER_VIVANTE}
22+
{$DEFINE SDL_VIDEO_DRIVER_VIVANTE}
2323
{$ENDIF}
2424

2525

@@ -41,46 +41,105 @@ Type
4141
SDL_SYSWM_VIVANTE // Since SDL 2.0.5
4242
);
4343

44-
/// sdl_syswm.h uses anonymous structs, declared right in SDL_SysWMmsg.
45-
/// Since Pascal does not allow this, we workaround by introducing named types
46-
/// before the proper TSDL_SysWMmsg definition.
44+
/// sdl_syswm.h uses anonymous structs, declared right in SDL_SysWMmsg and SDL_SysWMinfo.
45+
/// Since Pascal does not allow this, we workaround by introducing named types.
4746
{$IFDEF SDL_VIDEO_DRIVER_WINDOWS}
4847
__SYSWM_WINDOWS = record
4948
hwnd: HWND; {**< The window for the message }
5049
msg: uInt; {**< The type of message *}
5150
wParam: WPARAM; {**< WORD message parameter *}
5251
lParam: LPARAM; {**< WORD message parameter *}
5352
end;
53+
__WMINFO_WINDOWS = record
54+
window: HWND; {**< The window handle *}
55+
hdc: HDC; {**< The window device context *}
56+
end;
5457
{$ENDIF}
58+
5559
{$IFDEF SDL_VIDEO_DRIVER_X11}
5660
__SYSWM_X11 = record
5761
event: {$IFDEF FPC} TXEvent {$ELSE} XEvent {$ENDIF};
5862
end;
63+
__WMINFO_X11 = record
64+
display: PDisplay; {**< The X11 display *}
65+
window: TWindow; {**< The X11 window *}
66+
end;
5967
{$ENDIF}
68+
6069
{$IFDEF SDL_VIDEO_DRIVER_DIRECTFB}
6170
__SYSWM_DIRECTFB = record
6271
event: DFBEvent;
6372
end;
73+
__WMINFO_DIRECTFB = record
74+
dfb: IDirectFB; {**< The directfb main interface *}
75+
window: IDirectFBWindow; {**< The directfb window handle *}
76+
surface: IDirectFBSurface; {**< The directfb client surface *}
77+
end;
6478
{$ENDIF}
79+
6580
{$IFDEF SDL_VIDEO_DRIVER_COCOA}
6681
__SYSWM_COCOA = record
6782
(* No Cocoa window events yet *)
6883
dummy: integer;
6984
end;
85+
__WMINFO_COCOA = record
86+
window: NSWindow; {* The Cocoa window *}
87+
end;
7088
{$ENDIF}
89+
7190
{$IFDEF SDL_VIDEO_DRIVER_UIKIT}
7291
__SYSWM_UIKIT = record
7392
(* No UIKit window events yet *)
7493
dummy: integer;
7594
end;
95+
__WMINFO_UIKIT = record
96+
window: UIWindow; {* The UIKit window *}
97+
framebuffer: GLuint; {* The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. *}
98+
colorbuffer: GLuint; {* The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. *}
99+
resolveFramebuffer: GLuint; {* The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. *}
100+
end;
76101
{$ENDIF}
102+
103+
{$IFDEF SDL_VIDEO_DRIVER_WAYLAND}
104+
__WMINFO_WAYLAND = record
105+
display: wl_display; {**< Wayland display *}
106+
surface: wl_surface; {**< Wayland surface *}
107+
shell_surface: wl_shell_surface; {**< Wayland shell_surface (window manager handle) *}
108+
end;
109+
{$ENDIF}
110+
111+
{$IFDEF SDL_VIDEO_DRIVER_MIR}
112+
__WMINFO_MIR = record
113+
connection: PMirConnection; {**< Mir display server connection *}
114+
surface: PMirSurface; {**< Mir surface *}
115+
end;
116+
{$ENDIF}
117+
118+
{$IFDEF SDL_VIDEO_DRIVER_WINRT}
119+
__WMINFO_WINRT = record
120+
window: IInspectable; {**< The WinRT CoreWindow *}
121+
end;
122+
{$ENDIF}
123+
124+
{$IFDEF SDL_VIDEO_DRIVER_ANDROID}
125+
__WMINFO_ANDROID = record
126+
window: Pointer; // PANativeWindow;
127+
surface: Pointer; // PEGLSurface;
128+
end;
129+
{$ENDIF}
130+
77131
{$IFDEF SDL_VIDEO_DRIVER_VIVANTE}
78132
__SYSWM_VIVANTE = record
79133
(* No Vivante window events yet *)
80134
dummy: integer;
81135
end;
136+
__WMINFO_VIVANTE = record
137+
display: EGLNativeDisplayType;
138+
window: EGLNativeWindowType;
139+
end;
82140
{$ENDIF}
83141

142+
84143
{**
85144
* The custom event structure.
86145
*}
@@ -109,71 +168,6 @@ Type
109168
SDL_SYSWM_UNKNOWN: (dummy: integer);
110169
end;
111170

112-
/// Once again, sdl_syswm.h uses anonymous structs, declared right in SDL_SysWMinfo.
113-
/// We workaround by introducing named types before the proper TSDL_SysWMinfo definition.
114-
{$IFDEF SDL_VIDEO_DRIVER_WINDOWS}
115-
__WMINFO_WINDOWS = record
116-
window: HWND; {**< The window handle *}
117-
hdc: HDC; {**< The window device context *}
118-
end;
119-
{$ENDIF}
120-
{$IFDEF SDL_VIDEO_DRIVER_WINRT} // Since SDL 2.0.3
121-
__WMINFO_WINRT = record
122-
window: IInspectable; {**< The WinRT CoreWindow *}
123-
end;
124-
{$ENDIF}
125-
{$IFDEF SDL_VIDEO_DRIVER_X11}
126-
__WMINFO_X11 = record
127-
display: PDisplay; {**< The X11 display *}
128-
window: TWindow; {**< The X11 window *}
129-
end;
130-
{$ENDIF}
131-
{$IFDEF SDL_VIDEO_DRIVER_DIRECTFB}
132-
__WMINFO_DFB = record
133-
dfb: IDirectFB; {**< The directfb main interface *}
134-
window: IDirectFBWindow; {**< The directfb window handle *}
135-
surface: IDirectFBSurface; {**< The directfb client surface *}
136-
end;
137-
{$ENDIF}
138-
{$IFDEF SDL_VIDEO_DRIVER_COCOA}
139-
__WMINFO_COCOA = record
140-
window: NSWindow; {* The Cocoa window *}
141-
end;
142-
{$ENDIF}
143-
{$IFDEF SDL_VIDEO_DRIVER_UIKIT}
144-
__WMINFO_UIKIT = record
145-
window: UIWindow; {* The UIKit window *}
146-
framebuffer: GLuint; {* The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. *}
147-
colorbuffer: GLuint; {* The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. *}
148-
resolveFramebuffer: GLuint; {* The Framebuffer Object which holds the resolve color Renderbuffer, when MSAA is used. *}
149-
end;
150-
{$ENDIF}
151-
{$IFDEF SDL_VIDEO_DRIVER_WAYLAND} // Since SDL 2.0.2
152-
__WMINFO_WAYLAND = record
153-
display: wl_display; {**< Wayland display *}
154-
surface: wl_surface; {**< Wayland surface *}
155-
shell_surface: wl_shell_surface; {**< Wayland shell_surface (window manager handle) *}
156-
end;
157-
{$ENDIF}
158-
{$IFDEF SDL_VIDEO_DRIVER_MIR} // Since SDL 2.0.2
159-
__WMINFO_MIR = record
160-
connection: PMirConnection; {**< Mir display server connection *}
161-
surface: PMirSurface; {**< Mir surface *}
162-
end;
163-
{$ENDIF}
164-
{$IFDEF SDL_VIDEO_DRIVER_ANDROID}
165-
__WMINFO_ANDROID = record
166-
window: Pointer; // PANativeWindow;
167-
surface: Pointer; // PEGLSurface;
168-
end;
169-
{$ENDIF}
170-
{$IFDEF SDL_VIDEO_DRIVER_VIVANTE}
171-
__WMINFO_VIVANTE = record
172-
display: EGLNativeDisplayType;
173-
window: EGLNativeWindowType;
174-
end;
175-
{$ENDIF}
176-
177171
{**
178172
* The custom window manager information structure.
179173
*
@@ -194,7 +188,7 @@ Type
194188
SDL_SYSWM_X11: (x11 : __WMINFO_X11);
195189
{$ENDIF}
196190
{$IFDEF SDL_VIDEO_DRIVER_DIRECTFB}
197-
SDL_SYSWM_DIRECTFB: (dfb : __WMINFO_DFB);
191+
SDL_SYSWM_DIRECTFB: (dfb : __WMINFO_DIRECTFB);
198192
{$ENDIF}
199193
{$IFDEF SDL_VIDEO_DRIVER_COCOA}
200194
SDL_SYSWM_COCOA: (cocoa : __WMINFO_COCOA);

0 commit comments

Comments
 (0)