media.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_MEDIA_H
00004 #define _CLUTTERMM_MEDIA_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* Copyright (C) 2007 The cluttermm Development Team
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Library General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library General Public
00022  * License along with this library; if not, write to the Free
00023  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00024  */
00025 
00026 #include <glibmm/interface.h>
00027 #include <glibmm/ustring.h>
00028 #include <clutter/clutter-media.h>
00029  
00030 
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _ClutterMedia ClutterMedia;
00033 typedef struct _ClutterMediaClass ClutterMediaClass;
00034 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00035 
00036 
00037 namespace Clutter
00038 { class Media_Class; } // namespace Clutter
00039 namespace Clutter
00040 {
00041 
00042 
00043 class Media : public Glib::Interface
00044 {
00045   
00046 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00047 
00048 public:
00049   typedef Media CppObjectType;
00050   typedef Media_Class CppClassType;
00051   typedef ClutterMedia BaseObjectType;
00052   typedef ClutterMediaInterface BaseClassType;
00053 
00054 private:
00055   friend class Media_Class;
00056   static CppClassType media_class_;
00057 
00058   // noncopyable
00059   Media(const Media&);
00060   Media& operator=(const Media&);
00061 
00062 protected:
00063   Media(); // you must derive from this class
00064 
00071   explicit Media(const Glib::Interface_Class& interface_class);
00072 
00073 public:
00074   // This is public so that C++ wrapper instances can be
00075   // created for C instances of unwrapped types.
00076   // For instance, if an unexpected C type implements the C interface. 
00077   explicit Media(ClutterMedia* castitem);
00078 
00079 protected:
00080 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00081 
00082 public:
00083   virtual ~Media();
00084 
00085   static void add_interface(GType gtype_implementer);
00086 
00087 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00088   static GType get_type()      G_GNUC_CONST;
00089   static GType get_base_type() G_GNUC_CONST;
00090 #endif
00091 
00093   ClutterMedia*       gobj()       { return reinterpret_cast<ClutterMedia*>(gobject_); }
00094 
00096   const ClutterMedia* gobj() const { return reinterpret_cast<ClutterMedia*>(gobject_); }
00097 
00098 private:
00099 
00100 
00101 public:
00102 
00103   
00107   void set_uri(const Glib::ustring& uri);
00108   
00112   Glib::ustring get_uri() const;
00113   
00117   void set_playing(bool playing=true);
00118   
00122   bool get_playing() const;
00123   
00127   void set_position(int position);
00128   
00132   int get_position() const;
00133   
00137   void set_volume(double volume);
00138   
00142   double get_volume() const;
00143   
00147   int get_buffer_percent() const;
00148   
00152   void set_filename(const Glib::ustring& filename);
00153   
00157   bool get_can_seek() const;
00158   
00162   int get_duration() const;
00163 
00164 
00165   // TODO: these aren't in the signals.defs file yet
00166   //_WRAP_SIGNAL(void eos(), "eos")
00167   // TODO: figure out what to do with this GError parameter
00168   //_WRAP_SIGNAL(void error(GError* error), "error")
00169 
00170 protected:
00171 
00172  
00173   #ifdef GLIBMM_VFUNCS_ENABLED
00174   virtual void set_uri_vfunc(const Glib::ustring& uri);
00175 #endif //GLIBMM_VFUNCS_ENABLED
00176 
00177 
00178   // TODO: error "No conversion from Glib::ustring to const char* defined", even
00179   // though it works above in get_uri
00180   //_WRAP_VFUNC(Glib::ustring get_uri() const, get_uri)
00181   #ifdef GLIBMM_VFUNCS_ENABLED
00182   virtual void set_playing_vfunc(bool playing);
00183 #endif //GLIBMM_VFUNCS_ENABLED
00184 
00185   #ifdef GLIBMM_VFUNCS_ENABLED
00186   virtual bool get_playing_vfunc() const;
00187 #endif //GLIBMM_VFUNCS_ENABLED
00188 
00189   #ifdef GLIBMM_VFUNCS_ENABLED
00190   virtual void set_position_vfunc(int position);
00191 #endif //GLIBMM_VFUNCS_ENABLED
00192 
00193   #ifdef GLIBMM_VFUNCS_ENABLED
00194   virtual int get_position_vfunc() const;
00195 #endif //GLIBMM_VFUNCS_ENABLED
00196 
00197   #ifdef GLIBMM_VFUNCS_ENABLED
00198   virtual void set_volume_vfunc(double volume);
00199 #endif //GLIBMM_VFUNCS_ENABLED
00200 
00201   #ifdef GLIBMM_VFUNCS_ENABLED
00202   virtual double get_volume_vfunc() const;
00203 #endif //GLIBMM_VFUNCS_ENABLED
00204 
00205   #ifdef GLIBMM_VFUNCS_ENABLED
00206   virtual bool can_seek_vfunc() const;
00207 #endif //GLIBMM_VFUNCS_ENABLED
00208 
00209   #ifdef GLIBMM_VFUNCS_ENABLED
00210   virtual int get_buffer_percent_vfunc() const;
00211 #endif //GLIBMM_VFUNCS_ENABLED
00212 
00213   #ifdef GLIBMM_VFUNCS_ENABLED
00214   virtual int get_duration_vfunc() const;
00215 #endif //GLIBMM_VFUNCS_ENABLED
00216 
00217 
00218 public:
00219 
00220 public:
00221   //C++ methods used to invoke GTK+ virtual functions:
00222 #ifdef GLIBMM_VFUNCS_ENABLED
00223 #endif //GLIBMM_VFUNCS_ENABLED
00224 
00225 protected:
00226   //GTK+ Virtual Functions (override these to change behaviour):
00227 #ifdef GLIBMM_VFUNCS_ENABLED
00228 #endif //GLIBMM_VFUNCS_ENABLED
00229 
00230   //Default Signal Handlers::
00231 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00232 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00233 
00234 
00235 };
00236 
00237 } // namespace Clutter
00238 //vim: ts=2,sw=2
00239 
00240 
00241 namespace Glib
00242 {
00251   Glib::RefPtr<Clutter::Media> wrap(ClutterMedia* object, bool take_copy = false);
00252 
00253 } // namespace Glib
00254 
00255 
00256 #endif /* _CLUTTERMM_MEDIA_H */
00257 

Generated on Fri Jun 6 02:12:48 2008 for cluttermm by  doxygen 1.5.5