1 /*
2   Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
3 
4   This software is provided 'as-is', without any express or implied
5   warranty.  In no event will the authors be held liable for any damages
6   arising from the use of this software.
7 
8   Permission is granted to anyone to use this software for any purpose,
9   including commercial applications, and to alter it and redistribute it
10   freely.
11 */
12 
13 /* Definitions for platform dependent windowing functions to test SDL
14    integration with native windows
15 */
16 
17 #include "SDL.h"
18 
19 /* This header includes all the necessary system headers for native windows */
20 #include "SDL_syswm.h"
21 
22 typedef struct
23 {
24     const char *tag;
25     void *(*CreateNativeWindow) (int w, int h);
26     void (*DestroyNativeWindow) (void *window);
27 } NativeWindowFactory;
28 
29 #ifdef SDL_VIDEO_DRIVER_WINDOWS
30 #define TEST_NATIVE_WINDOWS
31 extern NativeWindowFactory WindowsWindowFactory;
32 #endif
33 
34 #ifdef SDL_VIDEO_DRIVER_X11
35 #define TEST_NATIVE_X11
36 extern NativeWindowFactory X11WindowFactory;
37 #endif
38 
39 #ifdef SDL_VIDEO_DRIVER_COCOA
40 /* Actually, we don't really do this, since it involves adding Objective C
41    support to the build system, which is a little tricky.  You can uncomment
42    it manually though and link testnativecocoa.m into the test application.
43 */
44 #define TEST_NATIVE_COCOA
45 extern NativeWindowFactory CocoaWindowFactory;
46 #endif
47