PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/dclutter/clutter_types.d

http://github.com/alvatarc/d-clutter-bindings
D | 1226 lines | 669 code | 266 blank | 291 comment | 0 complexity | 8036547599e64c3eca8aff6786ea0b78 MD5 | raw file
  1. /+
  2. + Types of Clutter library
  3. +
  4. + Author: Álvaro Castro-Castilla
  5. + Version: 1.0.2
  6. +/
  7. module dclutter.clutter_types;
  8. package import gtkc.glibtypes;
  9. package import gtkc.gobjecttypes;
  10. private import dclutter.cogl_types;
  11. extern(C):
  12. /+
  13. + ClutterActor
  14. +/
  15. enum ClutterActorFlags {
  16. CLUTTER_ACTOR_MAPPED = 1 << 1,
  17. CLUTTER_ACTOR_REALIZED = 1 << 2,
  18. CLUTTER_ACTOR_REACTIVE = 1 << 3,
  19. CLUTTER_ACTOR_VISIBLE = 1 << 4
  20. }
  21. /+
  22. + ClutterAllocationFlags
  23. +/
  24. enum ClutterAllocationFlags {
  25. CLUTTER_ALLOCATION_NONE = 0,
  26. CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1
  27. }
  28. /+
  29. + ClutterEventFlags
  30. +/
  31. enum ClutterEventFlags {
  32. CLUTTER_EVENT_NONE = 0,
  33. CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0,
  34. }
  35. /+
  36. + ClutterEventType
  37. +/
  38. enum ClutterEventType {
  39. CLUTTER_NOTHING = 0,
  40. CLUTTER_KEY_PRESS,
  41. CLUTTER_KEY_RELEASE,
  42. CLUTTER_MOTION,
  43. CLUTTER_ENTER,
  44. CLUTTER_LEAVE,
  45. CLUTTER_BUTTON_PRESS,
  46. CLUTTER_BUTTON_RELEASE,
  47. CLUTTER_SCROLL,
  48. CLUTTER_STAGE_STATE,
  49. CLUTTER_DESTROY_NOTIFY,
  50. CLUTTER_CLIENT_MESSAGE,
  51. CLUTTER_DELETE
  52. }
  53. /+
  54. + ClutterAnimationMode
  55. +/
  56. enum ClutterAnimationMode {
  57. CLUTTER_CUSTOM_MODE = 0,
  58. /* linear */
  59. CLUTTER_LINEAR,
  60. /* quadratic */
  61. CLUTTER_EASE_IN_QUAD,
  62. CLUTTER_EASE_OUT_QUAD,
  63. CLUTTER_EASE_IN_OUT_QUAD,
  64. /* cubic */
  65. CLUTTER_EASE_IN_CUBIC,
  66. CLUTTER_EASE_OUT_CUBIC,
  67. CLUTTER_EASE_IN_OUT_CUBIC,
  68. /* quartic */
  69. CLUTTER_EASE_IN_QUART,
  70. CLUTTER_EASE_OUT_QUART,
  71. CLUTTER_EASE_IN_OUT_QUART,
  72. /* quintic */
  73. CLUTTER_EASE_IN_QUINT,
  74. CLUTTER_EASE_OUT_QUINT,
  75. CLUTTER_EASE_IN_OUT_QUINT,
  76. /* sinusoidal */
  77. CLUTTER_EASE_IN_SINE,
  78. CLUTTER_EASE_OUT_SINE,
  79. CLUTTER_EASE_IN_OUT_SINE,
  80. /* exponential */
  81. CLUTTER_EASE_IN_EXPO,
  82. CLUTTER_EASE_OUT_EXPO,
  83. CLUTTER_EASE_IN_OUT_EXPO,
  84. /* circular */
  85. CLUTTER_EASE_IN_CIRC,
  86. CLUTTER_EASE_OUT_CIRC,
  87. CLUTTER_EASE_IN_OUT_CIRC,
  88. /* elastic */
  89. CLUTTER_EASE_IN_ELASTIC,
  90. CLUTTER_EASE_OUT_ELASTIC,
  91. CLUTTER_EASE_IN_OUT_ELASTIC,
  92. /* overshooting cubic */
  93. CLUTTER_EASE_IN_BACK,
  94. CLUTTER_EASE_OUT_BACK,
  95. CLUTTER_EASE_IN_OUT_BACK,
  96. /* exponentially decaying parabolic */
  97. CLUTTER_EASE_IN_BOUNCE,
  98. CLUTTER_EASE_OUT_BOUNCE,
  99. CLUTTER_EASE_IN_OUT_BOUNCE,
  100. /* guard, before registered alpha functions */
  101. CLUTTER_ANIMATION_LAST
  102. }
  103. /+
  104. + ClutterFontFlags
  105. +/
  106. enum ClutterFontFlags {
  107. CLUTTER_FONT_MIPMAPPING = (1 << 0),
  108. CLUTTER_FONT_HINTING = (1 << 1),
  109. }
  110. /+
  111. + ClutterGravity
  112. +/
  113. enum ClutterGravity {
  114. CLUTTER_GRAVITY_NONE = 0,
  115. CLUTTER_GRAVITY_NORTH,
  116. CLUTTER_GRAVITY_NORTH_EAST,
  117. CLUTTER_GRAVITY_EAST,
  118. CLUTTER_GRAVITY_SOUTH_EAST,
  119. CLUTTER_GRAVITY_SOUTH,
  120. CLUTTER_GRAVITY_SOUTH_WEST,
  121. CLUTTER_GRAVITY_WEST,
  122. CLUTTER_GRAVITY_NORTH_WEST,
  123. CLUTTER_GRAVITY_CENTER
  124. }
  125. /+
  126. + ClutterInitError
  127. +/
  128. enum ClutterInitError {
  129. CLUTTER_INIT_SUCCESS = 1,
  130. CLUTTER_INIT_ERROR_UNKNOWN = 0,
  131. CLUTTER_INIT_ERROR_THREADS = -1,
  132. CLUTTER_INIT_ERROR_BACKEND = -2,
  133. CLUTTER_INIT_ERROR_INTERNAL = -3
  134. }
  135. /+
  136. + ClutterInputDeviceType
  137. +/
  138. enum ClutterInputDeviceType {
  139. CLUTTER_POINTER_DEVICE,
  140. CLUTTER_KEYBOARD_DEVICE,
  141. CLUTTER_EXTENSION_DEVICE,
  142. CLUTTER_N_DEVICE_TYPES
  143. }
  144. /+
  145. + ClutterModifierType
  146. +/
  147. enum ClutterModifierType {
  148. CLUTTER_SHIFT_MASK = 1 << 0,
  149. CLUTTER_LOCK_MASK = 1 << 1,
  150. CLUTTER_CONTROL_MASK = 1 << 2,
  151. CLUTTER_MOD1_MASK = 1 << 3,
  152. CLUTTER_MOD2_MASK = 1 << 4,
  153. CLUTTER_MOD3_MASK = 1 << 5,
  154. CLUTTER_MOD4_MASK = 1 << 6,
  155. CLUTTER_MOD5_MASK = 1 << 7,
  156. CLUTTER_BUTTON1_MASK = 1 << 8,
  157. CLUTTER_BUTTON2_MASK = 1 << 9,
  158. CLUTTER_BUTTON3_MASK = 1 << 10,
  159. CLUTTER_BUTTON4_MASK = 1 << 11,
  160. CLUTTER_BUTTON5_MASK = 1 << 12,
  161. /* bits 15 to 25 are currently unused; bit 29 is used internally */
  162. CLUTTER_SUPER_MASK = 1 << 26,
  163. CLUTTER_HYPER_MASK = 1 << 27,
  164. CLUTTER_META_MASK = 1 << 28,
  165. CLUTTER_RELEASE_MASK = 1 << 30,
  166. CLUTTER_MODIFIER_MASK = 0x5c001fff
  167. }
  168. /+
  169. + ClutterPathNodeType
  170. +/
  171. enum int CLUTTER_PATH_RELATIVE = 32;
  172. enum ClutterPathNodeType {
  173. CLUTTER_PATH_MOVE_TO = 0,
  174. CLUTTER_PATH_LINE_TO = 1,
  175. CLUTTER_PATH_CURVE_TO = 2,
  176. CLUTTER_PATH_CLOSE = 3,
  177. CLUTTER_PATH_REL_MOVE_TO = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE,
  178. CLUTTER_PATH_REL_LINE_TO = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE,
  179. CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE
  180. }
  181. /+
  182. +
  183. +/
  184. enum ClutterPickMode {
  185. CLUTTER_PICK_NONE = 0,
  186. CLUTTER_PICK_REACTIVE,
  187. CLUTTER_PICK_ALL
  188. }
  189. /+
  190. + ClutterRequestMode
  191. +/
  192. enum ClutterRequestMode {
  193. CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
  194. CLUTTER_REQUEST_WIDTH_FOR_HEIGHT
  195. }
  196. /+
  197. + ClutterRotateAxis
  198. +/
  199. enum ClutterRotateAxis {
  200. CLUTTER_X_AXIS,
  201. CLUTTER_Y_AXIS,
  202. CLUTTER_Z_AXIS
  203. }
  204. /+
  205. + ClutterRotateDirection
  206. +/
  207. enum ClutterRotateDirection {
  208. CLUTTER_ROTATE_CW,
  209. CLUTTER_ROTATE_CCW
  210. }
  211. /+
  212. + ClutterScriptError
  213. +/
  214. enum ClutterScriptError {
  215. CLUTTER_SCRIPT_ERROR_INVALID_TYPE_FUNCTION,
  216. CLUTTER_SCRIPT_ERROR_INVALID_PROPERTY,
  217. CLUTTER_SCRIPT_ERROR_INVALID_VALUE
  218. }
  219. /+
  220. + ClutterScrollDirection
  221. +/
  222. enum ClutterScrollDirection {
  223. CLUTTER_SCROLL_UP,
  224. CLUTTER_SCROLL_DOWN,
  225. CLUTTER_SCROLL_LEFT,
  226. CLUTTER_SCROLL_RIGHT
  227. }
  228. /+
  229. + ClutterShaderError
  230. +/
  231. enum ClutterShaderError {
  232. CLUTTER_SHADER_ERROR_NO_ASM,
  233. CLUTTER_SHADER_ERROR_NO_GLSL,
  234. CLUTTER_SHADER_ERROR_COMPILE
  235. }
  236. /+
  237. + ClutterStageState
  238. +/
  239. enum ClutterStageState {
  240. CLUTTER_STAGE_STATE_FULLSCREEN = (1<<1),
  241. CLUTTER_STAGE_STATE_OFFSCREEN = (1<<2),
  242. CLUTTER_STAGE_STATE_ACTIVATED = (1<<3)
  243. }
  244. /+
  245. + ClutterTexture{*}
  246. +/
  247. enum ClutterTextureError {
  248. CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY,
  249. CLUTTER_TEXTURE_ERROR_NO_YUV,
  250. CLUTTER_TEXTURE_ERROR_BAD_FORMAT
  251. }
  252. enum ClutterTextureFlags {
  253. CLUTTER_TEXTURE_NONE = 0,
  254. CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1,
  255. CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2,
  256. CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3
  257. }
  258. enum ClutterTextureQuality {
  259. CLUTTER_TEXTURE_QUALITY_LOW,
  260. CLUTTER_TEXTURE_QUALITY_MEDIUM,
  261. CLUTTER_TEXTURE_QUALITY_HIGH
  262. }
  263. /+
  264. + ClutterTimelineDirection
  265. +/
  266. enum ClutterTimelineDirection {
  267. CLUTTER_TIMELINE_FORWARD,
  268. CLUTTER_TIMELINE_BACKWARD
  269. }
  270. /+
  271. + ClutterUnitType
  272. +/
  273. enum ClutterUnitType {
  274. CLUTTER_UNIT_PIXEL,
  275. CLUTTER_UNIT_EM,
  276. CLUTTER_UNIT_MM,
  277. CLUTTER_UNIT_POINT
  278. }
  279. /+
  280. + ClutterX11FilterReturn
  281. +/
  282. enum ClutterX11FilterReturn {
  283. CLUTTER_X11_FILTER_CONTINUE,
  284. CLUTTER_X11_FILTER_TRANSLATE,
  285. CLUTTER_X11_FILTER_REMOVE
  286. }
  287. /+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/
  288. struct ClutterActor {
  289. guint32 flags;
  290. }
  291. struct ClutterActorClass{
  292. void function( ClutterActor *actor ) show;
  293. void function( ClutterActor *actor ) show_all;
  294. void function( ClutterActor *actor ) hide;
  295. void function( ClutterActor *actor ) hide_all;
  296. void function( ClutterActor *actor ) realize;
  297. void function( ClutterActor *actor ) unrealize;
  298. void function( ClutterActor *actor ) map;
  299. void function( ClutterActor *actor ) unmap;
  300. void function( ClutterActor *actor ) paint;
  301. void function( ClutterActor *actor,
  302. ClutterActor *old_parent ) parent_set;
  303. void function( ClutterActor *actor ) destroy;
  304. void function( ClutterActor *actor,
  305. ClutterColor *color ) pick;
  306. void function( ClutterActor *actor,
  307. ClutterActor *leaf_that_queued ) queue_redraw;
  308. void function( ClutterActor *actor,
  309. gfloat for_height,
  310. gfloat *min_width_p,
  311. gfloat *natural_width_p ) get_preferred_width;
  312. void function( ClutterActor *actor,
  313. gfloat for_width,
  314. gfloat *min_height_p,
  315. gfloat *natural_height_p ) get_preferred_height;
  316. void function( ClutterActor *actor,
  317. ClutterActorBox *box,
  318. ClutterAllocationFlags flags ) allocate;
  319. void function( ClutterActor *actor,
  320. CoglMatrix *matrix ) apply_transform;
  321. gboolean function( ClutterActor *actor,
  322. ClutterEvent *event ) event;
  323. gboolean function( ClutterActor *actor,
  324. ClutterButtonEvent *event ) button_press_event;
  325. gboolean function( ClutterActor *actor,
  326. ClutterButtonEvent *event ) button_release_event;
  327. gboolean function( ClutterActor *actor,
  328. ClutterScrollEvent *event ) scroll_event;
  329. gboolean function( ClutterActor *actor,
  330. ClutterKeyEvent *event ) key_press_event;
  331. gboolean function( ClutterActor *actor,
  332. ClutterKeyEvent *event) key_release_event;
  333. gboolean function( ClutterActor *actor,
  334. ClutterMotionEvent *event ) motion_event;
  335. gboolean function( ClutterActor *actor,
  336. ClutterCrossingEvent *event ) enter_event;
  337. gboolean function( ClutterActor *actor,
  338. ClutterCrossingEvent *event ) leave_event;
  339. gboolean function( ClutterActor *actor,
  340. ClutterEvent *event ) captured_event;
  341. void function( ClutterActor *actor ) key_focus_in;
  342. void function( ClutterActor *actor ) key_focus_out;
  343. }
  344. /+
  345. + ClutterActorBox
  346. +/
  347. struct ClutterActorBox {
  348. gfloat x1;
  349. gfloat y1;
  350. gfloat x2;
  351. gfloat y2;
  352. }
  353. /+
  354. + ClutterAlpha
  355. +/
  356. struct ClutterAlpha;
  357. struct ClutterAlphaClass {}
  358. alias gdouble function( ClutterAlpha *alpha, gpointer user_data ) ClutterAlphaFunc;
  359. /+
  360. + ClutterAnimatable
  361. +/
  362. struct ClutterAnimatable;
  363. struct ClutterAnimatableIface {
  364. gboolean function(
  365. ClutterAnimatable *animatable,
  366. ClutterAnimation *animation,
  367. gchar *property_name,
  368. GValue *initial_value,
  369. GValue *final_value,
  370. gdouble progress,
  371. GValue *value
  372. ) animate_property;
  373. }
  374. /+
  375. + ClutterAnimation
  376. +/
  377. struct ClutterAnimation;
  378. struct ClutterAnimationClass {
  379. void function( ClutterAnimation *animation ) started;
  380. void function( ClutterAnimation *animation ) completed;
  381. }
  382. /+
  383. +
  384. +/
  385. struct ClutterAnyEvent {
  386. ClutterEventType type;
  387. guint32 time;
  388. ClutterEventFlags flags;
  389. ClutterStage *stage;
  390. ClutterActor *source;
  391. }
  392. /+
  393. + ClutterBackend
  394. +/
  395. struct ClutterBackend;
  396. /+
  397. + ClutterBehaviour
  398. +/
  399. struct ClutterBehaviour;
  400. struct ClutterBehaviourClass{
  401. /* vfunc, not signal */
  402. void function( ClutterBehaviour *behave,
  403. gdouble alpha_value ) alpha_notify;
  404. /* signals */
  405. void function( ClutterBehaviour *behave,
  406. ClutterActor *actor) applied;
  407. void function( ClutterBehaviour *behave,
  408. ClutterActor *actor ) removed;
  409. }
  410. alias void function( ClutterBehaviour *behaviour,
  411. ClutterActor *actor,
  412. gpointer data) ClutterBehaviourForeachFunc;
  413. /+
  414. + ClutterBehaviourDepth
  415. +/
  416. struct ClutterBehaviourDepth;
  417. struct ClutterBehaviourDepthClass {}
  418. /+
  419. + ClutterBehaviourEllipse
  420. +/
  421. struct ClutterBehaviourEllipse;
  422. struct ClutterBehaviourEllipseClass {}
  423. /+
  424. + ClutterBehaviourOpacity;
  425. +/
  426. struct ClutterBehaviourOpacity;
  427. struct ClutterBehaviourOpacityClass {}
  428. /+
  429. + ClutterBehaviourPath
  430. +/
  431. struct ClutterBehaviourPath;
  432. struct ClutterBehaviourPathClass {
  433. void function( ClutterBehaviourPath *pathb,
  434. guint knot_num ) knot_reached;
  435. }
  436. /+
  437. + ClutterBehaviourRotate
  438. +/
  439. struct ClutterBehaviourRotate;
  440. struct ClutterBehaviourRotateClass {}
  441. /+
  442. + ClutterBehaviourScale
  443. +/
  444. struct ClutterBehaviourScale;
  445. struct ClutterBehaviourScaleClass {}
  446. /+
  447. +
  448. +/
  449. gboolean function( GObject *gobject,
  450. gchar *action_name,
  451. guint key_val,
  452. ClutterModifierType modifiers ) ClutterBindingActionFunc;
  453. /+
  454. + ClutterBindingPool
  455. +/
  456. struct ClutterBindingPool;
  457. /+
  458. + ClutterButtonEvent
  459. +/
  460. struct ClutterButtonEvent {
  461. ClutterEventType type;
  462. guint32 time;
  463. ClutterEventFlags flags;
  464. ClutterStage *stage;
  465. ClutterActor *source;
  466. gfloat x;
  467. gfloat y;
  468. ClutterModifierType modifier_state;
  469. guint32 button;
  470. guint click_count;
  471. gdouble *axes;
  472. ClutterInputDevice *device;
  473. }
  474. /+
  475. + ClutterCairoTexture
  476. +/
  477. struct ClutterCairoTexture;
  478. struct ClutterCairoTextureClass{}
  479. /+
  480. + ClutterCallback
  481. +/
  482. alias void function( ClutterActor *actor, gpointer data ) ClutterCallback;
  483. /+
  484. + ClutterChildMeta
  485. +/
  486. struct ClutterChildMeta {
  487. ClutterContainer *container;
  488. ClutterActor *actor;
  489. }
  490. struct ClutterChildMetaClass {}
  491. /+
  492. + ClutterClone
  493. +/
  494. struct ClutterClone;
  495. struct ClutterCloneClass {}
  496. /+
  497. + ClutterColor
  498. +/
  499. struct ClutterColor {
  500. guint8 red;
  501. guint8 green;
  502. guint8 blue;
  503. guint8 alpha;
  504. }
  505. /+
  506. + ClutterContainer
  507. +/
  508. struct ClutterContainer;
  509. struct ClutterContainerIface {
  510. void function( ClutterContainer *container,
  511. ClutterActor *actor ) add;
  512. void function( ClutterContainer *container,
  513. ClutterActor *actor ) remove;
  514. /*void function( ClutterContainer *container,
  515. ClutterCallback callback,
  516. gpointer user_data ) foreach;*/
  517. void function( ClutterContainer *container,
  518. ClutterCallback callback,
  519. gpointer user_data ) foreach_with_internals;
  520. /* child stacking */
  521. void function( ClutterContainer *container,
  522. ClutterActor *actor,
  523. ClutterActor *sibling ) raise;
  524. void function( ClutterContainer *container,
  525. ClutterActor *actor,
  526. ClutterActor *sibling ) lower;
  527. void function( ClutterContainer *container ) sort_depth_order;
  528. /* ClutterChildMeta management */
  529. GType child_meta_type;
  530. void function( ClutterContainer *container,
  531. ClutterActor *actor) create_child_meta;
  532. void function( ClutterContainer *container,
  533. ClutterActor *actor) destroy_child_meta;
  534. ClutterChildMeta* function( ClutterContainer *container,
  535. ClutterActor *actor ) get_child_meta;
  536. /* signals */
  537. void function( ClutterContainer *container,
  538. ClutterActor *actor) actor_added;
  539. void function( ClutterContainer *container,
  540. ClutterActor *actor) actor_removed;
  541. void function( ClutterContainer *container,
  542. ClutterActor *actor,
  543. GParamSpec *pspec) child_notify;
  544. }
  545. /+
  546. + ClutterCrossingEvent
  547. +/
  548. struct ClutterCrossingEvent {
  549. ClutterEventType type;
  550. guint32 time;
  551. ClutterEventFlags flags;
  552. ClutterStage *stage;
  553. ClutterActor *source;
  554. gfloat x;
  555. gfloat y;
  556. ClutterInputDevice *device;
  557. ClutterActor *related;
  558. }
  559. /+
  560. + ClutterEvent
  561. +/
  562. union ClutterEvent {
  563. ClutterEventType type;
  564. ClutterAnyEvent any;
  565. ClutterButtonEvent button;
  566. ClutterKeyEvent key;
  567. ClutterMotionEvent motion;
  568. ClutterScrollEvent scroll;
  569. ClutterStageStateEvent stage_state;
  570. ClutterCrossingEvent crossing;
  571. }
  572. /+
  573. + ClutterFog
  574. +/
  575. struct ClutterFog {
  576. gfloat z_near;
  577. gfloat z_far;
  578. }
  579. /+
  580. + ClutterGeometry
  581. +/
  582. struct ClutterGeometry {
  583. gint x;
  584. gint y;
  585. guint width;
  586. guint height;
  587. }
  588. /+
  589. + ClutterGLXTexturePixmap
  590. +/
  591. struct ClutterGLXTexturePixmapPrivate;
  592. struct ClutterGLXTexturePixmap {
  593. ClutterX11TexturePixmap parent;
  594. ClutterGLXTexturePixmapPrivate *priv;
  595. }
  596. struct ClutterGLXTexturePixmapClass {
  597. ClutterX11TexturePixmapClass parent_class;
  598. }
  599. /+
  600. + ClutterGroup
  601. +/
  602. struct ClutterGroup;
  603. struct ClutterGroupClass {}
  604. /+
  605. + ClutterInputDevice
  606. +/
  607. struct ClutterInputDevice;
  608. /+
  609. + ClutterInterval
  610. +/
  611. struct ClutterInterval {}
  612. struct ClutterIntervalClass {
  613. gboolean function(ClutterInterval *interval,
  614. GParamSpec *pspec) validate;
  615. gboolean function(ClutterInterval *interval,
  616. gdouble factor,
  617. GValue *value) compute_value;
  618. }
  619. /+
  620. + ClutterKeyEvent
  621. +/
  622. struct ClutterKeyEvent {
  623. ClutterEventType type;
  624. guint32 time;
  625. ClutterEventFlags flags;
  626. ClutterStage *stage;
  627. ClutterActor *source;
  628. ClutterModifierType modifier_state;
  629. guint keyval;
  630. guint16 hardware_keycode;
  631. gunichar unicode_value;
  632. ClutterInputDevice *device;
  633. }
  634. /+
  635. + ClutterKnot
  636. +/
  637. struct ClutterKnot {
  638. gint x;
  639. gint y;
  640. }
  641. /+
  642. + ClutterListModel
  643. +/
  644. struct ClutterListModel;
  645. struct ClutterListModelClass {}
  646. /+
  647. + ClutterMedia
  648. +/
  649. struct ClutterMedia;
  650. struct ClutterMediaIface {}
  651. /+
  652. + ClutterModel
  653. +/
  654. struct ClutterModel;
  655. struct ClutterModelClass {
  656. /* vtable */
  657. guint function( ClutterModel *model ) get_n_rows;
  658. guint function( ClutterModel *model ) get_n_columns;
  659. gchar* function( ClutterModel *model,
  660. guint column ) get_column_name;
  661. GType function( ClutterModel *model,
  662. guint column ) get_column_type;
  663. ClutterModelIter* function( ClutterModel *model,
  664. gint index_ ) insert_row;
  665. void function( ClutterModel *model,
  666. guint row ) remove_row;
  667. ClutterModelIter* function( ClutterModel *model,
  668. guint row ) get_iter_at_row;
  669. void function( ClutterModel *model,
  670. ClutterModelSortFunc func,
  671. gpointer data) resort;
  672. /* signals */
  673. void function( ClutterModel *model,
  674. ClutterModelIter *iter) row_added;
  675. void function( ClutterModel *model,
  676. ClutterModelIter *iter) row_removed;
  677. void function( ClutterModel *model,
  678. ClutterModelIter *iter) row_changed;
  679. void function( ClutterModel *model) sort_changed;
  680. void function( ClutterModel *model) filter_changed;
  681. }
  682. /+
  683. + ClutterModelFilterFunc
  684. +/
  685. alias gboolean function( ClutterModel *model,
  686. ClutterModelIter *iter,
  687. gpointer user_data) ClutterModelFilterFunc;
  688. /+
  689. + ClutterModelForeachFunc
  690. +/
  691. alias gboolean function( ClutterModel *model,
  692. ClutterModelIter *iter,
  693. gpointer user_data) ClutterModelForeachFunc;
  694. /+
  695. + ClutterModelIter
  696. +/
  697. struct ClutterModelIter;
  698. struct ClutterModelIterClass {
  699. /* vtable not signals */
  700. void function( ClutterModelIter *iter,
  701. guint column,
  702. GValue *value ) get_value;
  703. void function( ClutterModelIter *iter,
  704. guint column,
  705. GValue *value) set_value;
  706. gboolean function( ClutterModelIter *iter ) is_first;
  707. gboolean function( ClutterModelIter *iter ) is_last;
  708. ClutterModelIter* function( ClutterModelIter *iter ) next;
  709. ClutterModelIter* function( ClutterModelIter *iter ) prev;
  710. ClutterModel* function( ClutterModelIter *iter ) get_model;
  711. guint function( ClutterModelIter *iter ) get_row;
  712. ClutterModelIter* function( ClutterModelIter *iter ) copy;
  713. }
  714. /+
  715. + ClutterModelSortFunc
  716. +/
  717. alias gint function( ClutterModel *model,
  718. GValue *a,
  719. GValue *b,
  720. gpointer user_data ) ClutterModelSortFunc;
  721. /+
  722. + ClutterMotionEvent
  723. +/
  724. struct ClutterMotionEvent {
  725. ClutterEventType type;
  726. guint32 time;
  727. ClutterEventFlags flags;
  728. ClutterStage *stage;
  729. ClutterActor *source;
  730. gfloat x;
  731. gfloat y;
  732. ClutterModifierType modifier_state;
  733. gdouble *axes; /* Future use */
  734. ClutterInputDevice *device;
  735. }
  736. /+
  737. + ClutterParamSpec{*}
  738. +/
  739. struct ClutterParamSpecColor {
  740. ClutterColor *default_value;
  741. }
  742. struct ClutterParamSpecFixed {
  743. CoglFixed minimum;
  744. CoglFixed maximum;
  745. CoglFixed default_value;
  746. }
  747. struct ClutterParamSpecUnits {
  748. ClutterUnitType default_type;
  749. gfloat default_value;
  750. gfloat minimum;
  751. gfloat maximum;
  752. }
  753. /+
  754. + ClutterPath
  755. +/
  756. struct ClutterPath;
  757. struct ClutterPathClass {}
  758. /+
  759. + ClutterPathCallback
  760. +/
  761. alias void function( ClutterPathNode *node, gpointer data ) ClutterPathCallback;
  762. /+
  763. + ClutterPathNode
  764. +/
  765. struct ClutterPathNode {
  766. ClutterPathNodeType type;
  767. ClutterKnot points[3];
  768. }
  769. /+
  770. + ClutterPerspective
  771. +/
  772. struct ClutterPerspective {
  773. gfloat fovy;
  774. gfloat aspect;
  775. gfloat z_near;
  776. gfloat z_far;
  777. }
  778. /+
  779. + ClutterProgressFunc
  780. +/
  781. alias gboolean function( GValue *a,
  782. GValue *b,
  783. gdouble progress,
  784. GValue *retval ) ClutterProgressFunc;
  785. /+
  786. + ClutterRectangle
  787. +/
  788. struct ClutterRectangle;
  789. struct ClutterRectangleClass {}
  790. /+
  791. + ClutterScore
  792. +/
  793. struct ClutterScore;
  794. struct ClutterScoreClass {
  795. void function( ClutterScore *score,
  796. ClutterTimeline *timeline ) timeline_started;
  797. void function( ClutterScore *score,
  798. ClutterTimeline *timeline ) timeline_completed;
  799. void function( ClutterScore *score ) started;
  800. void function( ClutterScore *score ) completed;
  801. void function( ClutterScore *score) paused;
  802. }
  803. /+
  804. + ClutterScript
  805. +/
  806. struct ClutterScript;
  807. struct ClutterScriptClass {
  808. GType function( ClutterScript *script,
  809. gchar *type_name ) get_type_from_name;
  810. }
  811. /+
  812. + ClutterScriptable
  813. +/
  814. struct JsonNode;
  815. struct ClutterScriptable;
  816. struct ClutterScriptableIface {
  817. void function( ClutterScriptable *scriptable,
  818. gchar *name ) set_id;
  819. gchar* function( ClutterScriptable *scriptable ) get_id;
  820. gboolean function( ClutterScriptable *scriptable,
  821. ClutterScript *script,
  822. GValue *value,
  823. gchar *name,
  824. JsonNode *node ) parse_custom_node;
  825. void function( ClutterScriptable *scriptable,
  826. ClutterScript *script,
  827. gchar *name,
  828. GValue *value ) set_custom_property;
  829. }
  830. /+
  831. + ClutterScriptConnectFunc
  832. +/
  833. alias void function( ClutterScript *script,
  834. GObject *object,
  835. gchar *signal_name,
  836. gchar *handler_name,
  837. GObject *connect_object,
  838. GConnectFlags flags,
  839. gpointer user_data ) ClutterScriptConnectFunc;
  840. /+
  841. + ClutterScrollEvent
  842. +/
  843. struct ClutterScrollEvent {
  844. ClutterEventType type;
  845. guint32 time;
  846. ClutterEventFlags flags;
  847. ClutterStage *stage;
  848. ClutterActor *source;
  849. gfloat x;
  850. gfloat y;
  851. ClutterScrollDirection direction;
  852. ClutterModifierType modifier_state;
  853. gdouble *axes; /* future use */
  854. ClutterInputDevice *device;
  855. }
  856. /+
  857. + ClutterShader
  858. +/
  859. struct ClutterShader;
  860. struct ClutterShaderClass {}
  861. /+
  862. + ClutterStage
  863. +/
  864. struct ClutterStage;
  865. struct ClutterStageClass {
  866. /* signals */
  867. void function( ClutterStage *stage ) fullscreen;
  868. void function( ClutterStage *stage ) unfullscreen;
  869. void function( ClutterStage *stage ) activate;
  870. void function( ClutterStage *stage ) deactivate;
  871. }
  872. /+
  873. + ClutterStageStateEvent
  874. +/
  875. struct ClutterStageStateEvent {
  876. ClutterEventType type;
  877. guint32 time;
  878. ClutterEventFlags flags;
  879. ClutterStage *stage;
  880. ClutterActor *source; /* XXX: should probably be the stage itself */
  881. ClutterStageState changed_mask;
  882. ClutterStageState new_state;
  883. }
  884. /+
  885. + ClutterText
  886. +/
  887. struct ClutterText;
  888. struct ClutterTextClass {
  889. /* signals, not vfuncs */
  890. void function( ClutterText *self ) text_changed;
  891. void function( ClutterText *self ) activate ;
  892. void function( ClutterText *self,
  893. ClutterGeometry *geometry) cursor_event;
  894. }
  895. /+
  896. + ClutterTexture
  897. +/
  898. struct ClutterTexture;
  899. struct ClutterTextureClass {
  900. void function( ClutterTexture *texture,
  901. gint width,
  902. gint height ) size_change;
  903. void function( ClutterTexture *texture ) pixbuf_change;
  904. void function( ClutterTexture *texture,
  905. GError *error) load_finished;
  906. }
  907. /+
  908. + ClutterTimeline
  909. +/
  910. struct ClutterTimeline;
  911. struct ClutterTimelineClass {
  912. void function( ClutterTimeline *timeline ) started;
  913. void function( ClutterTimeline *timeline ) completed;
  914. void function( ClutterTimeline *timeline ) paused;
  915. void function( ClutterTimeline *timeline,
  916. gint frame_num) new_frame;
  917. void function( ClutterTimeline *timeline,
  918. gchar *marker_name,
  919. gint frame_num) marker_reached;
  920. }
  921. /+
  922. + ClutterTimeout
  923. +/
  924. struct ClutterTimeoutPool;
  925. /+
  926. + ClutterUnits
  927. +/
  928. struct ClutterUnits {}
  929. /+
  930. + ClutterVertex
  931. +/
  932. struct ClutterVertex {
  933. gfloat x;
  934. gfloat y;
  935. gfloat z;
  936. }
  937. /+
  938. + ClutterX11TexturePixmap
  939. +/
  940. struct ClutterX11TexturePixmap {}
  941. struct ClutterX11TexturePixmapClass {
  942. ClutterTextureClass parent_class;
  943. void function( ClutterX11TexturePixmap *texture,
  944. gint x,
  945. gint y,
  946. gint width,
  947. gint height) update_area;
  948. }
  949. /+
  950. + ClutterX11XInputDevice
  951. +/
  952. struct ClutterX11XInputDevice;
  953. enum ClutterX11XInputEventTypes {
  954. CLUTTER_X11_XINPUT_KEY_PRESS_EVENT = 0,
  955. CLUTTER_X11_XINPUT_KEY_RELEASE_EVENT,
  956. CLUTTER_X11_XINPUT_BUTTON_PRESS_EVENT,
  957. CLUTTER_X11_XINPUT_BUTTON_RELEASE_EVENT,
  958. CLUTTER_X11_XINPUT_MOTION_NOTIFY_EVENT,
  959. CLUTTER_X11_XINPUT_LAST_EVENT
  960. }