forked from Green-Sky/tomato
Merge commit 'dec0d4ec4153bf9fc2b78ae6c2df45b6ea8dde7a' as 'external/sdl/SDL'
This commit is contained in:
55
external/sdl/SDL/test/testnativex11.c
vendored
Normal file
55
external/sdl/SDL/test/testnativex11.c
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/*
|
||||
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely.
|
||||
*/
|
||||
|
||||
#include "testnative.h"
|
||||
|
||||
#ifdef TEST_NATIVE_X11
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
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
|
Reference in New Issue
Block a user