X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcdisplayinfo.h;h=86564d9bb24ef2f770830d90a11de7f69f6e4049;hb=1db0dacec8f9d7f5687e582bd282d9bf83bd58f0;hp=54f74660a73d72f5686df5844e8a630d42bd8c2b;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/guicast/bcdisplayinfo.h b/cinelerra-5.1/guicast/bcdisplayinfo.h index 54f74660..86564d9b 100644 --- a/cinelerra-5.1/guicast/bcdisplayinfo.h +++ b/cinelerra-5.1/guicast/bcdisplayinfo.h @@ -25,6 +25,12 @@ #include #include #include +#include + +#ifdef HAVE_GL +#define GL_GLEXT_PROTOTYPES +#include +#endif class BC_DisplayInfo { @@ -45,26 +51,42 @@ public: static int get_left_border(); static int get_right_border(); static int get_bottom_border(); + static const char *get_gl_shader_version(); + static int get_gl_max_texture_size(); 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); + int xinerama_big_screen(); +#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 int gl_max_texture_size; + static char gl_shader_version[64]; + int depth; char *display_name; + XineramaScreenInfo *xinerama_info; + int xinerama_screens; }; #endif