summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2016-03-11 13:15:03 +0000
committerTim-Philipp Müller <tim@centricular.com>2016-03-11 13:15:53 +0000
commit241fcaa64567489ab592f391da66af71528ce373 (patch)
tree661bafe8108ea8b455ed2feb28472b752f94c262
parent747bf129592de4efe12b53c303295aaeea9189ac (diff)
downloadgstreamer-plugins-base-241fcaa64567489ab592f391da66af71528ce373.tar.gz
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
-rw-r--r--ext/pango/gstbasetextoverlay.c12
1 files 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;