2 #ifndef __GST_CAIRO_TEXT_OVERLAY_H__
3 #define __GST_CAIRO_TEXT_OVERLAY_H__
6 #include <gst/base/gstcollectpads.h>
10 #define GST_TYPE_CAIRO_TEXT_OVERLAY (gst_text_overlay_get_type())
11 #define GST_CAIRO_TEXT_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
12 GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlay))
13 #define GST_CAIRO_TEXT_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\
14 GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlayClass))
15 #define GST_CAIRO_TEXT_OVERLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
16 GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlayClass))
17 #define GST_IS_CAIRO_TEXT_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\
18 GST_TYPE_CAIRO_TEXT_OVERLAY))
19 #define GST_IS_CAIRO_TEXT_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\
20 GST_TYPE_CAIRO_TEXT_OVERLAY))
22 typedef struct _GstCairoTextOverlay GstCairoTextOverlay;
23 typedef struct _GstCairoTextOverlayClass GstCairoTextOverlayClass;
25 typedef enum _GstCairoTextOverlayVAlign GstCairoTextOverlayVAlign;
26 typedef enum _GstCairoTextOverlayHAlign GstCairoTextOverlayHAlign;
28 enum _GstCairoTextOverlayVAlign {
29 GST_CAIRO_TEXT_OVERLAY_VALIGN_BASELINE,
30 GST_CAIRO_TEXT_OVERLAY_VALIGN_BOTTOM,
31 GST_CAIRO_TEXT_OVERLAY_VALIGN_TOP
34 enum _GstCairoTextOverlayHAlign {
35 GST_CAIRO_TEXT_OVERLAY_HALIGN_LEFT,
36 GST_CAIRO_TEXT_OVERLAY_HALIGN_CENTER,
37 GST_CAIRO_TEXT_OVERLAY_HALIGN_RIGHT
41 struct _GstCairoTextOverlay {
44 GstPad *video_sinkpad;
48 GstCollectPads *collect;
49 GstCollectData *video_collect_data;
50 GstCollectData *text_collect_data;
57 GstCairoTextOverlayVAlign valign;
58 GstCairoTextOverlayHAlign halign;
64 gboolean want_shading;
66 guchar *text_fill_image;
67 guchar *text_outline_image;
69 gint text_x0, text_x1; /* start/end x position of text */
80 struct _GstCairoTextOverlayClass {
81 GstElementClass parent_class;
84 GType gst_text_overlay_get_type (void);
88 #endif /* __GST_CAIRO_TEXT_OVERLAY_H */