summaryrefslogtreecommitdiff
path: root/progs/egl/segl/segl_x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'progs/egl/segl/segl_x11.c')
-rw-r--r--progs/egl/segl/segl_x11.c117
1 files changed, 0 insertions, 117 deletions
diff --git a/progs/egl/segl/segl_x11.c b/progs/egl/segl/segl_x11.c
deleted file mode 100644
index 7b26917460..0000000000
--- a/progs/egl/segl/segl_x11.c
+++ /dev/null
@@ -1,117 +0,0 @@
-#include <stdlib.h>
-#include <sys/time.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-#include "segl.h"
-
-static Window
-x11_create_window(struct segl_winsys *winsys, const char *name,
- EGLint width, EGLint height, EGLint visual)
-{
- XVisualInfo vinfo_template, *vinfo = NULL;
- EGLint val, num_vinfo;
- Window root, win;
- XSetWindowAttributes attrs;
- unsigned long mask;
- EGLint x = 0, y = 0;
-
- vinfo_template.visualid = (VisualID) val;
- vinfo = XGetVisualInfo(winsys->dpy, VisualIDMask, &vinfo_template, &num_vinfo);
- if (!num_vinfo) {
- if (vinfo)
- XFree(vinfo);
- return None;
- }
-
- root = DefaultRootWindow(winsys->dpy);
-
- /* window attributes */
- attrs.background_pixel = 0;
- attrs.border_pixel = 0;
- attrs.colormap = XCreateColormap(winsys->dpy, root, vinfo->visual, AllocNone);
- attrs.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
- attrs.override_redirect = False;
- mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect;
-
- win = XCreateWindow(winsys->dpy, root, x, y, width, height, 0,
- vinfo->depth, InputOutput, vinfo->visual, mask, &attrs);
- XFree(vinfo);
-
- if (!win)
- return None;
-
- /* set hints and properties */
- {
- XSizeHints sizehints;
- sizehints.x = x;
- sizehints.y = y;
- sizehints.width = width;
- sizehints.height = height;
- sizehints.flags = USSize | USPosition;
- XSetNormalHints(winsys->dpy, win, &sizehints);
- XSetStandardProperties(winsys->dpy, win, name, name,
- None, (char **)NULL, 0, &sizehints);
- }
-
- XMapWindow(winsys->dpy, win);
-
- return win;
-}
-
-static void
-x11_destroy_window(struct segl_winsys *winsys, Window win)
-{
- if (win)
- XDestroyWindow(winsys->dpy, win);
-}
-
-
-static Pixmap
-x11_create_pixmap(struct segl_winsys *winsys, EGLint width, EGLint height,
- EGLint depth)
-{
- Window root = DefaultRootWindow(winsys->dpy);
- Pixmap pix;
-
- pix = XCreatePixmap(winsys->dpy, (Drawable) root, width, height, depth);
-
- return pix;
-}
-
-static void
-x11_destroy_pixmap(struct segl_winsys *winsys, Pixmap pix)
-{
- if (pix)
- XFreePixmap(winsys->dpy, pix);
-}
-
-static double
-x11_now(struct segl_winsys *winsys)
-{
- struct timeval tv;
-
- gettimeofday(&tv, NULL);
-
- return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
-}
-
-struct segl_winsys *
-segl_get_winsys(EGLNativeDisplayType dpy)
-{
- struct segl_winsys *winsys;
-
- winsys = calloc(1, sizeof(*winsys));
- if (winsys) {
- winsys->dpy = dpy;
-
- winsys->create_window = x11_create_window;
- winsys->destroy_window = x11_destroy_window;
- winsys->create_pixmap = x11_create_pixmap;
- winsys->destroy_pixmap = x11_destroy_pixmap;
-
- winsys->now = x11_now;
- }
-
- return winsys;
-}