remove Features5, rework gradient plugin, fix paste_edl track title bug, gl_probe...
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / bcdisplayinfo.h
index 9e4b651c06d7c7c608d19a250c2e2a2f349f5661..2b7e51875c576f77a8abdf315d754b400769992e 100644 (file)
 #include <X11/Xlib.h>
 #include <X11/extensions/Xinerama.h>
 
+#ifdef HAVE_GL
+#define GL_GLEXT_PROTOTYPES
+#include <GL/glx.h>
+#endif
+
 class BC_DisplayInfo
 {
 public:
@@ -46,27 +51,36 @@ public:
        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_screen() { return scrnum; }
        int get_xinerama_screens();
        int xinerama_geometry(int screen, int &x, int &y, int &w, int &h);
+#ifdef HAVE_GL
+       int gl_fb_config();
+       int gl_probe(Window win);
+       int ncfgs;
+       GLXFBConfig *fb_cfgs, cfg;
+       XVisualInfo *vis_info;
+#endif
 
 private:
        static void init_borders();
        Display* display;
        Window rootwin;
        Visual *vis;
-       int screen;
+       int scrnum;
        static int top_border;
        static int left_border;
        static int bottom_border;
        static int right_border;
        static int auto_reposition_x;
        static int auto_reposition_y;
-       int default_depth;
+       static char gl_shader_version[64];
+       int depth;
        char *display_name;
        XineramaScreenInfo *xinerama_info;
        int xinerama_screens;