| |
| #ifndef __GST_CAIRO_TEXT_OVERLAY_H__ |
| #define __GST_CAIRO_TEXT_OVERLAY_H__ |
| |
| #include <gst/gst.h> |
| #include <gst/base/gstcollectpads.h> |
| |
| G_BEGIN_DECLS |
| |
| #define GST_TYPE_CAIRO_TEXT_OVERLAY (gst_text_overlay_get_type()) |
| #define GST_CAIRO_TEXT_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\ |
| GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlay)) |
| #define GST_CAIRO_TEXT_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),\ |
| GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlayClass)) |
| #define GST_CAIRO_TEXT_OVERLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\ |
| GST_TYPE_CAIRO_TEXT_OVERLAY, GstCairoTextOverlayClass)) |
| #define GST_IS_CAIRO_TEXT_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),\ |
| GST_TYPE_CAIRO_TEXT_OVERLAY)) |
| #define GST_IS_CAIRO_TEXT_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),\ |
| GST_TYPE_CAIRO_TEXT_OVERLAY)) |
| |
| typedef struct _GstCairoTextOverlay GstCairoTextOverlay; |
| typedef struct _GstCairoTextOverlayClass GstCairoTextOverlayClass; |
| |
| typedef enum _GstCairoTextOverlayVAlign GstCairoTextOverlayVAlign; |
| typedef enum _GstCairoTextOverlayHAlign GstCairoTextOverlayHAlign; |
| |
| enum _GstCairoTextOverlayVAlign { |
| GST_CAIRO_TEXT_OVERLAY_VALIGN_BASELINE, |
| GST_CAIRO_TEXT_OVERLAY_VALIGN_BOTTOM, |
| GST_CAIRO_TEXT_OVERLAY_VALIGN_TOP |
| }; |
| |
| enum _GstCairoTextOverlayHAlign { |
| GST_CAIRO_TEXT_OVERLAY_HALIGN_LEFT, |
| GST_CAIRO_TEXT_OVERLAY_HALIGN_CENTER, |
| GST_CAIRO_TEXT_OVERLAY_HALIGN_RIGHT |
| }; |
| |
| |
| struct _GstCairoTextOverlay { |
| GstElement element; |
| |
| GstPad *video_sinkpad; |
| GstPad *text_sinkpad; |
| GstPad *srcpad; |
| |
| GstCollectPads *collect; |
| GstCollectData *video_collect_data; |
| GstCollectData *text_collect_data; |
| GstPadEventFunction collect_event; |
| |
| gint width; |
| gint height; |
| gint fps_n; |
| gint fps_d; |
| |
| GstCairoTextOverlayVAlign valign; |
| GstCairoTextOverlayHAlign halign; |
| gint xpad; |
| gint ypad; |
| gint deltax; |
| gint deltay; |
| gchar *default_text; |
| gboolean want_shading; |
| |
| guchar *text_fill_image; |
| guchar *text_outline_image; |
| gint font_height; |
| gint text_x0, text_x1; /* start/end x position of text */ |
| gint text_dy; |
| |
| gboolean need_render; |
| |
| gchar *font; |
| gint slant; |
| gint weight; |
| gdouble scale; |
| gboolean silent; |
| }; |
| |
| struct _GstCairoTextOverlayClass { |
| GstElementClass parent_class; |
| }; |
| |
| GType gst_text_overlay_get_type (void); |
| |
| G_END_DECLS |
| |
| #endif /* __GST_CAIRO_TEXT_OVERLAY_H */ |