summaryrefslogtreecommitdiffstats
path: root/video/out/gl_osd.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-06-15 23:58:33 +0200
committerwm4 <wm4@nowhere>2014-06-16 01:00:59 +0200
commiteca0fcb77a95793b31b6447e0c91bf4d4045efeb (patch)
tree1f244579f55c72b403804ccb8c05d5a8081126d3 /video/out/gl_osd.h
parentc5e13cce52fbf4cd45ec0c6220fe2e5f056bb2cd (diff)
downloadmpv-eca0fcb77a95793b31b6447e0c91bf4d4045efeb.tar.bz2
mpv-eca0fcb77a95793b31b6447e0c91bf4d4045efeb.tar.xz
vo_opengl: simplify redraw callback OSD handling
OSD used to be not thread-safe at all, so a track was used to get it redrawn. This mostly reverts commit 6a2a8880, because OSD not being thread-safe was the non-trivial part of it. Mostly untested, because this code path is used on OSX only, and I don't have OSX.
Diffstat (limited to 'video/out/gl_osd.h')
-rw-r--r--video/out/gl_osd.h14
1 files changed, 3 insertions, 11 deletions
diff --git a/video/out/gl_osd.h b/video/out/gl_osd.h
index e4c4502a2a..c91cc1e53f 100644
--- a/video/out/gl_osd.h
+++ b/video/out/gl_osd.h
@@ -10,7 +10,6 @@
struct mpgl_osd_part {
enum sub_bitmap_format format;
int bitmap_id, bitmap_pos_id;
- bool active;
GLuint texture;
int w, h;
GLuint buffer;
@@ -34,20 +33,13 @@ struct mpgl_osd {
struct mpgl_osd *mpgl_osd_init(GL *gl, struct mp_log *log, struct osd_state *osd);
void mpgl_osd_destroy(struct mpgl_osd *ctx);
+struct mpgl_osd_part *mpgl_osd_generate(struct mpgl_osd *ctx,
+ struct sub_bitmaps *b);
+
void mpgl_osd_set_gl_state(struct mpgl_osd *ctx, struct mpgl_osd_part *p);
void mpgl_osd_unset_gl_state(struct mpgl_osd *ctx, struct mpgl_osd_part *p);
void mpgl_osd_draw_legacy(struct mpgl_osd *ctx, double pts,
struct mp_osd_res res);
-void mpgl_osd_draw_cb(struct mpgl_osd *ctx,
- double pts,
- struct mp_osd_res res,
- void (*cb)(void *ctx, struct mpgl_osd_part *part,
- struct sub_bitmaps *imgs),
- void *cb_ctx);
-void mpgl_osd_redraw_cb(struct mpgl_osd *ctx,
- void (*cb)(void *ctx, struct mpgl_osd_part *part,
- struct sub_bitmaps *imgs),
- void *cb_ctx);
#endif