summaryrefslogtreecommitdiffstats
path: root/sub/osd.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-03-06 18:20:11 +0100
committerwm4 <wm4@nowhere>2020-03-06 18:20:11 +0100
commit7a76b577d85ddc8f9e255b1a1c195ee88b76a7d8 (patch)
treecf51a99eae3a5356680480a72c6fb81dbb7d8d91 /sub/osd.h
parentc6822b853d7475e8bf3b2c9f6823b7d74cf86950 (diff)
downloadmpv-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/osd.h')
-rw-r--r--sub/osd.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sub/osd.h b/sub/osd.h
index 31b3dd532b..5a6809817f 100644
--- a/sub/osd.h
+++ b/sub/osd.h
@@ -209,6 +209,9 @@ struct osd_external_ass {
char *data;
int res_x, res_y;
int z;
+ bool hidden;
+
+ double *out_rc; // hack to pass boundary rect, [x0, y0, x1, y1]
};
// defined in osd_libass.c and osd_dummy.c