view test/testnativex11.c @ 4567:1d7ea8724f4a

Daniel Wyatt to slouken I also found a bug in the non-printable character fix. In SDL_keyboard.c:SDL_SendKeyboardText: if (*text < ' ' || *text == 127) { needs to be: if ((unsigned char)*text < ' ' || *text == 127) { Otherwise bytes >= 128 will be considered non-printable.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 22 Jul 2010 22:09:04 -0700
parents 089a77aebb7d
children
line wrap: on
line source


#include "testnative.h"

#ifdef TEST_NATIVE_X11

static void *CreateWindowX11(int w, int h);
static void DestroyWindowX11(void *window);

NativeWindowFactory X11WindowFactory = {
    "x11",
    CreateWindowX11,
    DestroyWindowX11
};

static Display *dpy;

static void *
CreateWindowX11(int w, int h)
{
    Window window = 0;

    dpy = XOpenDisplay(NULL);
    if (dpy) {
        window =
            XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, w, h, 0, 0,
                                0);
        XMapRaised(dpy, window);
        XSync(dpy, False);
    }
    return (void *) window;
}

static void
DestroyWindowX11(void *window)
{
    if (dpy) {
        XDestroyWindow(dpy, (Window) window);
        XCloseDisplay(dpy);
    }
}

#endif