alpha.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_ALPHA_H
00004 #define _CLUTTERMM_ALPHA_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <glibmm/object.h>
00027 #include <cluttermm/timeline.h>
00028 #include <clutter/clutter.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _ClutterAlpha ClutterAlpha;
00033 typedef struct _ClutterAlphaClass ClutterAlphaClass;
00034 #endif
00035
00036
00037 namespace Clutter
00038 { class Alpha_Class; }
00039 namespace Clutter
00040 {
00041
00042
00043 class Alpha : public Glib::Object
00044 {
00045
00046 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00047
00048 public:
00049 typedef Alpha CppObjectType;
00050 typedef Alpha_Class CppClassType;
00051 typedef ClutterAlpha BaseObjectType;
00052 typedef ClutterAlphaClass BaseClassType;
00053
00054 private: friend class Alpha_Class;
00055 static CppClassType alpha_class_;
00056
00057 private:
00058
00059 Alpha(const Alpha&);
00060 Alpha& operator=(const Alpha&);
00061
00062 protected:
00063 explicit Alpha(const Glib::ConstructParams& construct_params);
00064 explicit Alpha(ClutterAlpha* castitem);
00065
00066 #endif
00067
00068 public:
00069 virtual ~Alpha();
00070
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072 static GType get_type() G_GNUC_CONST;
00073 static GType get_base_type() G_GNUC_CONST;
00074 #endif
00075
00077 ClutterAlpha* gobj() { return reinterpret_cast<ClutterAlpha*>(gobject_); }
00078
00080 const ClutterAlpha* gobj() const { return reinterpret_cast<ClutterAlpha*>(gobject_); }
00081
00083 ClutterAlpha* gobj_copy();
00084
00085 private:
00086
00087
00088 public:
00092 typedef sigc::slot<guint32, const Glib::RefPtr<Alpha>&> SlotAlphaFunc;
00093
00096 static guint32 ramp_inc_func(const Glib::RefPtr<Alpha>& alpha);
00097 static guint32 ramp_dec_func(const Glib::RefPtr<Alpha>& alpha);
00098 static guint32 ramp_func(const Glib::RefPtr<Alpha>& alpha);
00099 static guint32 sine_func(const Glib::RefPtr<Alpha>& alpha);
00100 static guint32 sine_inc_func(const Glib::RefPtr<Alpha>& alpha);
00101 static guint32 sine_dec_func(const Glib::RefPtr<Alpha>& alpha);
00102 static guint32 sine_half_func(const Glib::RefPtr<Alpha>& alpha);
00103 static guint32 square_func(const Glib::RefPtr<Alpha>& alpha);
00104 static guint32 smoothstep_inc_func(const Glib::RefPtr<Alpha>& alpha);
00105 static guint32 smoothstep_dec_func(const Glib::RefPtr<Alpha>& alpha);
00106 static guint32 exp_inc_func(const Glib::RefPtr<Alpha>& alpha);
00107 static guint32 exp_dec_func(const Glib::RefPtr<Alpha>& alpha);
00109
00110 protected:
00111 Alpha();
00112
00117 Alpha(const Glib::RefPtr<Timeline>& timeline, const SlotAlphaFunc& slot);
00118
00119 public:
00120 enum { MAX_ALPHA = 0xFFFF };
00121
00122
00123 static Glib::RefPtr<Alpha> create();
00124
00125
00126 static Glib::RefPtr<Alpha> create(const Glib::RefPtr<Timeline>& timeline, const SlotAlphaFunc& slot);
00127
00128
00134 void set_timeline(const Glib::RefPtr<Timeline>& timeline);
00135
00141 Glib::RefPtr<Timeline> get_timeline() const;
00142
00148 guint32 get_alpha() const;
00149
00150
00151 void set_func(const SlotAlphaFunc& slot);
00152
00153 #ifdef GLIBMM_PROPERTIES_ENABLED
00154
00160 Glib::PropertyProxy_ReadOnly<guint> property_alpha() const;
00161 #endif //#GLIBMM_PROPERTIES_ENABLED
00162
00163
00164 #ifdef GLIBMM_PROPERTIES_ENABLED
00165
00171 Glib::PropertyProxy< Glib::RefPtr<Timeline> > property_timeline() ;
00172 #endif //#GLIBMM_PROPERTIES_ENABLED
00173
00174 #ifdef GLIBMM_PROPERTIES_ENABLED
00175
00181 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Timeline> > property_timeline() const;
00182 #endif //#GLIBMM_PROPERTIES_ENABLED
00183
00184
00185
00186
00187
00188 public:
00189
00190 public:
00191
00192 #ifdef GLIBMM_VFUNCS_ENABLED
00193 #endif //GLIBMM_VFUNCS_ENABLED
00194
00195 protected:
00196
00197 #ifdef GLIBMM_VFUNCS_ENABLED
00198 #endif //GLIBMM_VFUNCS_ENABLED
00199
00200
00201 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00202 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00203
00204
00205 };
00206
00207 }
00208
00209
00210 namespace Glib
00211 {
00220 Glib::RefPtr<Clutter::Alpha> wrap(ClutterAlpha* object, bool take_copy = false);
00221 }
00222
00223
00224 #endif
00225