diff -r 000000000000 -r 0e761a78d257 gst_plugins_base/gst-libs/gst/interfaces/colorbalance.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gst_plugins_base/gst-libs/gst/interfaces/colorbalance.h Thu Dec 17 08:53:32 2009 +0200 @@ -0,0 +1,116 @@ +/* GStreamer Color Balance + * Copyright (C) 2003 Ronald Bultje + * + * color-balance.h: image color balance interface design + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GST_COLOR_BALANCE_H__ +#define __GST_COLOR_BALANCE_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +#define GST_TYPE_COLOR_BALANCE \ + (gst_color_balance_get_type ()) +#define GST_COLOR_BALANCE(obj) \ + (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_COLOR_BALANCE, \ + GstColorBalance)) +#define GST_COLOR_BALANCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_COLOR_BALANCE, \ + GstColorBalanceClass)) +#define GST_IS_COLOR_BALANCE(obj) \ + (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE)) +#define GST_IS_COLOR_BALANCE_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE)) +#define GST_COLOR_BALANCE_GET_CLASS(inst) \ + (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass)) + +#define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type) + +typedef struct _GstColorBalance GstColorBalance; + +typedef enum +{ + GST_COLOR_BALANCE_HARDWARE, + GST_COLOR_BALANCE_SOFTWARE +} GstColorBalanceType; + +typedef struct _GstColorBalanceClass { + GTypeInterface klass; + + GstColorBalanceType balance_type; + + /* virtual functions */ + const GList * (* list_channels) (GstColorBalance *balance); + + void (* set_value) (GstColorBalance *balance, + GstColorBalanceChannel *channel, + gint value); + gint (* get_value) (GstColorBalance *balance, + GstColorBalanceChannel *channel); + + /* signals */ + void (* value_changed) (GstColorBalance *balance, + GstColorBalanceChannel *channel, + gint value); + + gpointer _gst_reserved[GST_PADDING]; +} GstColorBalanceClass; +#ifdef __SYMBIAN32__ +IMPORT_C +#endif + + +GType gst_color_balance_get_type (void); + +/* virtual class function wrappers */ +#ifdef __SYMBIAN32__ +IMPORT_C +#endif + +const GList * + gst_color_balance_list_channels (GstColorBalance *balance); +#ifdef __SYMBIAN32__ +IMPORT_C +#endif + +void gst_color_balance_set_value (GstColorBalance *balance, + GstColorBalanceChannel *channel, + gint value); +#ifdef __SYMBIAN32__ +IMPORT_C +#endif + +gint gst_color_balance_get_value (GstColorBalance *balance, + GstColorBalanceChannel *channel); + +/* trigger signal */ +#ifdef __SYMBIAN32__ +IMPORT_C +#endif + +void gst_color_balance_value_changed (GstColorBalance *balance, + GstColorBalanceChannel *channel, + gint value); + +G_END_DECLS + +#endif /* __GST_COLOR_BALANCE_H__ */