test/testnativex11.c
author Ryan C. Gordon <icculus@icculus.org>
Wed, 03 Oct 2018 16:54:24 -0400
changeset 12284 fe9bafcd47ba
parent 11811 5d94cb6b24d3
child 12503 806492103856
permissions -rw-r--r--
evdev: Don't initialize struct sigaction with "{ 0 }".

It causes warnings on some platforms, depending on the actual definition of
sigaction, and since this is static data, it'll be zero'd out anyhow.
     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 
    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
    45 DestroyWindowX11(void *window)
    46 {
    47     if (dpy) {
    48         XDestroyWindow(dpy, (Window) window);
    49         XCloseDisplay(dpy);
    50     }
    51 }
    52 
    53 #endif