00001
00002
00003 #ifndef _GSTREAMERMM_NAVIGATION_H
00004 #define _GSTREAMERMM_NAVIGATION_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
00027
00028 #include <gst/interfaces/navigation.h>
00029 #include <glibmm/interface.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstNavigation GstNavigation;
00034 typedef struct _GstNavigationClass GstNavigationClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class Navigation_Class; }
00040 namespace Gst
00041 {
00042
00048 enum NavigationCommand
00049 {
00050 NAVIGATION_COMMAND_INVALID = 0,
00051 NAVIGATION_COMMAND_MENU1 = 1,
00052 NAVIGATION_COMMAND_MENU2 = 2,
00053 NAVIGATION_COMMAND_MENU3 = 3,
00054 NAVIGATION_COMMAND_MENU4 = 4,
00055 NAVIGATION_COMMAND_MENU5 = 5,
00056 NAVIGATION_COMMAND_MENU6 = 6,
00057 NAVIGATION_COMMAND_MENU7 = 7,
00058 NAVIGATION_COMMAND_LEFT = 20,
00059 NAVIGATION_COMMAND_RIGHT = 21,
00060 NAVIGATION_COMMAND_UP = 22,
00061 NAVIGATION_COMMAND_DOWN = 23,
00062 NAVIGATION_COMMAND_ACTIVATE = 24,
00063 NAVIGATION_COMMAND_PREV_ANGLE = 30,
00064 NAVIGATION_COMMAND_NEXT_ANGLE = 31
00065 };
00066
00067 }
00068
00069
00070 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00071 namespace Glib
00072 {
00073
00074 template <>
00075 class Value<Gst::NavigationCommand> : public Glib::Value_Enum<Gst::NavigationCommand>
00076 {
00077 public:
00078 static GType value_type() G_GNUC_CONST;
00079 };
00080
00081 }
00082 #endif
00083
00084
00085 namespace Gst
00086 {
00087
00088
00089 class Structure;
00090
00096 class Navigation : public Glib::Interface
00097 {
00098
00099 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00100
00101 public:
00102 typedef Navigation CppObjectType;
00103 typedef Navigation_Class CppClassType;
00104 typedef GstNavigation BaseObjectType;
00105 typedef GstNavigationInterface BaseClassType;
00106
00107 private:
00108 friend class Navigation_Class;
00109 static CppClassType navigation_class_;
00110
00111
00112 Navigation(const Navigation&);
00113 Navigation& operator=(const Navigation&);
00114
00115 protected:
00116 Navigation();
00117
00124 explicit Navigation(const Glib::Interface_Class& interface_class);
00125
00126 public:
00127
00128
00129
00130 explicit Navigation(GstNavigation* castitem);
00131
00132 protected:
00133 #endif
00134
00135 public:
00136 virtual ~Navigation();
00137
00138 static void add_interface(GType gtype_implementer);
00139
00140 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00141 static GType get_type() G_GNUC_CONST;
00142 static GType get_base_type() G_GNUC_CONST;
00143 #endif
00144
00146 GstNavigation* gobj() { return reinterpret_cast<GstNavigation*>(gobject_); }
00147
00149 const GstNavigation* gobj() const { return reinterpret_cast<GstNavigation*>(gobject_); }
00150
00151 private:
00152
00153
00154 public:
00155
00156 void send_event(Gst::Structure& structure);
00157
00158 void send_key_event(const Glib::ustring& event, const Glib::ustring& key);
00159
00171 void send_mouse_event(const Glib::ustring& event, int button, double x, double y);
00172
00178 void send_command(Gst::NavigationCommand command);
00179
00180 #ifdef GLIBMM_VFUNCS_ENABLED
00181
00183 virtual void send_event_vfunc(Gst::Structure& structure);
00184 #endif //GLIBMM_VFUNCS_ENABLED
00185
00186 protected:
00187
00188
00189 public:
00190
00191 public:
00192
00193 #ifdef GLIBMM_VFUNCS_ENABLED
00194 #endif //GLIBMM_VFUNCS_ENABLED
00195
00196 protected:
00197
00198 #ifdef GLIBMM_VFUNCS_ENABLED
00199 #endif //GLIBMM_VFUNCS_ENABLED
00200
00201
00202 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00203 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00204
00205
00206 };
00207
00208 }
00209
00210
00211 namespace Glib
00212 {
00221 Glib::RefPtr<Gst::Navigation> wrap(GstNavigation* object, bool take_copy = false);
00222
00223 }
00224
00225
00226 #endif
00227