summaryrefslogtreecommitdiff
path: root/src/main/ui/x11/ui.c
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2025-05-16 09:01:37 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2025-05-16 09:01:37 +0200
commitefdb37413e5acf24bf21150479176ad060a8a216 (patch)
tree497dda9db4c8ddd81d26f3d14748eaf72e45b512 /src/main/ui/x11/ui.c
parentaee73b628ecfe98b800ae7f653f6b19655b78b58 (diff)
downloadtris-efdb37413e5acf24bf21150479176ad060a8a216.tar.gz
tris-efdb37413e5acf24bf21150479176ad060a8a216.zip
Add a function to get the GLX Visual
Diffstat (limited to 'src/main/ui/x11/ui.c')
-rw-r--r--src/main/ui/x11/ui.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main/ui/x11/ui.c b/src/main/ui/x11/ui.c
index 5199eea..e577bcf 100644
--- a/src/main/ui/x11/ui.c
+++ b/src/main/ui/x11/ui.c
@@ -42,6 +42,19 @@ ui_open_display(void)
return display;
}
+static XVisualInfo *
+gl_choose_visual(int screen)
+{
+ GLint attribs[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None };
+ XVisualInfo *vi = glXChooseVisual(display, screen, attribs);
+ if (!vi) {
+ log_error("No compatible Visual found");
+ exit(1);
+ }
+
+ return vi;
+}
+
void
ui_init()
{
@@ -50,12 +63,7 @@ ui_init()
int screen = DefaultScreen(display);
Window root = RootWindow(display, screen);
- GLint attribs[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None };
- XVisualInfo *vi = glXChooseVisual(display, screen, attribs);
- if (!vi) {
- fprintf(stderr, "Error: No compatible Visual found\n");
- exit(1);
- }
+ XVisualInfo *vi = gl_choose_visual(screen);
Colormap colormap = XCreateColormap(display, root, vi->visual, AllocNone);
XSetWindowAttributes swa;