From 241fcaa64567489ab592f391da66af71528ce373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 11 Mar 2016 13:15:03 +0000 Subject: Revert "textoverlay: Do not limit positioning to video area." This reverts commit a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602. This changed behaviour in a way that's not always backwards-compatible. https://bugzilla.gnome.org/show_bug.cgi?id=761251 --- ext/pango/gstbasetextoverlay.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c index af61e3bac..669b0c231 100644 --- a/ext/pango/gstbasetextoverlay.c +++ b/ext/pango/gstbasetextoverlay.c @@ -445,8 +445,8 @@ gst_base_text_overlay_class_init (GstBaseTextOverlayClass * klass) */ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_XPOS, g_param_spec_double ("xpos", "horizontal position", - "Horizontal position when using position alignment", -G_MAXDOUBLE, - G_MAXDOUBLE, DEFAULT_PROP_XPOS, + "Horizontal position when using position alignment", 0, 1.0, + DEFAULT_PROP_XPOS, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS)); /** * GstBaseTextOverlay:ypos: @@ -455,8 +455,8 @@ gst_base_text_overlay_class_init (GstBaseTextOverlayClass * klass) */ g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_YPOS, g_param_spec_double ("ypos", "vertical position", - "Vertical position when using position alignment", -G_MAXDOUBLE, - G_MAXDOUBLE, DEFAULT_PROP_YPOS, + "Vertical position when using position alignment", 0, 1.0, + DEFAULT_PROP_YPOS, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_WRAP_MODE, g_param_spec_enum ("wrap-mode", "wrap mode", @@ -1492,6 +1492,9 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay, break; case GST_BASE_TEXT_OVERLAY_HALIGN_POS: *xpos += (gint) (overlay->width * overlay->xpos) - width / 2; + *xpos = CLAMP (*xpos, 0, overlay->width - overlay->ink_rect.width); + if (*xpos < 0) + *xpos = 0; break; default: *xpos = 0; @@ -1516,6 +1519,7 @@ gst_base_text_overlay_get_pos (GstBaseTextOverlay * overlay, break; case GST_BASE_TEXT_OVERLAY_VALIGN_POS: *ypos = (gint) (overlay->height * overlay->ypos) - height / 2; + *ypos = CLAMP (*ypos, 0, overlay->height - overlay->ink_rect.height); break; case GST_BASE_TEXT_OVERLAY_VALIGN_CENTER: *ypos = (overlay->height - height) / 2; -- cgit v1.2.1