vicon jittering, opengl no draw_refresh if no ovly for last frame
[goodguy/history.git] / cinelerra-5.1 / cinelerra / cwindowgui.C
index 2b11f38b4a36f314eb0e7ab7adb662ea29c89405..ea957147637ff434eb2234f4ef164302391aaadd 100644 (file)
@@ -1091,12 +1091,13 @@ void CWindowCanvas::draw_refresh(int flush)
                                                (int)out_x1,
                                                (int)out_y1,
                                                (int)(out_x2 - out_x1),
-                                               (int)(out_y2 - out_y1),
-                                               (int)in_x1,
-                                               (int)in_y1,
-                                               (int)(in_x2 - in_x1),
-                                               (int)(in_y2 - in_y1),
-                                               0);
+                                               (int)(out_y2 - out_y1));
+// if refresh_frame session geometry...
+//                                             (int)in_x1,
+//                                             (int)in_y1,
+//                                             (int)(in_x2 - in_x1),
+//                                             (int)(in_y2 - in_y1),
+//                                             0);
                        }
                }
                else
@@ -2311,6 +2312,24 @@ int CWindowCanvas::do_eyedrop(int &rerender, int button_press, int draw)
        return result;
 }
 
+int CWindowCanvas::need_overlays()
+{
+       if( mwindow->edl->session->safe_regions ) return 1;
+       if( mwindow->edl->session->cwindow_scrollbars ) return 1;
+       if( gui->highlighted ) return 1;
+       switch( mwindow->edl->session->cwindow_operation ) {
+               case CWINDOW_EYEDROP:
+                       if( ! gui->eyedrop_visible ) break;
+               case CWINDOW_CAMERA:
+               case CWINDOW_PROJECTOR:
+               case CWINDOW_CROP:
+               case CWINDOW_MASK:
+               case CWINDOW_RULER:
+                       return 1;
+       }
+       return 0;
+}
+
 void CWindowCanvas::draw_overlays()
 {
        if(mwindow->edl->session->safe_regions)