summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-16 00:35:01 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-16 00:35:01 +0000
commit5bb2eef3a1c784a6acca696a7917993d10e3566f (patch)
treecdcb3da24d76a4cd967be88f5dc6f9915d73e1d7 /libvo
parentd7e0d04376c0586d72b0f45ebe25168725f067c6 (diff)
downloadmpv-5bb2eef3a1c784a6acca696a7917993d10e3566f.tar.bz2
mpv-5bb2eef3a1c784a6acca696a7917993d10e3566f.tar.xz
vo_osd_check_range_update() added + 10l fix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5646 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/sub.c17
-rw-r--r--libvo/sub.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/libvo/sub.c b/libvo/sub.c
index d5a431a67b..59da99fac6 100644
--- a/libvo/sub.c
+++ b/libvo/sub.c
@@ -443,6 +443,7 @@ void vo_remove_text(int dxs,int dys,void (*remove)(int x0,int y0, int w,int h)){
}
// obj->flags&=~OSDFLAG_OLD_BBOX;
}
+ obj=obj->next;
}
}
@@ -493,3 +494,19 @@ int vo_osd_changed(int new_value)
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;
+}
diff --git a/libvo/sub.h b/libvo/sub.h
index bbfcc4821e..255f6fd592 100644
--- a/libvo/sub.h
+++ b/libvo/sub.h
@@ -89,6 +89,7 @@ extern char * __sub_osd_names_short[];
//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);