1/*
2 Copyright (C) 1997-2021 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
22typedef 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
31extern NativeWindowFactory WindowsWindowFactory;
32#endif
33
34#ifdef SDL_VIDEO_DRIVER_X11
35#define TEST_NATIVE_X11
36extern 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
45extern NativeWindowFactory CocoaWindowFactory;
46#endif
47
48#ifdef SDL_VIDEO_DRIVER_OS2
49#define TEST_NATIVE_OS2
50extern NativeWindowFactory OS2WindowFactory;
51#endif
52