olaf: neophyte theme update + de.po, fullscreen geom tweak
[goodguy/history.git] / cinelerra-5.1 / guicast / bcwindowbase.C
index 421a26fe7663e2470aba2f52d0265fb15c0560e4..f5759dd853d31b196d46040781b359f57c766ad8 100644 (file)
@@ -3467,6 +3467,38 @@ BC_WindowBase::get_xinerama_info(int screen)
        return 0;
 }
 
+void BC_WindowBase::get_fullscreen_geometry(int &wx, int &wy, int &ww, int &wh)
+{
+       XineramaScreenInfo *info = top_level->get_xinerama_info(-1);
+       if( info ) {
+               wx = info->x_org;  wy = info->y_org;
+               ww = info->width;  wh = info->height;
+       }
+       else {
+               wx = get_screen_x(0, -1);
+               wy = get_screen_y(0, -1);
+               int scr_w0 = get_screen_w(0, 0);
+               int root_w = get_root_w(0);
+               int root_h = get_root_h(0);
+               if( root_w > scr_w0 ) { // multi-headed
+                       if( wx >= scr_w0 ) {
+                               // assumes right side is the big one
+                               ww = root_w - scr_w0;
+                               wh = root_h;
+                       }
+                       else {
+                               // use same aspect ratio to compute left height
+                               ww = scr_w0;
+                               wh = (w*root_h) / (root_w-scr_w0);
+                       }
+               }
+               else {
+                       ww = root_w;
+                       wh = root_h;
+               }
+       }
+}
+
 int BC_WindowBase::get_screen_x(int lock_display, int screen)
 {
        int result = -1;