From a6fdf5997a33fa7b2c557846f4ac7eded4dba0ac Mon Sep 17 00:00:00 2001 From: Zeeshan Ali Date: Tue, 13 Jan 2004 00:40:31 +0000 Subject: Anti-aliasing is now an option. Original commit message from CVS: Anti-aliasing is now an option. --- ext/libcaca/gstcacasink.c | 27 +++++++++++++++++++++++++-- ext/libcaca/gstcacasink.h | 1 + 2 files changed, 26 insertions(+), 2 deletions(-) (limited to 'ext/libcaca') diff --git a/ext/libcaca/gstcacasink.c b/ext/libcaca/gstcacasink.c index a48cba60..058c3527 100644 --- a/ext/libcaca/gstcacasink.c +++ b/ext/libcaca/gstcacasink.c @@ -46,6 +46,7 @@ enum { ARG_SCREEN_WIDTH, ARG_SCREEN_HEIGHT, ARG_DITHER, + ARG_ANTIALIASING }; static GstStaticPadTemplate sink_template = @@ -178,8 +179,11 @@ gst_cacasink_class_init (GstCACASinkClass *klass) g_param_spec_int("screen_height","screen_height","screen_height", G_MININT,G_MAXINT,0,G_PARAM_READABLE)); /* CHECKME */ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DITHER, - g_param_spec_enum("dither","dither","dither", + g_param_spec_enum("dither","Dither Type","Set type of Dither", GST_TYPE_CACADITHER, 0, G_PARAM_READWRITE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ANTIALIASING, + g_param_spec_boolean ("anti_aliasing", "Anti-Aliasing", + "Enables Anti-Aliasing", TRUE, G_PARAM_READWRITE)); gobject_class->set_property = gst_cacasink_set_property; gobject_class->get_property = gst_cacasink_get_property; @@ -302,7 +306,11 @@ gst_cacasink_init (GstCACASink *cacasink) cacasink->screen_width = caca_get_width (); cacasink->screen_height = caca_get_height (); - + cacasink->antialiasing = TRUE; + caca_set_feature (CACA_ANTIALIASING_MAX); + cacasink->dither = 0; + caca_set_dithering (CACA_DITHERING_NONE); + GST_FLAG_SET(cacasink, GST_ELEMENT_THREAD_SUGGESTED); } @@ -380,6 +388,17 @@ gst_cacasink_set_property (GObject *object, guint prop_id, const GValue *value, caca_set_dithering (cacasink->dither + CACA_DITHERING_NONE); break; } + case ARG_ANTIALIASING: { + cacasink->antialiasing = g_value_get_boolean (value); + if (cacasink->antialiasing) { + caca_set_feature (CACA_ANTIALIASING_MAX); + } + + else { + caca_set_feature (CACA_ANTIALIASING_MIN); + } + break; + } default: break; } @@ -406,6 +425,10 @@ gst_cacasink_get_property (GObject *object, guint prop_id, GValue *value, GParam g_value_set_enum (value, cacasink->dither); break; } + case ARG_ANTIALIASING: { + g_value_set_boolean (value, cacasink->antialiasing); + break; + } default: { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; diff --git a/ext/libcaca/gstcacasink.h b/ext/libcaca/gstcacasink.h index 4d1e1c0d..0aa63c8a 100644 --- a/ext/libcaca/gstcacasink.h +++ b/ext/libcaca/gstcacasink.h @@ -71,6 +71,7 @@ struct _GstCACASink { gint screen_width, screen_height; guint bpp; guint dither; + gboolean antialiasing; guint red_mask, green_mask, blue_mask; gint64 correction; -- cgit