render effect segv, drag chkbox track coords, check mask active,
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / bcdisplayinfo.h
index 54f74660a73d72f5686df5844e8a630d42bd8c2b..ddf8e2e15036016a894b9274a01d2c65699c4400 100644 (file)
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <X11/Xlib.h>
+#include <X11/extensions/Xinerama.h>
 
 class BC_DisplayInfo
 {
@@ -40,16 +41,20 @@ public:
        int get_abs_cursor_x();
        int get_abs_cursor_y();
        static void parse_geometry(char *geom, int *x, int *y, int *width, int *height);
+       static int gl_probe(Display *dpy, Window win);
 // Get window border size created by window manager
        static int get_top_border();
        static int get_left_border();
        static int get_right_border();
        static int get_bottom_border();
+       static const char *get_gl_shader_version();
        int get_screen_count();
        void test_window(int &x_out, int &y_out, int &x_out2, int &y_out2, int x_in, int y_in);
        static const char *host_display_name(const char *name);
        void init_window(const char *display_name, int show_error=0);
        int get_screen() { return screen; }
+       int get_xinerama_screens();
+       int xinerama_geometry(int screen, int &x, int &y, int &w, int &h);
 
 private:
        static void init_borders();
@@ -63,8 +68,11 @@ private:
        static int right_border;
        static int auto_reposition_x;
        static int auto_reposition_y;
+       static char gl_shader_version[64];
        int default_depth;
        char *display_name;
+       XineramaScreenInfo *xinerama_info;
+       int xinerama_screens;
 };
 
 #endif