changeset 5645:bd5c0d8346f0

vo_osd_check_range_update() added + 10l fix
author arpi
date Tue, 16 Apr 2002 00:35:01 +0000
parents f1465a280612
children 8bec4d7d04f0
files libvo/sub.c libvo/sub.h
diffstat 2 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/sub.c	Tue Apr 16 00:34:04 2002 +0000
+++ b/libvo/sub.c	Tue Apr 16 00:35:01 2002 +0000
@@ -443,6 +443,7 @@
 	  }
 //	  obj->flags&=~OSDFLAG_OLD_BBOX;
       }
+      obj=obj->next;
     }
 }
 
@@ -493,3 +494,19 @@
     return ret;
 }
 
+//      BBBBBBBBBBBB   AAAAAAAAAAAAA  BBBBBBBBBBB
+//              BBBBBBBBBBBB  BBBBBBBBBBBBB
+//                        BBBBBBB
+
+// return TRUE if we have osd in the specified rectangular area:
+int vo_osd_check_range_update(int x1,int y1,int x2,int y2){
+    mp_osd_obj_t* obj=vo_osd_list;
+    while(obj){
+	if(obj->flags&OSDFLAG_VISIBLE){
+	    if(	(obj->bbox.x1<=x2 && obj->bbox.x2>=x1) &&
+		(obj->bbox.y1<=y2 && obj->bbox.y2>=y1) ) return 1;
+	}
+	obj=obj->next;
+    }
+    return 0;
+}
--- a/libvo/sub.h	Tue Apr 16 00:34:04 2002 +0000
+++ b/libvo/sub.h	Tue Apr 16 00:35:01 2002 +0000
@@ -89,6 +89,7 @@
 //extern void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
 //extern void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
 extern void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
+extern void vo_remove_text(int dxs,int dys,void (*remove)(int x0,int y0, int w,int h));
 
 void vo_init_osd();
 int vo_update_osd(int dxs,int dys);