rpms/gstreamer-plugins-base/OLPC-2 gst-textoverlay-pango-align.patch, NONE, 1.1 gstreamer-plugins-base.spec, 1.29, 1.30

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Sun Jul 22 20:46:21 UTC 2007


Author: dcbw

Update of /cvs/extras/rpms/gstreamer-plugins-base/OLPC-2
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv21561

Modified Files:
	gstreamer-plugins-base.spec 
Added Files:
	gst-textoverlay-pango-align.patch 
Log Message:
* Sun Jul 22 2007 Dan Williams <dcbw at redhat.com> - 0.10.12-4.2
- Add "line-align" property for textoverlay element



gst-textoverlay-pango-align.patch:

--- NEW FILE gst-textoverlay-pango-align.patch ---
--- gst-plugins-base-0.10.12/ext/pango/gsttextoverlay.c.pango-align	2007-07-22 09:39:06.000000000 -0400
+++ gst-plugins-base-0.10.12/ext/pango/gsttextoverlay.c	2007-07-22 16:30:17.000000000 -0400
@@ -114,6 +114,7 @@ GST_ELEMENT_DETAILS ("Text overlay",
 #define DEFAULT_PROP_DELTAY	0
 #define DEFAULT_PROP_WRAP_MODE  GST_TEXT_OVERLAY_WRAP_MODE_WORD_CHAR
 #define DEFAULT_PROP_FONT_DESC	""
+#define DEFAULT_PROP_LINE_ALIGN	GST_TEXT_OVERLAY_LINE_ALIGN_CENTER
 
 /* make a property of me */
 #define DEFAULT_SHADING_VALUE    -80
@@ -132,7 +133,8 @@ enum
   PROP_DELTAX,
   PROP_DELTAY,
   PROP_WRAP_MODE,
-  PROP_FONT_DESC
+  PROP_FONT_DESC,
+  PROP_LINE_ALIGN
 };
 
 
@@ -218,6 +220,26 @@ gst_text_overlay_wrap_mode_get_type (voi
   return text_overlay_wrap_mode_type;
 }
 
+#define GST_TYPE_TEXT_OVERLAY_LINE_ALIGN (gst_text_overlay_line_align_get_type())
+static GType
+gst_text_overlay_line_align_get_type (void)
+{
+  static GType text_overlay_line_align_type = 0;
+  static const GEnumValue text_overlay_line_align[] = {
+    {GST_TEXT_OVERLAY_LINE_ALIGN_LEFT, "left", "left"},
+    {GST_TEXT_OVERLAY_LINE_ALIGN_CENTER, "center", "center"},
+    {GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT, "right", "right"},
+    {0, NULL, NULL},
+  };
+
+  if (!text_overlay_line_align_type) {
+    text_overlay_line_align_type =
+        g_enum_register_static ("GstTextOverlayLineAlign",
+        text_overlay_line_align);
+  }
+  return text_overlay_line_align_type;
+}
+
 /* These macros are adapted from videotestsrc.c */
 #define I420_Y_ROWSTRIDE(width) (GST_ROUND_UP_4(width))
 #define I420_U_ROWSTRIDE(width) (GST_ROUND_UP_8(width)/2)
@@ -356,6 +378,11 @@ gst_text_overlay_class_init (GstTextOver
           "Pango font description of font to be used for rendering. "
           "See documentation of pango_font_description_from_string "
           "for syntax.", DEFAULT_PROP_FONT_DESC, G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_LINE_ALIGN,
+      g_param_spec_enum ("line-align", "line alignment",
+          "Alignment of text lines relative to each other.",
+          GST_TYPE_TEXT_OVERLAY_LINE_ALIGN, DEFAULT_PROP_LINE_ALIGN,
+          G_PARAM_READWRITE));
 }
 
 static void
@@ -436,9 +463,10 @@ gst_text_overlay_init (GstTextOverlay * 
       GST_DEBUG_FUNCPTR (gst_text_overlay_src_event));
   gst_element_add_pad (GST_ELEMENT (overlay), overlay->srcpad);
 
+  overlay->line_align = DEFAULT_PROP_LINE_ALIGN;
   overlay->layout =
       pango_layout_new (GST_TEXT_OVERLAY_GET_CLASS (overlay)->pango_context);
-  pango_layout_set_alignment (overlay->layout, PANGO_ALIGN_CENTER);
+  pango_layout_set_alignment (overlay->layout, overlay->line_align);
   memset (&overlay->bitmap, 0, sizeof (overlay->bitmap));
 
   overlay->halign = DEFAULT_PROP_HALIGNMENT;
@@ -630,6 +658,10 @@ gst_text_overlay_set_property (GObject *
       }
       break;
     }
+    case PROP_LINE_ALIGN:
+      overlay->line_align = g_value_get_enum (value);
+      pango_layout_set_alignment (overlay->layout, overlay->line_align);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -674,6 +706,9 @@ gst_text_overlay_get_property (GObject *
     case PROP_WRAP_MODE:
       g_value_set_enum (value, overlay->wrap_mode);
       break;
+    case PROP_LINE_ALIGN:
+      g_value_set_enum (value, overlay->line_align);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
--- gst-plugins-base-0.10.12/ext/pango/gsttextoverlay.h.pango-align	2007-07-22 09:44:15.000000000 -0400
+++ gst-plugins-base-0.10.12/ext/pango/gsttextoverlay.h	2007-07-22 16:26:20.000000000 -0400
@@ -66,6 +66,20 @@ typedef enum {
 } GstTextOverlayWrapMode;
 
 /**
+ * GstTextOverlayLineAlign:
+ * @GST_TEXT_OVERLAY_LINE_ALIGN_LEFT: lines are left-aligned
+ * @GST_TEXT_OVERLAY_LINE_ALIGN_CENTER: lines are center-aligned
+ * @GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT: lines are right-aligned
+ *
+ * Alignment of text lines relative to each other
+ */
+typedef enum {
+    GST_TEXT_OVERLAY_LINE_ALIGN_LEFT = PANGO_ALIGN_LEFT,
+    GST_TEXT_OVERLAY_LINE_ALIGN_CENTER = PANGO_ALIGN_CENTER,
+    GST_TEXT_OVERLAY_LINE_ALIGN_RIGHT = PANGO_ALIGN_RIGHT
+} GstTextOverlayLineAlign;
+
+/**
  * GstTextOverlay:
  *
  * Opaque textoverlay object structure
@@ -98,6 +112,7 @@ struct _GstTextOverlay {
     GstTextOverlayVAlign     valign;
     GstTextOverlayHAlign     halign;
     GstTextOverlayWrapMode   wrap_mode;
+    GstTextOverlayLineAlign  line_align;
 
     gint                     xpad;
     gint                     ypad;


Index: gstreamer-plugins-base.spec
===================================================================
RCS file: /cvs/extras/rpms/gstreamer-plugins-base/OLPC-2/gstreamer-plugins-base.spec,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- gstreamer-plugins-base.spec	22 Jul 2007 04:42:05 -0000	1.29
+++ gstreamer-plugins-base.spec	22 Jul 2007 20:45:48 -0000	1.30
@@ -5,7 +5,7 @@
 
 Name: 		%{gstreamer}-plugins-base
 Version: 	0.10.12
-Release:  	4.1%{?dist}	
+Release:  	4.2%{?dist}	
 Summary: 	GStreamer streaming media framework base plug-ins
 
 Group: 		Applications/Multimedia
@@ -25,6 +25,7 @@
 Patch12:    gstplaybin-handle-unknown-caps-143-144.patch
 Patch13:    gstplaybin-stop-buffering-144-145.patch
 Patch14:    gstplaybin-make-reuse-work-146-147.patch
+Patch15:    gst-textoverlay-pango-align.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -72,6 +73,7 @@
 %patch12 -p1 -b .handle-unknown-caps
 %patch13 -p1 -b .stop-buffering
 %patch14 -p1 -b .make-reuse-work
+%patch15 -p1 -b .line-align
 
 
 %build
@@ -231,6 +233,9 @@
 %doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor}
 
 %changelog
+* Sun Jul 22 2007 Dan Williams <dcbw at redhat.com> - 0.10.12-4.2
+- Add "line-align" property for textoverlay element
+
 * Sun Jul 22 2007 Dan Williams <dcbw at redhat.com> - 0.10.12-4.1
 - Pile of fixes for playbin
 




More information about the fedora-extras-commits mailing list