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