SDL  2.0
testnativex11.c
Go to the documentation of this file.
1 /*
2  Copyright (C) 1997-2018 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 *
29 CreateWindowX11(int w, int h)
30 {
31  Window window = 0;
32 
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
45 DestroyWindowX11(void *window)
46 {
47  if (dpy) {
48  XDestroyWindow(dpy, (Window) window);
50  }
51 }
52 
53 #endif