types.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_TYPES_H
00004 #define _CLUTTERMM_TYPES_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 <clutter/clutter.h>
00027
00028
00029 namespace Clutter
00030 {
00031
00032 typedef ClutterEvent Event;
00033 typedef ClutterButtonEvent ButtonEvent;
00034 typedef ClutterKeyEvent KeyEvent;
00035 typedef ClutterMotionEvent MotionEvent;
00036 typedef ClutterScrollEvent ScrollEvent;
00037 typedef ClutterCrossingEvent CrossingEvent;
00038
00039
00040 typedef ClutterUnit Unit;
00041 typedef ClutterFixed Fixed;
00042 typedef ClutterAngle Angle;
00043
00044 class InitError : public Glib::Error
00045 {
00046 public:
00047 enum Code
00048 {
00049 INIT_SUCCESS = 1,
00050 UNKNOWN = 0,
00051 THREADS = -1,
00052 BACKEND = -2,
00053 INTERNAL = -3
00054 };
00055
00056 InitError(Code error_code, const Glib::ustring& error_message);
00057 explicit InitError(GError* gobject);
00058 Code code() const;
00059
00060 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00061 private:
00062
00063 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00064 static void throw_func(GError* gobject);
00065 #else
00066
00067 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
00068 #endif //GLIBMM_EXCEPTIONS_ENABLED
00069
00070 friend void wrap_init();
00071 #endif
00072 };
00073
00074 }
00075
00076 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00077 namespace Glib
00078 {
00079
00080 template <>
00081 class Value<Clutter::InitError::Code> : public Glib::Value_Enum<Clutter::InitError::Code>
00082 {
00083 public:
00084 static GType value_type() G_GNUC_CONST;
00085 };
00086
00087 }
00088 #endif
00089
00090
00091 namespace Clutter
00092 {
00093
00094
00100 enum RotateDirection
00101 {
00102 ROTATE_CW,
00103 ROTATE_CCW
00104 };
00105
00106 }
00107
00108
00109 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00110 namespace Glib
00111 {
00112
00113 template <>
00114 class Value<Clutter::RotateDirection> : public Glib::Value_Enum<Clutter::RotateDirection>
00115 {
00116 public:
00117 static GType value_type() G_GNUC_CONST;
00118 };
00119
00120 }
00121 #endif
00122
00123
00124 namespace Clutter
00125 {
00126
00130 enum RotateAxis
00131 {
00132 X_AXIS,
00133 Y_AXIS,
00134 Z_AXIS
00135 };
00136
00137 }
00138
00139
00140 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00141 namespace Glib
00142 {
00143
00144 template <>
00145 class Value<Clutter::RotateAxis> : public Glib::Value_Enum<Clutter::RotateAxis>
00146 {
00147 public:
00148 static GType value_type() G_GNUC_CONST;
00149 };
00150
00151 }
00152 #endif
00153
00154
00155 namespace Clutter
00156 {
00157
00161 enum Gravity
00162 {
00163 GRAVITY_NONE,
00164 GRAVITY_NORTH,
00165 GRAVITY_NORTH_EAST,
00166 GRAVITY_EAST,
00167 GRAVITY_SOUTH_EAST,
00168 GRAVITY_SOUTH,
00169 GRAVITY_SOUTH_WEST,
00170 GRAVITY_WEST,
00171 GRAVITY_NORTH_WEST,
00172 GRAVITY_CENTER
00173 };
00174
00175 }
00176
00177
00178 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00179 namespace Glib
00180 {
00181
00182 template <>
00183 class Value<Clutter::Gravity> : public Glib::Value_Enum<Clutter::Gravity>
00184 {
00185 public:
00186 static GType value_type() G_GNUC_CONST;
00187 };
00188
00189 }
00190 #endif
00191
00192
00193 namespace Clutter
00194 {
00195
00199 enum RequestMode
00200 {
00201 REQUEST_HEIGHT_FOR_WIDTH,
00202 REQUEST_WIDTH_FOR_HEIGHT
00203 };
00204
00205 }
00206
00207
00208 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00209 namespace Glib
00210 {
00211
00212 template <>
00213 class Value<Clutter::RequestMode> : public Glib::Value_Enum<Clutter::RequestMode>
00214 {
00215 public:
00216 static GType value_type() G_GNUC_CONST;
00217 };
00218
00219 }
00220 #endif
00221
00222
00223 namespace Clutter
00224 {
00225
00226
00227 class Knot
00228 {
00229 public:
00230 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00231 typedef Knot CppObjectType;
00232 typedef ClutterKnot BaseObjectType;
00233
00234 static GType get_type() G_GNUC_CONST;
00235 #endif
00236
00237 Knot();
00238
00239 explicit Knot(const ClutterKnot* gobject);
00240
00242 ClutterKnot* gobj() { return &gobject_; }
00243
00245 const ClutterKnot* gobj() const { return &gobject_; }
00246
00247 protected:
00248 ClutterKnot gobject_;
00249
00250 private:
00251
00252 public:
00253 Knot(int x, int y);
00254
00255 int get_x() const;
00256 void set_x(int x);
00257 int get_y() const;
00258 void set_y(int y);
00259 void set_xy(int x, int y);
00260
00261
00262 };
00263
00264 class Vertex
00265 {
00266 public:
00267 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00268 typedef Vertex CppObjectType;
00269 typedef ClutterVertex BaseObjectType;
00270
00271 static GType get_type() G_GNUC_CONST;
00272 #endif
00273
00274 Vertex();
00275
00276 explicit Vertex(const ClutterVertex* gobject);
00277
00279 ClutterVertex* gobj() { return &gobject_; }
00280
00282 const ClutterVertex* gobj() const { return &gobject_; }
00283
00284 protected:
00285 ClutterVertex gobject_;
00286
00287 private:
00288
00289 public:
00290 Vertex(Unit x, Unit y, Unit z = 0);
00291
00292 Unit get_x() const;
00293 void set_x(const Unit& value);
00294 Unit get_y() const;
00295 void set_y(const Unit& value);
00296 Unit get_z() const;
00297 void set_z(const Unit& value);
00298
00299
00300 };
00301
00302 class Geometry
00303 {
00304 public:
00305 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00306 typedef Geometry CppObjectType;
00307 typedef ClutterGeometry BaseObjectType;
00308
00309 static GType get_type() G_GNUC_CONST;
00310 #endif
00311
00312 Geometry();
00313
00314 explicit Geometry(const ClutterGeometry* gobject);
00315
00317 ClutterGeometry* gobj() { return &gobject_; }
00318
00320 const ClutterGeometry* gobj() const { return &gobject_; }
00321
00322 protected:
00323 ClutterGeometry gobject_;
00324
00325 private:
00326
00327 public:
00328 Geometry(int x, int y, unsigned int width = 0, unsigned int height = 0);
00329
00330 int get_x() const;
00331 void set_x(int x);
00332 int get_y() const;
00333 void set_y(int y);
00334 void set_xy(int x, int y);
00335
00336 unsigned int get_width() const;
00337 void set_width(unsigned int width);
00338 unsigned int get_height() const;
00339 void set_height(unsigned int height);
00340 void set_size(unsigned int width, unsigned int height);
00341
00342
00343 };
00344
00345 }
00346
00347
00348 namespace Clutter
00349 {
00350
00356 bool operator==(const Knot& lhs, const Knot& rhs);
00357
00363 bool operator!=(const Knot& lhs, const Knot& rhs);
00364
00365
00366 }
00367
00368
00369 namespace Glib
00370 {
00371
00376 Clutter::Knot& wrap(ClutterKnot* object);
00377
00382 const Clutter::Knot& wrap(const ClutterKnot* object);
00383
00384 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00385 template <>
00386 class Value<Clutter::Knot> : public Glib::Value_Boxed<Clutter::Knot>
00387 {};
00388 #endif
00389
00390 }
00391
00392
00393 namespace Glib
00394 {
00395
00400 Clutter::Vertex& wrap(ClutterVertex* object);
00401
00406 const Clutter::Vertex& wrap(const ClutterVertex* object);
00407
00408 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00409 template <>
00410 class Value<Clutter::Vertex> : public Glib::Value_Boxed<Clutter::Vertex>
00411 {};
00412 #endif
00413
00414 }
00415
00416
00417 namespace Glib
00418 {
00419
00424 Clutter::Geometry& wrap(ClutterGeometry* object);
00425
00430 const Clutter::Geometry& wrap(const ClutterGeometry* object);
00431
00432 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00433 template <>
00434 class Value<Clutter::Geometry> : public Glib::Value_Boxed<Clutter::Geometry>
00435 {};
00436 #endif
00437
00438 }
00439
00440
00441 #endif
00442