diff options
author | wm4 <wm4@nowhere> | 2020-03-06 18:20:11 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-03-06 18:20:11 +0100 |
commit | 7a76b577d85ddc8f9e255b1a1c195ee88b76a7d8 (patch) | |
tree | cf51a99eae3a5356680480a72c6fb81dbb7d8d91 /sub/ass_mp.h | |
parent | c6822b853d7475e8bf3b2c9f6823b7d74cf86950 (diff) | |
download | mpv-7a76b577d85ddc8f9e255b1a1c195ee88b76a7d8.tar.bz2 mpv-7a76b577d85ddc8f9e255b1a1c195ee88b76a7d8.tar.xz |
command: extend osd-overlay command with bounds reporting
This is more or less a minimal hack to make _some_ text measurement
functionality available to scripts. Since libass does not support such a
thing, this simply uses the bounding box of the rendered text.
This is far from ideal. Problems include:
- using a bitmap bounding box
- additional memory waste and/or flushing caches
- dependency on window size
- odd small deviations with different window sizes (run osd-test.lua and
resize the window after each timer update; the bounding boxes aren't
adjusted in an overly useful way)
- inability to query the size _after_ actual rendering
But I guess it's a start. Since I'm aware that it's crap, add a threat
to the manpage that this may be changed/removed again. For now, I'm
interested whether anyone will have use for it in its current form, as
it's an often requested feature.
Diffstat (limited to 'sub/ass_mp.h')
-rw-r--r-- | sub/ass_mp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sub/ass_mp.h b/sub/ass_mp.h index 4ebb7f39a6..f4488bf8c7 100644 --- a/sub/ass_mp.h +++ b/sub/ass_mp.h @@ -55,5 +55,7 @@ struct mp_ass_packer *mp_ass_packer_alloc(void *ta_parent); void mp_ass_packer_pack(struct mp_ass_packer *p, ASS_Image **image_lists, int num_image_lists, bool changed, int preferred_osd_format, struct sub_bitmaps *out); +void mp_ass_get_bb(ASS_Image *image_list, ASS_Track *track, + struct mp_osd_res *res, double *out_rc); #endif /* MPLAYER_ASS_MP_H */ |