summaryrefslogtreecommitdiffstats
path: root/video/out/gl_osd.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/gl_osd.h')
-rw-r--r--video/out/gl_osd.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/video/out/gl_osd.h b/video/out/gl_osd.h
index cf3182ffb2..91c7a6f552 100644
--- a/video/out/gl_osd.h
+++ b/video/out/gl_osd.h
@@ -10,6 +10,7 @@
struct mpgl_osd_part {
enum sub_bitmap_format format;
int bitmap_id, bitmap_pos_id;
+ bool active;
GLuint texture;
int w, h;
GLuint buffer;
@@ -31,13 +32,20 @@ struct mpgl_osd {
struct mpgl_osd *mpgl_osd_init(GL *gl, bool legacy);
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, struct osd_state *osd,
struct mp_osd_res res);
+void mpgl_osd_draw_cb(struct mpgl_osd *ctx,
+ struct osd_state *osd,
+ 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