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#include "testnative.h"
14
15#ifdef TEST_NATIVE_X11
16
17static void *CreateWindowX11(int w, int h);
18static void DestroyWindowX11(void *window);
19
20NativeWindowFactory X11WindowFactory = {
21 "x11",
22 CreateWindowX11,
23 DestroyWindowX11
24};
25
26static Display *dpy;
27
28static void *
29CreateWindowX11(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
44static void
45DestroyWindowX11(void *window)
46{
47 if (dpy) {
48 XDestroyWindow(dpy, (Window) window);
49 XCloseDisplay(dpy);
50 }
51}
52
53#endif
54