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 #include "testnative.h"
14 
15 #ifdef TEST_NATIVE_X11
16 
17 static void *CreateWindowX11(int w, int h);
18 static void DestroyWindowX11(void *window);
19 
20 NativeWindowFactory X11WindowFactory = {
21     "x11",
22     CreateWindowX11,
23     DestroyWindowX11
24 };
25 
26 static Display *dpy;
27 
28 static void *
CreateWindowX11(int w,int h)29 CreateWindowX11(int w, int h)
30 {
31     Window window = 0;
32 
33     dpy = XOpenDisplay(NULL);
34     if (dpy) {
35         window =
36             XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, w, h, 0, 0,
37                                 0);
38         XMapRaised(dpy, window);
39         XSync(dpy, False);
40     }
41     return (void *) window;
42 }
43 
44 static void
DestroyWindowX11(void * window)45 DestroyWindowX11(void *window)
46 {
47     if (dpy) {
48         XDestroyWindow(dpy, (Window) window);
49         XCloseDisplay(dpy);
50     }
51 }
52 
53 #endif
54