diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-16 00:35:01 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-16 00:35:01 +0000 |
commit | 5bb2eef3a1c784a6acca696a7917993d10e3566f (patch) | |
tree | cdcb3da24d76a4cd967be88f5dc6f9915d73e1d7 | |
parent | d7e0d04376c0586d72b0f45ebe25168725f067c6 (diff) | |
download | mpv-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
-rw-r--r-- | libvo/sub.c | 17 | ||||
-rw-r--r-- | libvo/sub.h | 1 |
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); |