clutter 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (656) hide show
  1. data/Rakefile +129 -0
  2. data/lib/clutter.rb +145 -0
  3. data/lib/clutter/actor-iter.rb +33 -0
  4. data/lib/clutter/actor.rb +34 -0
  5. data/lib/clutter/animatable.rb +26 -0
  6. data/lib/clutter/cairo.rb +24 -0
  7. data/lib/clutter/color.rb +55 -0
  8. data/lib/clutter/event.rb +21 -0
  9. data/lib/clutter/point.rb +25 -0
  10. data/lib/clutter/text.rb +23 -0
  11. data/lib/clutter/threads.rb +38 -0
  12. data/sample/basic-actor.rb +125 -0
  13. data/sample/bin-layout.rb +215 -0
  14. data/sample/box-layout.rb +196 -0
  15. data/sample/canvas.rb +117 -0
  16. data/sample/constraints.rb +81 -0
  17. data/sample/drag-action.rb +177 -0
  18. data/sample/drop-action.rb +198 -0
  19. data/sample/easing-modes.rb +145 -0
  20. data/sample/flow-layout.rb +121 -0
  21. data/sample/grid-layout.rb +239 -0
  22. data/sample/image-content.rb +88 -0
  23. data/sample/pan-action.rb +100 -0
  24. data/sample/redhand.png +0 -0
  25. data/sample/rounded-rectangle.rb +90 -0
  26. data/sample/scroll-actor.rb +105 -0
  27. data/test/clutter-test-utils.rb +21 -0
  28. data/test/run-test.rb +50 -0
  29. data/vendor/local/bin/libclutter-1.0-0.dll +0 -0
  30. data/vendor/local/bin/libcogl-12.dll +0 -0
  31. data/vendor/local/bin/libcogl-pango-12.dll +0 -0
  32. data/vendor/local/bin/libglut-0.dll +0 -0
  33. data/vendor/local/bin/libjson-glib-1.0-0.dll +0 -0
  34. data/vendor/local/include/GL/freeglut.h +22 -0
  35. data/vendor/local/include/GL/freeglut_ext.h +239 -0
  36. data/vendor/local/include/GL/freeglut_std.h +636 -0
  37. data/vendor/local/include/GL/glut.h +21 -0
  38. data/vendor/local/include/clutter-1.0/cally/cally-actor.h +155 -0
  39. data/vendor/local/include/clutter-1.0/cally/cally-clone.h +82 -0
  40. data/vendor/local/include/clutter-1.0/cally/cally-factory.h +117 -0
  41. data/vendor/local/include/clutter-1.0/cally/cally-group.h +85 -0
  42. data/vendor/local/include/clutter-1.0/cally/cally-main.h +39 -0
  43. data/vendor/local/include/clutter-1.0/cally/cally-rectangle.h +82 -0
  44. data/vendor/local/include/clutter-1.0/cally/cally-root.h +82 -0
  45. data/vendor/local/include/clutter-1.0/cally/cally-stage.h +82 -0
  46. data/vendor/local/include/clutter-1.0/cally/cally-text.h +82 -0
  47. data/vendor/local/include/clutter-1.0/cally/cally-texture.h +82 -0
  48. data/vendor/local/include/clutter-1.0/cally/cally-util.h +80 -0
  49. data/vendor/local/include/clutter-1.0/cally/cally.h +40 -0
  50. data/vendor/local/include/clutter-1.0/clutter/clutter-action.h +103 -0
  51. data/vendor/local/include/clutter-1.0/clutter/clutter-actor-meta.h +113 -0
  52. data/vendor/local/include/clutter-1.0/clutter/clutter-actor.h +735 -0
  53. data/vendor/local/include/clutter-1.0/clutter/clutter-align-constraint.h +69 -0
  54. data/vendor/local/include/clutter-1.0/clutter/clutter-animatable.h +116 -0
  55. data/vendor/local/include/clutter-1.0/clutter/clutter-backend.h +74 -0
  56. data/vendor/local/include/clutter-1.0/clutter/clutter-bin-layout.h +84 -0
  57. data/vendor/local/include/clutter-1.0/clutter/clutter-bind-constraint.h +69 -0
  58. data/vendor/local/include/clutter-1.0/clutter/clutter-binding-pool.h +122 -0
  59. data/vendor/local/include/clutter-1.0/clutter/clutter-blur-effect.h +57 -0
  60. data/vendor/local/include/clutter-1.0/clutter/clutter-box-layout.h +159 -0
  61. data/vendor/local/include/clutter-1.0/clutter/clutter-brightness-contrast-effect.h +80 -0
  62. data/vendor/local/include/clutter-1.0/clutter/clutter-cairo.h +59 -0
  63. data/vendor/local/include/clutter-1.0/clutter/clutter-canvas.h +100 -0
  64. data/vendor/local/include/clutter-1.0/clutter/clutter-child-meta.h +120 -0
  65. data/vendor/local/include/clutter-1.0/clutter/clutter-click-action.h +114 -0
  66. data/vendor/local/include/clutter-1.0/clutter/clutter-clone.h +90 -0
  67. data/vendor/local/include/clutter-1.0/clutter/clutter-cogl-compat.h +52 -0
  68. data/vendor/local/include/clutter-1.0/clutter/clutter-color-static.h +79 -0
  69. data/vendor/local/include/clutter-1.0/clutter/clutter-color.h +175 -0
  70. data/vendor/local/include/clutter-1.0/clutter/clutter-colorize-effect.h +63 -0
  71. data/vendor/local/include/clutter-1.0/clutter/clutter-config.h +19 -0
  72. data/vendor/local/include/clutter-1.0/clutter/clutter-constraint.h +108 -0
  73. data/vendor/local/include/clutter-1.0/clutter/clutter-container.h +184 -0
  74. data/vendor/local/include/clutter-1.0/clutter/clutter-content.h +103 -0
  75. data/vendor/local/include/clutter-1.0/clutter/clutter-deform-effect.h +111 -0
  76. data/vendor/local/include/clutter-1.0/clutter/clutter-deprecated.h +43 -0
  77. data/vendor/local/include/clutter-1.0/clutter/clutter-desaturate-effect.h +61 -0
  78. data/vendor/local/include/clutter-1.0/clutter/clutter-device-manager.h +104 -0
  79. data/vendor/local/include/clutter-1.0/clutter/clutter-drag-action.h +142 -0
  80. data/vendor/local/include/clutter-1.0/clutter/clutter-drop-action.h +113 -0
  81. data/vendor/local/include/clutter-1.0/clutter/clutter-effect.h +120 -0
  82. data/vendor/local/include/clutter-1.0/clutter/clutter-enum-types.h +183 -0
  83. data/vendor/local/include/clutter-1.0/clutter/clutter-enums.h +1362 -0
  84. data/vendor/local/include/clutter-1.0/clutter/clutter-event.h +509 -0
  85. data/vendor/local/include/clutter-1.0/clutter/clutter-feature.h +40 -0
  86. data/vendor/local/include/clutter-1.0/clutter/clutter-fixed-layout.h +80 -0
  87. data/vendor/local/include/clutter-1.0/clutter/clutter-flow-layout.h +110 -0
  88. data/vendor/local/include/clutter-1.0/clutter/clutter-gesture-action.h +154 -0
  89. data/vendor/local/include/clutter-1.0/clutter/clutter-grid-layout.h +161 -0
  90. data/vendor/local/include/clutter-1.0/clutter/clutter-group.h +95 -0
  91. data/vendor/local/include/clutter-1.0/clutter/clutter-image.h +141 -0
  92. data/vendor/local/include/clutter-1.0/clutter/clutter-input-device.h +118 -0
  93. data/vendor/local/include/clutter-1.0/clutter/clutter-interval.h +141 -0
  94. data/vendor/local/include/clutter-1.0/clutter/clutter-keyframe-transition.h +120 -0
  95. data/vendor/local/include/clutter-1.0/clutter/clutter-keysyms.h +2304 -0
  96. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-manager.h +215 -0
  97. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-meta.h +101 -0
  98. data/vendor/local/include/clutter-1.0/clutter/clutter-list-model.h +88 -0
  99. data/vendor/local/include/clutter-1.0/clutter/clutter-macros.h +279 -0
  100. data/vendor/local/include/clutter-1.0/clutter/clutter-main.h +148 -0
  101. data/vendor/local/include/clutter-1.0/clutter/clutter-marshal.h +273 -0
  102. data/vendor/local/include/clutter-1.0/clutter/clutter-model.h +381 -0
  103. data/vendor/local/include/clutter-1.0/clutter/clutter-offscreen-effect.h +112 -0
  104. data/vendor/local/include/clutter-1.0/clutter/clutter-page-turn-effect.h +72 -0
  105. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-node.h +102 -0
  106. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-nodes.h +150 -0
  107. data/vendor/local/include/clutter-1.0/clutter/clutter-pan-action.h +147 -0
  108. data/vendor/local/include/clutter-1.0/clutter/clutter-path-constraint.h +66 -0
  109. data/vendor/local/include/clutter-1.0/clutter/clutter-path.h +155 -0
  110. data/vendor/local/include/clutter-1.0/clutter/clutter-property-transition.h +91 -0
  111. data/vendor/local/include/clutter-1.0/clutter/clutter-rotate-action.h +100 -0
  112. data/vendor/local/include/clutter-1.0/clutter/clutter-script.h +204 -0
  113. data/vendor/local/include/clutter-1.0/clutter/clutter-scriptable.h +107 -0
  114. data/vendor/local/include/clutter-1.0/clutter/clutter-scroll-actor.h +97 -0
  115. data/vendor/local/include/clutter-1.0/clutter/clutter-settings.h +25 -0
  116. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-effect.h +114 -0
  117. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-types.h +95 -0
  118. data/vendor/local/include/clutter-1.0/clutter/clutter-snap-constraint.h +73 -0
  119. data/vendor/local/include/clutter-1.0/clutter/clutter-stage-manager.h +81 -0
  120. data/vendor/local/include/clutter-1.0/clutter/clutter-stage.h +215 -0
  121. data/vendor/local/include/clutter-1.0/clutter/clutter-swipe-action.h +107 -0
  122. data/vendor/local/include/clutter-1.0/clutter/clutter-table-layout.h +157 -0
  123. data/vendor/local/include/clutter-1.0/clutter/clutter-tap-action.h +102 -0
  124. data/vendor/local/include/clutter-1.0/clutter/clutter-text-buffer.h +172 -0
  125. data/vendor/local/include/clutter-1.0/clutter/clutter-text.h +237 -0
  126. data/vendor/local/include/clutter-1.0/clutter/clutter-texture.h +128 -0
  127. data/vendor/local/include/clutter-1.0/clutter/clutter-timeline.h +201 -0
  128. data/vendor/local/include/clutter-1.0/clutter/clutter-transition-group.h +91 -0
  129. data/vendor/local/include/clutter-1.0/clutter/clutter-transition.h +132 -0
  130. data/vendor/local/include/clutter-1.0/clutter/clutter-types.h +715 -0
  131. data/vendor/local/include/clutter-1.0/clutter/clutter-units.h +166 -0
  132. data/vendor/local/include/clutter-1.0/clutter/clutter-version.h +302 -0
  133. data/vendor/local/include/clutter-1.0/clutter/clutter-zoom-action.h +114 -0
  134. data/vendor/local/include/clutter-1.0/clutter/clutter.h +118 -0
  135. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-actor.h +161 -0
  136. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-alpha.h +144 -0
  137. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animatable.h +47 -0
  138. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animation.h +206 -0
  139. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animator.h +186 -0
  140. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-backend.h +64 -0
  141. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-depth.h +101 -0
  142. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-ellipse.h +159 -0
  143. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-opacity.h +115 -0
  144. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-path.h +135 -0
  145. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-rotate.h +119 -0
  146. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-scale.h +107 -0
  147. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour.h +170 -0
  148. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-bin-layout.h +56 -0
  149. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-box.h +143 -0
  150. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-cairo-texture.h +139 -0
  151. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-container.h +93 -0
  152. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-fixed.h +97 -0
  153. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-frame-source.h +49 -0
  154. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-group.h +62 -0
  155. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-input-device.h +41 -0
  156. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-keysyms.h +2306 -0
  157. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-main.h +96 -0
  158. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-media.h +121 -0
  159. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-rectangle.h +117 -0
  160. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-score.h +144 -0
  161. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-shader.h +182 -0
  162. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage-manager.h +42 -0
  163. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage.h +102 -0
  164. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-state.h +187 -0
  165. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-texture.h +138 -0
  166. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeline.h +41 -0
  167. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeout-pool.h +69 -0
  168. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-util.h +40 -0
  169. data/vendor/local/include/clutter-1.0/clutter/win32/clutter-win32.h +58 -0
  170. data/vendor/local/include/cogl/cogl-pango/cogl-pango.h +245 -0
  171. data/vendor/local/include/cogl/cogl/cogl-attribute-buffer.h +131 -0
  172. data/vendor/local/include/cogl/cogl/cogl-attribute.h +532 -0
  173. data/vendor/local/include/cogl/cogl/cogl-bitmap.h +314 -0
  174. data/vendor/local/include/cogl/cogl/cogl-buffer.h +309 -0
  175. data/vendor/local/include/cogl/cogl/cogl-clip-state.h +50 -0
  176. data/vendor/local/include/cogl/cogl/cogl-clutter.h +47 -0
  177. data/vendor/local/include/cogl/cogl/cogl-color.h +543 -0
  178. data/vendor/local/include/cogl/cogl/cogl-context.h +350 -0
  179. data/vendor/local/include/cogl/cogl/cogl-defines.h +50 -0
  180. data/vendor/local/include/cogl/cogl/cogl-deprecated.h +36 -0
  181. data/vendor/local/include/cogl/cogl/cogl-depth-state.h +264 -0
  182. data/vendor/local/include/cogl/cogl/cogl-display.h +192 -0
  183. data/vendor/local/include/cogl/cogl/cogl-enum-types.h +100 -0
  184. data/vendor/local/include/cogl/cogl/cogl-error.h +176 -0
  185. data/vendor/local/include/cogl/cogl/cogl-euler.h +251 -0
  186. data/vendor/local/include/cogl/cogl/cogl-fixed.h +804 -0
  187. data/vendor/local/include/cogl/cogl/cogl-frame-info.h +129 -0
  188. data/vendor/local/include/cogl/cogl/cogl-framebuffer.h +1829 -0
  189. data/vendor/local/include/cogl/cogl/cogl-gles2-types.h +474 -0
  190. data/vendor/local/include/cogl/cogl/cogl-gles2.h +374 -0
  191. data/vendor/local/include/cogl/cogl/cogl-glib-source.h +59 -0
  192. data/vendor/local/include/cogl/cogl/cogl-index-buffer.h +85 -0
  193. data/vendor/local/include/cogl/cogl/cogl-indices.h +145 -0
  194. data/vendor/local/include/cogl/cogl/cogl-material-compat.h +1276 -0
  195. data/vendor/local/include/cogl/cogl/cogl-matrix-stack.h +620 -0
  196. data/vendor/local/include/cogl/cogl/cogl-matrix.h +798 -0
  197. data/vendor/local/include/cogl/cogl/cogl-meta-texture.h +181 -0
  198. data/vendor/local/include/cogl/cogl/cogl-object.h +219 -0
  199. data/vendor/local/include/cogl/cogl/cogl-offscreen.h +117 -0
  200. data/vendor/local/include/cogl/cogl/cogl-onscreen-template.h +106 -0
  201. data/vendor/local/include/cogl/cogl/cogl-onscreen.h +741 -0
  202. data/vendor/local/include/cogl/cogl/cogl-output.h +242 -0
  203. data/vendor/local/include/cogl/cogl/cogl-pango.h +33 -0
  204. data/vendor/local/include/cogl/cogl/cogl-path-functions.h +430 -0
  205. data/vendor/local/include/cogl/cogl/cogl-path.h +102 -0
  206. data/vendor/local/include/cogl/cogl/cogl-pipeline-layer-state.h +613 -0
  207. data/vendor/local/include/cogl/cogl/cogl-pipeline-state.h +924 -0
  208. data/vendor/local/include/cogl/cogl/cogl-pipeline.h +173 -0
  209. data/vendor/local/include/cogl/cogl/cogl-pixel-buffer.h +114 -0
  210. data/vendor/local/include/cogl/cogl/cogl-poll.h +174 -0
  211. data/vendor/local/include/cogl/cogl/cogl-primitive-texture.h +98 -0
  212. data/vendor/local/include/cogl/cogl/cogl-primitive.h +866 -0
  213. data/vendor/local/include/cogl/cogl/cogl-primitives.h +190 -0
  214. data/vendor/local/include/cogl/cogl/cogl-quaternion.h +545 -0
  215. data/vendor/local/include/cogl/cogl/cogl-renderer.h +423 -0
  216. data/vendor/local/include/cogl/cogl/cogl-shader.h +654 -0
  217. data/vendor/local/include/cogl/cogl/cogl-snippet.h +786 -0
  218. data/vendor/local/include/cogl/cogl/cogl-sub-texture.h +122 -0
  219. data/vendor/local/include/cogl/cogl/cogl-swap-chain.h +51 -0
  220. data/vendor/local/include/cogl/cogl/cogl-texture-2d-gl.h +73 -0
  221. data/vendor/local/include/cogl/cogl/cogl-texture-2d-sliced.h +130 -0
  222. data/vendor/local/include/cogl/cogl/cogl-texture-2d.h +191 -0
  223. data/vendor/local/include/cogl/cogl/cogl-texture-3d.h +187 -0
  224. data/vendor/local/include/cogl/cogl/cogl-texture-rectangle.h +204 -0
  225. data/vendor/local/include/cogl/cogl/cogl-texture.h +611 -0
  226. data/vendor/local/include/cogl/cogl/cogl-types.h +912 -0
  227. data/vendor/local/include/cogl/cogl/cogl-vector.h +351 -0
  228. data/vendor/local/include/cogl/cogl/cogl-version.h +185 -0
  229. data/vendor/local/include/cogl/cogl/cogl-vertex-buffer.h +409 -0
  230. data/vendor/local/include/cogl/cogl/cogl-win32-renderer.h +99 -0
  231. data/vendor/local/include/cogl/cogl/cogl.h +151 -0
  232. data/vendor/local/include/cogl/cogl/cogl1-context.h +1169 -0
  233. data/vendor/local/include/cogl/cogl/cogl2-compatibility.h +55 -0
  234. data/vendor/local/include/cogl/cogl/cogl2-experimental.h +31 -0
  235. data/vendor/local/include/cogl/cogl/cogl2-path.h +506 -0
  236. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-core-functions.h +191 -0
  237. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-gles2-functions.h +36 -0
  238. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-glsl-functions.h +279 -0
  239. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles-core-functions.h +141 -0
  240. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles2-core-functions.h +179 -0
  241. data/vendor/local/include/json-glib-1.0/json-glib/json-builder.h +106 -0
  242. data/vendor/local/include/json-glib-1.0/json-glib/json-enum-types.h +36 -0
  243. data/vendor/local/include/json-glib-1.0/json-glib/json-generator.h +107 -0
  244. data/vendor/local/include/json-glib-1.0/json-glib/json-glib.h +46 -0
  245. data/vendor/local/include/json-glib-1.0/json-glib/json-gobject.h +182 -0
  246. data/vendor/local/include/json-glib-1.0/json-glib/json-gvariant.h +46 -0
  247. data/vendor/local/include/json-glib-1.0/json-glib/json-parser.h +173 -0
  248. data/vendor/local/include/json-glib-1.0/json-glib/json-path.h +97 -0
  249. data/vendor/local/include/json-glib-1.0/json-glib/json-reader.h +150 -0
  250. data/vendor/local/include/json-glib-1.0/json-glib/json-types.h +334 -0
  251. data/vendor/local/include/json-glib-1.0/json-glib/json-version.h +100 -0
  252. data/vendor/local/lib/girepository-1.0/Cally-1.0.typelib +0 -0
  253. data/vendor/local/lib/girepository-1.0/Clutter-1.0.typelib +0 -0
  254. data/vendor/local/lib/girepository-1.0/Cogl-1.0.typelib +0 -0
  255. data/vendor/local/lib/girepository-1.0/CoglPango-1.0.typelib +0 -0
  256. data/vendor/local/lib/girepository-1.0/Json-1.0.typelib +0 -0
  257. data/vendor/local/lib/libclutter-1.0.dll.a +0 -0
  258. data/vendor/local/lib/libclutter-1.0.la +41 -0
  259. data/vendor/local/lib/libcogl-pango.dll.a +0 -0
  260. data/vendor/local/lib/libcogl-pango.la +41 -0
  261. data/vendor/local/lib/libcogl.dll.a +0 -0
  262. data/vendor/local/lib/libcogl.la +41 -0
  263. data/vendor/local/lib/libglut.a +0 -0
  264. data/vendor/local/lib/libglut.dll.a +0 -0
  265. data/vendor/local/lib/libglut.la +41 -0
  266. data/vendor/local/lib/libjson-glib-1.0.dll.a +0 -0
  267. data/vendor/local/lib/libjson-glib-1.0.la +41 -0
  268. data/vendor/local/lib/pkgconfig/cally-1.0.pc +13 -0
  269. data/vendor/local/lib/pkgconfig/clutter-1.0.pc +24 -0
  270. data/vendor/local/lib/pkgconfig/clutter-win32-1.0.pc +24 -0
  271. data/vendor/local/lib/pkgconfig/cogl-1.0.pc +13 -0
  272. data/vendor/local/lib/pkgconfig/cogl-2.0-experimental.pc +13 -0
  273. data/vendor/local/lib/pkgconfig/cogl-gl-1.0.pc +13 -0
  274. data/vendor/local/lib/pkgconfig/cogl-pango-1.0.pc +13 -0
  275. data/vendor/local/lib/pkgconfig/cogl-pango-2.0-experimental.pc +13 -0
  276. data/vendor/local/lib/pkgconfig/json-glib-1.0.pc +11 -0
  277. data/vendor/local/share/cogl/examples-data/crate.jpg +0 -0
  278. data/vendor/local/share/gir-1.0/Cally-1.0.gir +679 -0
  279. data/vendor/local/share/gir-1.0/Clutter-1.0.gir +67473 -0
  280. data/vendor/local/share/gir-1.0/Cogl-1.0.gir +8383 -0
  281. data/vendor/local/share/gir-1.0/CoglPango-1.0.gir +306 -0
  282. data/vendor/local/share/gir-1.0/Json-1.0.gir +4333 -0
  283. data/vendor/local/share/gtk-doc/html/cally/CallyActor.html +415 -0
  284. data/vendor/local/share/gtk-doc/html/cally/CallyClone.html +136 -0
  285. data/vendor/local/share/gtk-doc/html/cally/CallyGroup.html +139 -0
  286. data/vendor/local/share/gtk-doc/html/cally/CallyRectangle.html +135 -0
  287. data/vendor/local/share/gtk-doc/html/cally/CallyRoot.html +123 -0
  288. data/vendor/local/share/gtk-doc/html/cally/CallyStage.html +140 -0
  289. data/vendor/local/share/gtk-doc/html/cally/CallyText.html +133 -0
  290. data/vendor/local/share/gtk-doc/html/cally/CallyTexture.html +135 -0
  291. data/vendor/local/share/gtk-doc/html/cally/CallyUtil.html +100 -0
  292. data/vendor/local/share/gtk-doc/html/cally/cally-General-API.html +167 -0
  293. data/vendor/local/share/gtk-doc/html/cally/cally.devhelp2 +73 -0
  294. data/vendor/local/share/gtk-doc/html/cally/callyannotationglossary.html +43 -0
  295. data/vendor/local/share/gtk-doc/html/cally/callybase.html +71 -0
  296. data/vendor/local/share/gtk-doc/html/cally/callyobjecthierarchy.html +45 -0
  297. data/vendor/local/share/gtk-doc/html/cally/callyobjectindex.html +64 -0
  298. data/vendor/local/share/gtk-doc/html/cally/callyobjects.html +39 -0
  299. data/vendor/local/share/gtk-doc/html/cally/ch01.html +53 -0
  300. data/vendor/local/share/gtk-doc/html/cally/ch02.html +41 -0
  301. data/vendor/local/share/gtk-doc/html/cally/clutter-overview.html +96 -0
  302. data/vendor/local/share/gtk-doc/html/cally/home.png +0 -0
  303. data/vendor/local/share/gtk-doc/html/cally/index.html +103 -0
  304. data/vendor/local/share/gtk-doc/html/cally/index.sgml +103 -0
  305. data/vendor/local/share/gtk-doc/html/cally/ix01.html +198 -0
  306. data/vendor/local/share/gtk-doc/html/cally/ix02.html +31 -0
  307. data/vendor/local/share/gtk-doc/html/cally/ix03.html +190 -0
  308. data/vendor/local/share/gtk-doc/html/cally/ix04.html +42 -0
  309. data/vendor/local/share/gtk-doc/html/cally/left.png +0 -0
  310. data/vendor/local/share/gtk-doc/html/cally/license.html +58 -0
  311. data/vendor/local/share/gtk-doc/html/cally/right.png +0 -0
  312. data/vendor/local/share/gtk-doc/html/cally/style.css +266 -0
  313. data/vendor/local/share/gtk-doc/html/cally/up.png +0 -0
  314. data/vendor/local/share/gtk-doc/html/clutter/ClutterAction.html +110 -0
  315. data/vendor/local/share/gtk-doc/html/clutter/ClutterActor.html +13714 -0
  316. data/vendor/local/share/gtk-doc/html/clutter/ClutterActorMeta.html +322 -0
  317. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlignConstraint.html +404 -0
  318. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlpha.html +747 -0
  319. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimatable.html +432 -0
  320. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimator.html +1218 -0
  321. data/vendor/local/share/gtk-doc/html/clutter/ClutterBackend.html +684 -0
  322. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviour.html +697 -0
  323. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourDepth.html +278 -0
  324. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourEllipse.html +844 -0
  325. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourOpacity.html +283 -0
  326. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourPath.html +450 -0
  327. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourRotate.html +608 -0
  328. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourScale.html +432 -0
  329. data/vendor/local/share/gtk-doc/html/clutter/ClutterBinLayout.html +1056 -0
  330. data/vendor/local/share/gtk-doc/html/clutter/ClutterBindConstraint.html +780 -0
  331. data/vendor/local/share/gtk-doc/html/clutter/ClutterBlurEffect.html +109 -0
  332. data/vendor/local/share/gtk-doc/html/clutter/ClutterBox.html +657 -0
  333. data/vendor/local/share/gtk-doc/html/clutter/ClutterBoxLayout.html +1232 -0
  334. data/vendor/local/share/gtk-doc/html/clutter/ClutterBrightnessContrastEffect.html +410 -0
  335. data/vendor/local/share/gtk-doc/html/clutter/ClutterCairoTexture.html +1018 -0
  336. data/vendor/local/share/gtk-doc/html/clutter/ClutterCanvas.html +469 -0
  337. data/vendor/local/share/gtk-doc/html/clutter/ClutterChildMeta.html +253 -0
  338. data/vendor/local/share/gtk-doc/html/clutter/ClutterClickAction.html +587 -0
  339. data/vendor/local/share/gtk-doc/html/clutter/ClutterClone.html +219 -0
  340. data/vendor/local/share/gtk-doc/html/clutter/ClutterColorizeEffect.html +193 -0
  341. data/vendor/local/share/gtk-doc/html/clutter/ClutterConstraint.html +336 -0
  342. data/vendor/local/share/gtk-doc/html/clutter/ClutterContainer.html +1346 -0
  343. data/vendor/local/share/gtk-doc/html/clutter/ClutterContent.html +309 -0
  344. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeformEffect.html +353 -0
  345. data/vendor/local/share/gtk-doc/html/clutter/ClutterDesaturateEffect.html +200 -0
  346. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeviceManager.html +408 -0
  347. data/vendor/local/share/gtk-doc/html/clutter/ClutterDragAction.html +1224 -0
  348. data/vendor/local/share/gtk-doc/html/clutter/ClutterDropAction.html +965 -0
  349. data/vendor/local/share/gtk-doc/html/clutter/ClutterEffect.html +386 -0
  350. data/vendor/local/share/gtk-doc/html/clutter/ClutterFixedLayout.html +115 -0
  351. data/vendor/local/share/gtk-doc/html/clutter/ClutterFlowLayout.html +1016 -0
  352. data/vendor/local/share/gtk-doc/html/clutter/ClutterGestureAction.html +867 -0
  353. data/vendor/local/share/gtk-doc/html/clutter/ClutterGridLayout.html +808 -0
  354. data/vendor/local/share/gtk-doc/html/clutter/ClutterGroup.html +231 -0
  355. data/vendor/local/share/gtk-doc/html/clutter/ClutterImage.html +674 -0
  356. data/vendor/local/share/gtk-doc/html/clutter/ClutterInputDevice.html +1488 -0
  357. data/vendor/local/share/gtk-doc/html/clutter/ClutterKeyframeTransition.html +525 -0
  358. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutManager.html +1376 -0
  359. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutMeta.html +161 -0
  360. data/vendor/local/share/gtk-doc/html/clutter/ClutterListModel.html +211 -0
  361. data/vendor/local/share/gtk-doc/html/clutter/ClutterMedia.html +900 -0
  362. data/vendor/local/share/gtk-doc/html/clutter/ClutterModel.html +1715 -0
  363. data/vendor/local/share/gtk-doc/html/clutter/ClutterModelIter.html +644 -0
  364. data/vendor/local/share/gtk-doc/html/clutter/ClutterOffscreenEffect.html +350 -0
  365. data/vendor/local/share/gtk-doc/html/clutter/ClutterPageTurnEffect.html +333 -0
  366. data/vendor/local/share/gtk-doc/html/clutter/ClutterPaintNode.html +534 -0
  367. data/vendor/local/share/gtk-doc/html/clutter/ClutterPanAction.html +785 -0
  368. data/vendor/local/share/gtk-doc/html/clutter/ClutterPath.html +1327 -0
  369. data/vendor/local/share/gtk-doc/html/clutter/ClutterPathConstraint.html +321 -0
  370. data/vendor/local/share/gtk-doc/html/clutter/ClutterPropertyTransition.html +216 -0
  371. data/vendor/local/share/gtk-doc/html/clutter/ClutterRectangle.html +369 -0
  372. data/vendor/local/share/gtk-doc/html/clutter/ClutterRotateAction.html +183 -0
  373. data/vendor/local/share/gtk-doc/html/clutter/ClutterScore.html +881 -0
  374. data/vendor/local/share/gtk-doc/html/clutter/ClutterScript.html +1365 -0
  375. data/vendor/local/share/gtk-doc/html/clutter/ClutterScriptable.html +311 -0
  376. data/vendor/local/share/gtk-doc/html/clutter/ClutterScrollActor.html +731 -0
  377. data/vendor/local/share/gtk-doc/html/clutter/ClutterSettings.html +301 -0
  378. data/vendor/local/share/gtk-doc/html/clutter/ClutterShaderEffect.html +595 -0
  379. data/vendor/local/share/gtk-doc/html/clutter/ClutterSnapConstraint.html +421 -0
  380. data/vendor/local/share/gtk-doc/html/clutter/ClutterStage.html +2252 -0
  381. data/vendor/local/share/gtk-doc/html/clutter/ClutterState.html +1558 -0
  382. data/vendor/local/share/gtk-doc/html/clutter/ClutterSwipeAction.html +280 -0
  383. data/vendor/local/share/gtk-doc/html/clutter/ClutterTableLayout.html +1146 -0
  384. data/vendor/local/share/gtk-doc/html/clutter/ClutterTapAction.html +192 -0
  385. data/vendor/local/share/gtk-doc/html/clutter/ClutterText.html +3058 -0
  386. data/vendor/local/share/gtk-doc/html/clutter/ClutterTextBuffer.html +736 -0
  387. data/vendor/local/share/gtk-doc/html/clutter/ClutterTexture.html +1829 -0
  388. data/vendor/local/share/gtk-doc/html/clutter/ClutterTimeline.html +2441 -0
  389. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransition.html +574 -0
  390. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransitionGroup.html +227 -0
  391. data/vendor/local/share/gtk-doc/html/clutter/ClutterZoomAction.html +400 -0
  392. data/vendor/local/share/gtk-doc/html/clutter/actor-box.png +0 -0
  393. data/vendor/local/share/gtk-doc/html/clutter/actor-example.png +0 -0
  394. data/vendor/local/share/gtk-doc/html/clutter/animator-key-frames.png +0 -0
  395. data/vendor/local/share/gtk-doc/html/clutter/annotation-glossary.html +111 -0
  396. data/vendor/local/share/gtk-doc/html/clutter/bin-layout.png +0 -0
  397. data/vendor/local/share/gtk-doc/html/clutter/box-layout.png +0 -0
  398. data/vendor/local/share/gtk-doc/html/clutter/building-clutter.html +275 -0
  399. data/vendor/local/share/gtk-doc/html/clutter/ch01.html +65 -0
  400. data/vendor/local/share/gtk-doc/html/clutter/ch02.html +47 -0
  401. data/vendor/local/share/gtk-doc/html/clutter/ch03.html +51 -0
  402. data/vendor/local/share/gtk-doc/html/clutter/ch04.html +59 -0
  403. data/vendor/local/share/gtk-doc/html/clutter/ch05.html +44 -0
  404. data/vendor/local/share/gtk-doc/html/clutter/ch06.html +57 -0
  405. data/vendor/local/share/gtk-doc/html/clutter/ch07.html +38 -0
  406. data/vendor/local/share/gtk-doc/html/clutter/ch08.html +38 -0
  407. data/vendor/local/share/gtk-doc/html/clutter/ch09.html +53 -0
  408. data/vendor/local/share/gtk-doc/html/clutter/ch10.html +78 -0
  409. data/vendor/local/share/gtk-doc/html/clutter/ch11.html +38 -0
  410. data/vendor/local/share/gtk-doc/html/clutter/ch12.html +41 -0
  411. data/vendor/local/share/gtk-doc/html/clutter/clutter-Base-geometric-types.html +3471 -0
  412. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterGLXTexturePixmap.html +225 -0
  413. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterWaylandSurface.html +314 -0
  414. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterX11TexturePixmap.html +361 -0
  415. data/vendor/local/share/gtk-doc/html/clutter/clutter-Colors.html +1363 -0
  416. data/vendor/local/share/gtk-doc/html/clutter/clutter-EGL-Specific-Support.html +129 -0
  417. data/vendor/local/share/gtk-doc/html/clutter/clutter-Events.html +2653 -0
  418. data/vendor/local/share/gtk-doc/html/clutter/clutter-Features.html +200 -0
  419. data/vendor/local/share/gtk-doc/html/clutter/clutter-GDK-Specific-Support.html +249 -0
  420. data/vendor/local/share/gtk-doc/html/clutter/clutter-General.html +2550 -0
  421. data/vendor/local/share/gtk-doc/html/clutter/clutter-Implicit-Animations.html +2571 -0
  422. data/vendor/local/share/gtk-doc/html/clutter/clutter-Intel-CE3100-CE4100-Specific-Support.html +181 -0
  423. data/vendor/local/share/gtk-doc/html/clutter/clutter-Key-Bindings.html +890 -0
  424. data/vendor/local/share/gtk-doc/html/clutter/clutter-Paint-Nodes.html +351 -0
  425. data/vendor/local/share/gtk-doc/html/clutter/clutter-Shaders.html +1004 -0
  426. data/vendor/local/share/gtk-doc/html/clutter/clutter-Stage-Manager.html +341 -0
  427. data/vendor/local/share/gtk-doc/html/clutter/clutter-Unit-conversion.html +843 -0
  428. data/vendor/local/share/gtk-doc/html/clutter/clutter-Utilities.html +549 -0
  429. data/vendor/local/share/gtk-doc/html/clutter/clutter-Value-intervals.html +1023 -0
  430. data/vendor/local/share/gtk-doc/html/clutter/clutter-Versioning-Macros.html +525 -0
  431. data/vendor/local/share/gtk-doc/html/clutter/clutter-Wayland-compositor-specific-support.html +83 -0
  432. data/vendor/local/share/gtk-doc/html/clutter/clutter-Win32-Specific-Support.html +201 -0
  433. data/vendor/local/share/gtk-doc/html/clutter/clutter-X11-Specific-Support.html +806 -0
  434. data/vendor/local/share/gtk-doc/html/clutter/clutter-overview.html +77 -0
  435. data/vendor/local/share/gtk-doc/html/clutter/clutter.devhelp2 +2715 -0
  436. data/vendor/local/share/gtk-doc/html/clutter/clutteranimation.html +65 -0
  437. data/vendor/local/share/gtk-doc/html/clutter/clutterbackends.html +71 -0
  438. data/vendor/local/share/gtk-doc/html/clutter/clutterbase.html +202 -0
  439. data/vendor/local/share/gtk-doc/html/clutter/clutterglossary.html +37 -0
  440. data/vendor/local/share/gtk-doc/html/clutter/clutterobjecthierarchy.html +118 -0
  441. data/vendor/local/share/gtk-doc/html/clutter/clutterobjectindex.html +184 -0
  442. data/vendor/local/share/gtk-doc/html/clutter/clutterobjects.html +37 -0
  443. data/vendor/local/share/gtk-doc/html/clutter/cluttertools.html +105 -0
  444. data/vendor/local/share/gtk-doc/html/clutter/constraints-example.png +0 -0
  445. data/vendor/local/share/gtk-doc/html/clutter/deprecated.html +86 -0
  446. data/vendor/local/share/gtk-doc/html/clutter/easing-modes.png +0 -0
  447. data/vendor/local/share/gtk-doc/html/clutter/event-flow.png +0 -0
  448. data/vendor/local/share/gtk-doc/html/clutter/flow-layout.png +0 -0
  449. data/vendor/local/share/gtk-doc/html/clutter/go01.html +114 -0
  450. data/vendor/local/share/gtk-doc/html/clutter/home.png +0 -0
  451. data/vendor/local/share/gtk-doc/html/clutter/index.html +451 -0
  452. data/vendor/local/share/gtk-doc/html/clutter/index.sgml +3272 -0
  453. data/vendor/local/share/gtk-doc/html/clutter/iterating-paths.html +56 -0
  454. data/vendor/local/share/gtk-doc/html/clutter/ix01.html +8815 -0
  455. data/vendor/local/share/gtk-doc/html/clutter/ix02.html +1961 -0
  456. data/vendor/local/share/gtk-doc/html/clutter/ix03.html +454 -0
  457. data/vendor/local/share/gtk-doc/html/clutter/ix04.html +583 -0
  458. data/vendor/local/share/gtk-doc/html/clutter/ix05.html +957 -0
  459. data/vendor/local/share/gtk-doc/html/clutter/ix06.html +642 -0
  460. data/vendor/local/share/gtk-doc/html/clutter/ix07.html +1530 -0
  461. data/vendor/local/share/gtk-doc/html/clutter/ix08.html +820 -0
  462. data/vendor/local/share/gtk-doc/html/clutter/ix09.html +1005 -0
  463. data/vendor/local/share/gtk-doc/html/clutter/ix10.html +369 -0
  464. data/vendor/local/share/gtk-doc/html/clutter/ix11.html +366 -0
  465. data/vendor/local/share/gtk-doc/html/clutter/ix12.html +1078 -0
  466. data/vendor/local/share/gtk-doc/html/clutter/ix13.html +984 -0
  467. data/vendor/local/share/gtk-doc/html/clutter/ix14.html +99 -0
  468. data/vendor/local/share/gtk-doc/html/clutter/left.png +0 -0
  469. data/vendor/local/share/gtk-doc/html/clutter/license.html +58 -0
  470. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterAnimation.html +223 -0
  471. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterBehaviour.html +197 -0
  472. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterEffect.html +154 -0
  473. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterPath.html +156 -0
  474. data/vendor/local/share/gtk-doc/html/clutter/migration.html +49 -0
  475. data/vendor/local/share/gtk-doc/html/clutter/offscreen-redirect.png +0 -0
  476. data/vendor/local/share/gtk-doc/html/clutter/path-alpha-func.png +0 -0
  477. data/vendor/local/share/gtk-doc/html/clutter/pt09.html +31 -0
  478. data/vendor/local/share/gtk-doc/html/clutter/right.png +0 -0
  479. data/vendor/local/share/gtk-doc/html/clutter/running-clutter.html +373 -0
  480. data/vendor/local/share/gtk-doc/html/clutter/style.css +266 -0
  481. data/vendor/local/share/gtk-doc/html/clutter/table-layout.png +0 -0
  482. data/vendor/local/share/gtk-doc/html/clutter/up.png +0 -0
  483. data/vendor/local/share/gtk-doc/html/clutter/using-cairo.html +36 -0
  484. data/vendor/local/share/gtk-doc/html/json-glib/JsonBuilder.html +513 -0
  485. data/vendor/local/share/gtk-doc/html/json-glib/JsonGenerator.html +492 -0
  486. data/vendor/local/share/gtk-doc/html/json-glib/JsonParser.html +871 -0
  487. data/vendor/local/share/gtk-doc/html/json-glib/JsonPath.html +464 -0
  488. data/vendor/local/share/gtk-doc/html/json-glib/JsonReader.html +898 -0
  489. data/vendor/local/share/gtk-doc/html/json-glib/annotation-glossary.html +87 -0
  490. data/vendor/local/share/gtk-doc/html/json-glib/ch01.html +41 -0
  491. data/vendor/local/share/gtk-doc/html/json-glib/ch02.html +41 -0
  492. data/vendor/local/share/gtk-doc/html/json-glib/ch03.html +38 -0
  493. data/vendor/local/share/gtk-doc/html/json-glib/ch04.html +38 -0
  494. data/vendor/local/share/gtk-doc/html/json-glib/home.png +0 -0
  495. data/vendor/local/share/gtk-doc/html/json-glib/index.html +125 -0
  496. data/vendor/local/share/gtk-doc/html/json-glib/index.sgml +308 -0
  497. data/vendor/local/share/gtk-doc/html/json-glib/ix01.html +926 -0
  498. data/vendor/local/share/gtk-doc/html/json-glib/ix02.html +54 -0
  499. data/vendor/local/share/gtk-doc/html/json-glib/ix03.html +61 -0
  500. data/vendor/local/share/gtk-doc/html/json-glib/ix04.html +54 -0
  501. data/vendor/local/share/gtk-doc/html/json-glib/ix05.html +186 -0
  502. data/vendor/local/share/gtk-doc/html/json-glib/ix06.html +121 -0
  503. data/vendor/local/share/gtk-doc/html/json-glib/ix07.html +161 -0
  504. data/vendor/local/share/gtk-doc/html/json-glib/ix08.html +137 -0
  505. data/vendor/local/share/gtk-doc/html/json-glib/json-advanced.html +47 -0
  506. data/vendor/local/share/gtk-doc/html/json-glib/json-base.html +61 -0
  507. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Boxed-Types-Serialization.html +382 -0
  508. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-GObject-Serialization.html +310 -0
  509. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Array.html +850 -0
  510. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-GVariant-Integration.html +272 -0
  511. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Node.html +942 -0
  512. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Object.html +993 -0
  513. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Serializable-Interface.html +476 -0
  514. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Versioning-information.html +148 -0
  515. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.devhelp2 +281 -0
  516. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.html +38 -0
  517. data/vendor/local/share/gtk-doc/html/json-glib/json-streams.html +63 -0
  518. data/vendor/local/share/gtk-doc/html/json-glib/json-tools.html +39 -0
  519. data/vendor/local/share/gtk-doc/html/json-glib/left.png +0 -0
  520. data/vendor/local/share/gtk-doc/html/json-glib/license.html +58 -0
  521. data/vendor/local/share/gtk-doc/html/json-glib/right.png +0 -0
  522. data/vendor/local/share/gtk-doc/html/json-glib/style.css +266 -0
  523. data/vendor/local/share/gtk-doc/html/json-glib/up.png +0 -0
  524. data/vendor/local/share/license/clutter/COPYING +502 -0
  525. data/vendor/local/share/license/cogl/COPYING +502 -0
  526. data/vendor/local/share/license/freeglut/AUTHORS +39 -0
  527. data/vendor/local/share/license/freeglut/COPYING +27 -0
  528. data/vendor/local/share/license/json-glib/COPYING +504 -0
  529. data/vendor/local/share/locale/an/LC_MESSAGES/cogl.mo +0 -0
  530. data/vendor/local/share/locale/ar/LC_MESSAGES/clutter-1.0.mo +0 -0
  531. data/vendor/local/share/locale/ar/LC_MESSAGES/cogl.mo +0 -0
  532. data/vendor/local/share/locale/as/LC_MESSAGES/clutter-1.0.mo +0 -0
  533. data/vendor/local/share/locale/as/LC_MESSAGES/cogl.mo +0 -0
  534. data/vendor/local/share/locale/ast/LC_MESSAGES/clutter-1.0.mo +0 -0
  535. data/vendor/local/share/locale/ast/LC_MESSAGES/cogl.mo +0 -0
  536. data/vendor/local/share/locale/az_IR/LC_MESSAGES/clutter-1.0.mo +0 -0
  537. data/vendor/local/share/locale/be/LC_MESSAGES/clutter-1.0.mo +0 -0
  538. data/vendor/local/share/locale/be/LC_MESSAGES/cogl.mo +0 -0
  539. data/vendor/local/share/locale/bg/LC_MESSAGES/clutter-1.0.mo +0 -0
  540. data/vendor/local/share/locale/bg/LC_MESSAGES/cogl.mo +0 -0
  541. data/vendor/local/share/locale/ca/LC_MESSAGES/clutter-1.0.mo +0 -0
  542. data/vendor/local/share/locale/ca/LC_MESSAGES/cogl.mo +0 -0
  543. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/clutter-1.0.mo +0 -0
  544. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/cogl.mo +0 -0
  545. data/vendor/local/share/locale/cs/LC_MESSAGES/clutter-1.0.mo +0 -0
  546. data/vendor/local/share/locale/cs/LC_MESSAGES/cogl.mo +0 -0
  547. data/vendor/local/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo +0 -0
  548. data/vendor/local/share/locale/da/LC_MESSAGES/clutter-1.0.mo +0 -0
  549. data/vendor/local/share/locale/da/LC_MESSAGES/cogl.mo +0 -0
  550. data/vendor/local/share/locale/de/LC_MESSAGES/clutter-1.0.mo +0 -0
  551. data/vendor/local/share/locale/de/LC_MESSAGES/cogl.mo +0 -0
  552. data/vendor/local/share/locale/de/LC_MESSAGES/json-glib-1.0.mo +0 -0
  553. data/vendor/local/share/locale/el/LC_MESSAGES/clutter-1.0.mo +0 -0
  554. data/vendor/local/share/locale/el/LC_MESSAGES/cogl.mo +0 -0
  555. data/vendor/local/share/locale/el/LC_MESSAGES/json-glib-1.0.mo +0 -0
  556. data/vendor/local/share/locale/en_CA/LC_MESSAGES/cogl.mo +0 -0
  557. data/vendor/local/share/locale/en_GB/LC_MESSAGES/clutter-1.0.mo +0 -0
  558. data/vendor/local/share/locale/en_GB/LC_MESSAGES/cogl.mo +0 -0
  559. data/vendor/local/share/locale/eo/LC_MESSAGES/clutter-1.0.mo +0 -0
  560. data/vendor/local/share/locale/eo/LC_MESSAGES/cogl.mo +0 -0
  561. data/vendor/local/share/locale/es/LC_MESSAGES/clutter-1.0.mo +0 -0
  562. data/vendor/local/share/locale/es/LC_MESSAGES/cogl.mo +0 -0
  563. data/vendor/local/share/locale/es/LC_MESSAGES/json-glib-1.0.mo +0 -0
  564. data/vendor/local/share/locale/eu/LC_MESSAGES/cogl.mo +0 -0
  565. data/vendor/local/share/locale/fa/LC_MESSAGES/clutter-1.0.mo +0 -0
  566. data/vendor/local/share/locale/fa/LC_MESSAGES/cogl.mo +0 -0
  567. data/vendor/local/share/locale/fi/LC_MESSAGES/clutter-1.0.mo +0 -0
  568. data/vendor/local/share/locale/fr/LC_MESSAGES/clutter-1.0.mo +0 -0
  569. data/vendor/local/share/locale/fr/LC_MESSAGES/cogl.mo +0 -0
  570. data/vendor/local/share/locale/gl/LC_MESSAGES/clutter-1.0.mo +0 -0
  571. data/vendor/local/share/locale/gl/LC_MESSAGES/cogl.mo +0 -0
  572. data/vendor/local/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  573. data/vendor/local/share/locale/he/LC_MESSAGES/clutter-1.0.mo +0 -0
  574. data/vendor/local/share/locale/he/LC_MESSAGES/cogl.mo +0 -0
  575. data/vendor/local/share/locale/hi/LC_MESSAGES/clutter-1.0.mo +0 -0
  576. data/vendor/local/share/locale/hi/LC_MESSAGES/cogl.mo +0 -0
  577. data/vendor/local/share/locale/hu/LC_MESSAGES/cogl.mo +0 -0
  578. data/vendor/local/share/locale/id/LC_MESSAGES/clutter-1.0.mo +0 -0
  579. data/vendor/local/share/locale/id/LC_MESSAGES/cogl.mo +0 -0
  580. data/vendor/local/share/locale/id/LC_MESSAGES/json-glib-1.0.mo +0 -0
  581. data/vendor/local/share/locale/it/LC_MESSAGES/clutter-1.0.mo +0 -0
  582. data/vendor/local/share/locale/it/LC_MESSAGES/cogl.mo +0 -0
  583. data/vendor/local/share/locale/it/LC_MESSAGES/json-glib-1.0.mo +0 -0
  584. data/vendor/local/share/locale/ja/LC_MESSAGES/clutter-1.0.mo +0 -0
  585. data/vendor/local/share/locale/ja/LC_MESSAGES/cogl.mo +0 -0
  586. data/vendor/local/share/locale/km/LC_MESSAGES/clutter-1.0.mo +0 -0
  587. data/vendor/local/share/locale/km/LC_MESSAGES/cogl.mo +0 -0
  588. data/vendor/local/share/locale/kn/LC_MESSAGES/clutter-1.0.mo +0 -0
  589. data/vendor/local/share/locale/kn/LC_MESSAGES/cogl.mo +0 -0
  590. data/vendor/local/share/locale/ko/LC_MESSAGES/cogl.mo +0 -0
  591. data/vendor/local/share/locale/lt/LC_MESSAGES/clutter-1.0.mo +0 -0
  592. data/vendor/local/share/locale/lt/LC_MESSAGES/cogl.mo +0 -0
  593. data/vendor/local/share/locale/lv/LC_MESSAGES/clutter-1.0.mo +0 -0
  594. data/vendor/local/share/locale/lv/LC_MESSAGES/cogl.mo +0 -0
  595. data/vendor/local/share/locale/mk/LC_MESSAGES/clutter-1.0.mo +0 -0
  596. data/vendor/local/share/locale/ml/LC_MESSAGES/clutter-1.0.mo +0 -0
  597. data/vendor/local/share/locale/ml/LC_MESSAGES/cogl.mo +0 -0
  598. data/vendor/local/share/locale/nb/LC_MESSAGES/clutter-1.0.mo +0 -0
  599. data/vendor/local/share/locale/nb/LC_MESSAGES/cogl.mo +0 -0
  600. data/vendor/local/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo +0 -0
  601. data/vendor/local/share/locale/nl/LC_MESSAGES/clutter-1.0.mo +0 -0
  602. data/vendor/local/share/locale/nl/LC_MESSAGES/cogl.mo +0 -0
  603. data/vendor/local/share/locale/or/LC_MESSAGES/clutter-1.0.mo +0 -0
  604. data/vendor/local/share/locale/or/LC_MESSAGES/cogl.mo +0 -0
  605. data/vendor/local/share/locale/pa/LC_MESSAGES/clutter-1.0.mo +0 -0
  606. data/vendor/local/share/locale/pa/LC_MESSAGES/cogl.mo +0 -0
  607. data/vendor/local/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo +0 -0
  608. data/vendor/local/share/locale/pl/LC_MESSAGES/clutter-1.0.mo +0 -0
  609. data/vendor/local/share/locale/pl/LC_MESSAGES/cogl.mo +0 -0
  610. data/vendor/local/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  611. data/vendor/local/share/locale/ps/LC_MESSAGES/clutter-1.0.mo +0 -0
  612. data/vendor/local/share/locale/pt/LC_MESSAGES/clutter-1.0.mo +0 -0
  613. data/vendor/local/share/locale/pt/LC_MESSAGES/cogl.mo +0 -0
  614. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/clutter-1.0.mo +0 -0
  615. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/cogl.mo +0 -0
  616. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo +0 -0
  617. data/vendor/local/share/locale/ro/LC_MESSAGES/clutter-1.0.mo +0 -0
  618. data/vendor/local/share/locale/ru/LC_MESSAGES/clutter-1.0.mo +0 -0
  619. data/vendor/local/share/locale/ru/LC_MESSAGES/cogl.mo +0 -0
  620. data/vendor/local/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo +0 -0
  621. data/vendor/local/share/locale/sk/LC_MESSAGES/clutter-1.0.mo +0 -0
  622. data/vendor/local/share/locale/sk/LC_MESSAGES/cogl.mo +0 -0
  623. data/vendor/local/share/locale/sl/LC_MESSAGES/clutter-1.0.mo +0 -0
  624. data/vendor/local/share/locale/sl/LC_MESSAGES/cogl.mo +0 -0
  625. data/vendor/local/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  626. data/vendor/local/share/locale/sr/LC_MESSAGES/clutter-1.0.mo +0 -0
  627. data/vendor/local/share/locale/sr/LC_MESSAGES/cogl.mo +0 -0
  628. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/clutter-1.0.mo +0 -0
  629. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/cogl.mo +0 -0
  630. data/vendor/local/share/locale/sv/LC_MESSAGES/clutter-1.0.mo +0 -0
  631. data/vendor/local/share/locale/sv/LC_MESSAGES/cogl.mo +0 -0
  632. data/vendor/local/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo +0 -0
  633. data/vendor/local/share/locale/ta/LC_MESSAGES/clutter-1.0.mo +0 -0
  634. data/vendor/local/share/locale/ta/LC_MESSAGES/cogl.mo +0 -0
  635. data/vendor/local/share/locale/te/LC_MESSAGES/clutter-1.0.mo +0 -0
  636. data/vendor/local/share/locale/te/LC_MESSAGES/cogl.mo +0 -0
  637. data/vendor/local/share/locale/tg/LC_MESSAGES/clutter-1.0.mo +0 -0
  638. data/vendor/local/share/locale/th/LC_MESSAGES/cogl.mo +0 -0
  639. data/vendor/local/share/locale/tr/LC_MESSAGES/clutter-1.0.mo +0 -0
  640. data/vendor/local/share/locale/tr/LC_MESSAGES/cogl.mo +0 -0
  641. data/vendor/local/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo +0 -0
  642. data/vendor/local/share/locale/ug/LC_MESSAGES/clutter-1.0.mo +0 -0
  643. data/vendor/local/share/locale/ug/LC_MESSAGES/cogl.mo +0 -0
  644. data/vendor/local/share/locale/uk/LC_MESSAGES/clutter-1.0.mo +0 -0
  645. data/vendor/local/share/locale/uk/LC_MESSAGES/cogl.mo +0 -0
  646. data/vendor/local/share/locale/ur/LC_MESSAGES/clutter-1.0.mo +0 -0
  647. data/vendor/local/share/locale/vi/LC_MESSAGES/cogl.mo +0 -0
  648. data/vendor/local/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo +0 -0
  649. data/vendor/local/share/locale/yi/LC_MESSAGES/clutter-1.0.mo +0 -0
  650. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/clutter-1.0.mo +0 -0
  651. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/cogl.mo +0 -0
  652. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/clutter-1.0.mo +0 -0
  653. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/cogl.mo +0 -0
  654. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/clutter-1.0.mo +0 -0
  655. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/cogl.mo +0 -0
  656. metadata +747 -0
@@ -0,0 +1,200 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Features</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
+ <link rel="home" href="index.html" title="Clutter Reference Manual">
8
+ <link rel="up" href="ch10.html" title="General purpose API">
9
+ <link rel="prev" href="clutter-Events.html" title="Events">
10
+ <link rel="next" href="clutter-Base-geometric-types.html" title="Base geometric types">
11
+ <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="clutter-Events.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="ch10.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">Clutter Reference Manual</th>
21
+ <td><a accesskey="n" href="clutter-Base-geometric-types.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#clutter-Features.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#clutter-Features.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="clutter-Features"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="clutter-Features.top_of_page"></a>Features</span></h2>
34
+ <p>Features — Run-time detection of Clutter features</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="clutter-Features.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">enum <a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags">ClutterFeatureFlags</a>;
41
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-Features.html#clutter-feature-available" title="clutter_feature_available ()">clutter_feature_available</a> (<em class="parameter"><code><a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="type">ClutterFeatureFlags</span></a> feature</code></em>);
42
+ <a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="returnvalue">ClutterFeatureFlags</span></a> <a class="link" href="clutter-Features.html#clutter-feature-get-all" title="clutter_feature_get_all ()">clutter_feature_get_all</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
43
+ </pre>
44
+ </div>
45
+ <div class="refsect1">
46
+ <a name="clutter-Features.description"></a><h2>Description</h2>
47
+ <p>
48
+ Parts of Clutter depend on the underlying platform, including the
49
+ capabilities of the backend used and the OpenGL features exposed through the
50
+ Clutter and COGL API.
51
+ </p>
52
+ <p>
53
+ It is possible to ask whether Clutter has support for specific features at
54
+ run-time.
55
+ </p>
56
+ <p>
57
+ See also <code class="function">cogl_get_features()</code> and <span class="type">CoglFeatureFlags</span>
58
+ </p>
59
+ </div>
60
+ <div class="refsect1">
61
+ <a name="clutter-Features.details"></a><h2>Details</h2>
62
+ <div class="refsect2">
63
+ <a name="ClutterFeatureFlags"></a><h3>enum ClutterFeatureFlags</h3>
64
+ <pre class="programlisting">typedef enum {
65
+ CLUTTER_FEATURE_TEXTURE_NPOT = (1 &lt;&lt; 2),
66
+ CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 &lt;&lt; 3),
67
+ CLUTTER_FEATURE_TEXTURE_YUV = (1 &lt;&lt; 4),
68
+ CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 &lt;&lt; 5),
69
+ CLUTTER_FEATURE_STAGE_STATIC = (1 &lt;&lt; 6),
70
+ CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 &lt;&lt; 7),
71
+ CLUTTER_FEATURE_STAGE_CURSOR = (1 &lt;&lt; 8),
72
+ CLUTTER_FEATURE_SHADERS_GLSL = (1 &lt;&lt; 9),
73
+ CLUTTER_FEATURE_OFFSCREEN = (1 &lt;&lt; 10),
74
+ CLUTTER_FEATURE_STAGE_MULTIPLE = (1 &lt;&lt; 11),
75
+ CLUTTER_FEATURE_SWAP_EVENTS = (1 &lt;&lt; 12)
76
+ } ClutterFeatureFlags;
77
+ </pre>
78
+ <p>
79
+ Runtime flags indicating specific features available via Clutter window
80
+ sysytem and graphics backend.
81
+ </p>
82
+ <div class="variablelist"><table border="0" class="variablelist">
83
+ <colgroup>
84
+ <col align="left" valign="top">
85
+ <col>
86
+ </colgroup>
87
+ <tbody>
88
+ <tr>
89
+ <td><p><a name="CLUTTER-FEATURE-TEXTURE-NPOT:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_TEXTURE_NPOT</code></span></p></td>
90
+ <td>Set if NPOTS textures supported.
91
+ </td>
92
+ </tr>
93
+ <tr>
94
+ <td><p><a name="CLUTTER-FEATURE-SYNC-TO-VBLANK:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_SYNC_TO_VBLANK</code></span></p></td>
95
+ <td>Set if vblank syncing supported.
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td><p><a name="CLUTTER-FEATURE-TEXTURE-YUV:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_TEXTURE_YUV</code></span></p></td>
100
+ <td>Set if YUV based textures supported.
101
+ </td>
102
+ </tr>
103
+ <tr>
104
+ <td><p><a name="CLUTTER-FEATURE-TEXTURE-READ-PIXELS:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_TEXTURE_READ_PIXELS</code></span></p></td>
105
+ <td>Set if texture pixels can be read.
106
+ </td>
107
+ </tr>
108
+ <tr>
109
+ <td><p><a name="CLUTTER-FEATURE-STAGE-STATIC:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_STAGE_STATIC</code></span></p></td>
110
+ <td>Set if stage size if fixed (i.e framebuffer)
111
+ </td>
112
+ </tr>
113
+ <tr>
114
+ <td><p><a name="CLUTTER-FEATURE-STAGE-USER-RESIZE:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_STAGE_USER_RESIZE</code></span></p></td>
115
+ <td>Set if stage is able to be user resized.
116
+ </td>
117
+ </tr>
118
+ <tr>
119
+ <td><p><a name="CLUTTER-FEATURE-STAGE-CURSOR:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_STAGE_CURSOR</code></span></p></td>
120
+ <td>Set if stage has a graphical cursor.
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td><p><a name="CLUTTER-FEATURE-SHADERS-GLSL:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_SHADERS_GLSL</code></span></p></td>
125
+ <td>Set if the backend supports GLSL shaders.
126
+ </td>
127
+ </tr>
128
+ <tr>
129
+ <td><p><a name="CLUTTER-FEATURE-OFFSCREEN:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_OFFSCREEN</code></span></p></td>
130
+ <td>Set if the backend supports offscreen rendering.
131
+ </td>
132
+ </tr>
133
+ <tr>
134
+ <td><p><a name="CLUTTER-FEATURE-STAGE-MULTIPLE:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_STAGE_MULTIPLE</code></span></p></td>
135
+ <td>Set if multiple stages are supported.
136
+ </td>
137
+ </tr>
138
+ <tr>
139
+ <td><p><a name="CLUTTER-FEATURE-SWAP-EVENTS:CAPS"></a><span class="term"><code class="literal">CLUTTER_FEATURE_SWAP_EVENTS</code></span></p></td>
140
+ <td>Set if the GLX_INTEL_swap_event is supported.
141
+ </td>
142
+ </tr>
143
+ </tbody>
144
+ </table></div>
145
+ <p class="since">Since 0.4</p>
146
+ </div>
147
+ <hr>
148
+ <div class="refsect2">
149
+ <a name="clutter-feature-available"></a><h3>clutter_feature_available ()</h3>
150
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_feature_available (<em class="parameter"><code><a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="type">ClutterFeatureFlags</span></a> feature</code></em>);</pre>
151
+ <p>
152
+ Checks whether <em class="parameter"><code>feature</code></em> is available. <em class="parameter"><code>feature</code></em> can be a logical
153
+ OR of <a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="type">ClutterFeatureFlags</span></a>.
154
+ </p>
155
+ <div class="variablelist"><table border="0" class="variablelist">
156
+ <colgroup>
157
+ <col align="left" valign="top">
158
+ <col>
159
+ </colgroup>
160
+ <tbody>
161
+ <tr>
162
+ <td><p><span class="term"><em class="parameter"><code>feature</code></em> :</span></p></td>
163
+ <td>a <a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="type">ClutterFeatureFlags</span></a>
164
+ </td>
165
+ </tr>
166
+ <tr>
167
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
168
+ <td>
169
+ <code class="literal">TRUE</code> if a feature is available</td>
170
+ </tr>
171
+ </tbody>
172
+ </table></div>
173
+ <p class="since">Since 0.1.1</p>
174
+ </div>
175
+ <hr>
176
+ <div class="refsect2">
177
+ <a name="clutter-feature-get-all"></a><h3>clutter_feature_get_all ()</h3>
178
+ <pre class="programlisting"><a class="link" href="clutter-Features.html#ClutterFeatureFlags" title="enum ClutterFeatureFlags"><span class="returnvalue">ClutterFeatureFlags</span></a> clutter_feature_get_all (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
179
+ <p>
180
+ Returns all the supported features.
181
+ </p>
182
+ <div class="variablelist"><table border="0" class="variablelist">
183
+ <colgroup>
184
+ <col align="left" valign="top">
185
+ <col>
186
+ </colgroup>
187
+ <tbody><tr>
188
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
189
+ <td>a logical OR of all the supported features.</td>
190
+ </tr></tbody>
191
+ </table></div>
192
+ <p class="since">Since 0.1.1</p>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <div class="footer">
197
+ <hr>
198
+ Generated by GTK-Doc V1.18.1</div>
199
+ </body>
200
+ </html>
@@ -0,0 +1,249 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>GDK Specific Support</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
+ <link rel="home" href="index.html" title="Clutter Reference Manual">
8
+ <link rel="up" href="clutterbackends.html" title="Part VII. Clutter Backends">
9
+ <link rel="prev" href="clutter-Intel-CE3100-CE4100-Specific-Support.html" title="Intel CE3100, CE4100 Specific Support">
10
+ <link rel="next" href="clutter-Wayland-compositor-specific-support.html" title="Wayland compositor specific support">
11
+ <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="clutter-Intel-CE3100-CE4100-Specific-Support.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="clutterbackends.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">Clutter Reference Manual</th>
21
+ <td><a accesskey="n" href="clutter-Wayland-compositor-specific-support.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#clutter-GDK-Specific-Support.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#clutter-GDK-Specific-Support.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="clutter-GDK-Specific-Support"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="clutter-GDK-Specific-Support.top_of_page"></a>GDK Specific Support</span></h2>
34
+ <p>GDK Specific Support — GDK specific API</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="clutter-GDK-Specific-Support.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis"><span class="returnvalue">void</span> <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-disable-event-retrieval" title="clutter_gdk_disable_event_retrieval ()">clutter_gdk_disable_event_retrieval</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
41
+ <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="returnvalue">ClutterStage</span></a> * <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-get-stage-from-window" title="clutter_gdk_get_stage_from_window ()">clutter_gdk_get_stage_from_window</a> (<em class="parameter"><code><span class="type">GdkWindow</span> *window</code></em>);
42
+ <span class="returnvalue">GdkWindow</span> * <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-get-stage-window" title="clutter_gdk_get_stage_window ()">clutter_gdk_get_stage_window</a> (<em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>);
43
+ <span class="returnvalue">GdkFilterReturn</span> <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-handle-event" title="clutter_gdk_handle_event ()">clutter_gdk_handle_event</a> (<em class="parameter"><code><span class="type">GdkEvent</span> *event</code></em>);
44
+ <span class="returnvalue">void</span> <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-set-display" title="clutter_gdk_set_display ()">clutter_gdk_set_display</a> (<em class="parameter"><code><span class="type">GdkDisplay</span> *display</code></em>);
45
+ <span class="returnvalue">GdkDisplay</span> * <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-get-default-display" title="clutter_gdk_get_default_display ()">clutter_gdk_get_default_display</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
46
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-set-stage-foreign" title="clutter_gdk_set_stage_foreign ()">clutter_gdk_set_stage_foreign</a> (<em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>,
47
+ <em class="parameter"><code><span class="type">GdkWindow</span> *window</code></em>);
48
+ </pre>
49
+ </div>
50
+ <div class="refsect1">
51
+ <a name="clutter-GDK-Specific-Support.description"></a><h2>Description</h2>
52
+ <p>
53
+ The GDK backend for Clutter provides some specific API, allowing
54
+ integration with the GDK API for manipulating the stage window and
55
+ handling events outside of Clutter.
56
+ </p>
57
+ </div>
58
+ <div class="refsect1">
59
+ <a name="clutter-GDK-Specific-Support.details"></a><h2>Details</h2>
60
+ <div class="refsect2">
61
+ <a name="clutter-gdk-disable-event-retrieval"></a><h3>clutter_gdk_disable_event_retrieval ()</h3>
62
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_gdk_disable_event_retrieval (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
63
+ <p>
64
+ Disable the event retrieval in Clutter.
65
+ </p>
66
+ <p>
67
+ Callers of this function have to set up an event filter using the
68
+ GDK API, and call <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-handle-event" title="clutter_gdk_handle_event ()"><code class="function">clutter_gdk_handle_event()</code></a>.
69
+ </p>
70
+ <p>
71
+ This function should only be used when embedding Clutter into
72
+ a GDK based toolkit.
73
+ </p>
74
+ <p class="since">Since 1.10</p>
75
+ </div>
76
+ <hr>
77
+ <div class="refsect2">
78
+ <a name="clutter-gdk-get-stage-from-window"></a><h3>clutter_gdk_get_stage_from_window ()</h3>
79
+ <pre class="programlisting"><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="returnvalue">ClutterStage</span></a> * clutter_gdk_get_stage_from_window (<em class="parameter"><code><span class="type">GdkWindow</span> *window</code></em>);</pre>
80
+ <p>
81
+ Gets the stage for a particular X window.
82
+ </p>
83
+ <div class="variablelist"><table border="0" class="variablelist">
84
+ <colgroup>
85
+ <col align="left" valign="top">
86
+ <col>
87
+ </colgroup>
88
+ <tbody>
89
+ <tr>
90
+ <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
91
+ <td>a <span class="type">GtkWindow</span>
92
+ </td>
93
+ </tr>
94
+ <tr>
95
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
96
+ <td>A <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>, or% NULL if a stage
97
+ does not exist for the window. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
98
+ </td>
99
+ </tr>
100
+ </tbody>
101
+ </table></div>
102
+ <p class="since">Since 1.10</p>
103
+ </div>
104
+ <hr>
105
+ <div class="refsect2">
106
+ <a name="clutter-gdk-get-stage-window"></a><h3>clutter_gdk_get_stage_window ()</h3>
107
+ <pre class="programlisting"><span class="returnvalue">GdkWindow</span> * clutter_gdk_get_stage_window (<em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>);</pre>
108
+ <p>
109
+ Gets the stages GdkWindow.
110
+ </p>
111
+ <div class="variablelist"><table border="0" class="variablelist">
112
+ <colgroup>
113
+ <col align="left" valign="top">
114
+ <col>
115
+ </colgroup>
116
+ <tbody>
117
+ <tr>
118
+ <td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
119
+ <td>a <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>
120
+ </td>
121
+ </tr>
122
+ <tr>
123
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
124
+ <td>A GdkWindow* for the stage window. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
125
+ </td>
126
+ </tr>
127
+ </tbody>
128
+ </table></div>
129
+ <p class="since">Since 1.10</p>
130
+ </div>
131
+ <hr>
132
+ <div class="refsect2">
133
+ <a name="clutter-gdk-handle-event"></a><h3>clutter_gdk_handle_event ()</h3>
134
+ <pre class="programlisting"><span class="returnvalue">GdkFilterReturn</span> clutter_gdk_handle_event (<em class="parameter"><code><span class="type">GdkEvent</span> *event</code></em>);</pre>
135
+ <p>
136
+ This function processes a single GDK event; it can be used to hook
137
+ into external event processing
138
+ </p>
139
+ <div class="variablelist"><table border="0" class="variablelist">
140
+ <colgroup>
141
+ <col align="left" valign="top">
142
+ <col>
143
+ </colgroup>
144
+ <tbody>
145
+ <tr>
146
+ <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
147
+ <td>a <span class="type">GdkEvent</span>
148
+ </td>
149
+ </tr>
150
+ <tr>
151
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
152
+ <td>
153
+ <span class="type">GdkFilterReturn</span>. <code class="literal">GDK_FILTER_REMOVE</code> indicates that
154
+ Clutter has internally handled the event and the caller should do
155
+ no further processing. <code class="literal">GDK_FILTER_CONTINUE</code> indicates that Clutter
156
+ is either not interested in the event, or has used the event to
157
+ update internal state without taking any exclusive action.
158
+ <code class="literal">GDK_FILTER_TRANSLATE</code> will not occur.</td>
159
+ </tr>
160
+ </tbody>
161
+ </table></div>
162
+ </div>
163
+ <hr>
164
+ <div class="refsect2">
165
+ <a name="clutter-gdk-set-display"></a><h3>clutter_gdk_set_display ()</h3>
166
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_gdk_set_display (<em class="parameter"><code><span class="type">GdkDisplay</span> *display</code></em>);</pre>
167
+ <p>
168
+ Sets the display connection Clutter should use; must be called
169
+ before <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>, <a class="link" href="clutter-General.html#clutter-init-with-args" title="clutter_init_with_args ()"><code class="function">clutter_init_with_args()</code></a> or other functions
170
+ pertaining Clutter's initialization process.
171
+ </p>
172
+ <p>
173
+ If you are parsing the command line arguments by retrieving Clutter's
174
+ <span class="type">GOptionGroup</span> with <a class="link" href="clutter-General.html#clutter-get-option-group" title="clutter_get_option_group ()"><code class="function">clutter_get_option_group()</code></a> and calling
175
+ <code class="function">g_option_context_parse()</code> yourself, you should also call
176
+ <a class="link" href="clutter-GDK-Specific-Support.html#clutter-gdk-set-display" title="clutter_gdk_set_display ()"><code class="function">clutter_gdk_set_display()</code></a> before <code class="function">g_option_context_parse()</code>.
177
+ </p>
178
+ <div class="variablelist"><table border="0" class="variablelist">
179
+ <colgroup>
180
+ <col align="left" valign="top">
181
+ <col>
182
+ </colgroup>
183
+ <tbody><tr>
184
+ <td><p><span class="term"><em class="parameter"><code>display</code></em> :</span></p></td>
185
+ <td>pointer to a GDK display connection.</td>
186
+ </tr></tbody>
187
+ </table></div>
188
+ <p class="since">Since 0.8</p>
189
+ </div>
190
+ <hr>
191
+ <div class="refsect2">
192
+ <a name="clutter-gdk-get-default-display"></a><h3>clutter_gdk_get_default_display ()</h3>
193
+ <pre class="programlisting"><span class="returnvalue">GdkDisplay</span> * clutter_gdk_get_default_display (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
194
+ <p>
195
+ Retrieves the pointer to the default display.
196
+ </p>
197
+ <div class="variablelist"><table border="0" class="variablelist">
198
+ <colgroup>
199
+ <col align="left" valign="top">
200
+ <col>
201
+ </colgroup>
202
+ <tbody><tr>
203
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
204
+ <td>the default display. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
205
+ </td>
206
+ </tr></tbody>
207
+ </table></div>
208
+ <p class="since">Since 0.6</p>
209
+ </div>
210
+ <hr>
211
+ <div class="refsect2">
212
+ <a name="clutter-gdk-set-stage-foreign"></a><h3>clutter_gdk_set_stage_foreign ()</h3>
213
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_gdk_set_stage_foreign (<em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>,
214
+ <em class="parameter"><code><span class="type">GdkWindow</span> *window</code></em>);</pre>
215
+ <p>
216
+ Target the <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> to use an existing external <span class="type">GdkWindow</span>
217
+ </p>
218
+ <div class="variablelist"><table border="0" class="variablelist">
219
+ <colgroup>
220
+ <col align="left" valign="top">
221
+ <col>
222
+ </colgroup>
223
+ <tbody>
224
+ <tr>
225
+ <td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
226
+ <td>a <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>
227
+ </td>
228
+ </tr>
229
+ <tr>
230
+ <td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
231
+ <td>an existing <span class="type">GdkWindow</span>
232
+ </td>
233
+ </tr>
234
+ <tr>
235
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
236
+ <td>
237
+ <code class="literal">TRUE</code> if foreign window is valid</td>
238
+ </tr>
239
+ </tbody>
240
+ </table></div>
241
+ <p class="since">Since 1.10</p>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ <div class="footer">
246
+ <hr>
247
+ Generated by GTK-Doc V1.18.1</div>
248
+ </body>
249
+ </html>
@@ -0,0 +1,2550 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>General</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
+ <link rel="home" href="index.html" title="Clutter Reference Manual">
8
+ <link rel="up" href="ch10.html" title="General purpose API">
9
+ <link rel="prev" href="ClutterInputDevice.html" title="ClutterInputDevice">
10
+ <link rel="next" href="ClutterPath.html" title="ClutterPath">
11
+ <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="ClutterInputDevice.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="ch10.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">Clutter Reference Manual</th>
21
+ <td><a accesskey="n" href="ClutterPath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#clutter-General.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#clutter-General.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="clutter-General"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="clutter-General.top_of_page"></a>General</span></h2>
34
+ <p>General — Various 'global' clutter functions.</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="clutter-General.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">#define <a class="link" href="clutter-General.html#CLUTTER-PRIORITY-REDRAW:CAPS" title="CLUTTER_PRIORITY_REDRAW">CLUTTER_PRIORITY_REDRAW</a>
41
+
42
+ enum <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError">ClutterInitError</a>;
43
+ <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="returnvalue">ClutterInitError</span></a> <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()">clutter_init</a> (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
44
+ <em class="parameter"><code><span class="type">char</span> ***argv</code></em>);
45
+ <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="returnvalue">ClutterInitError</span></a> <a class="link" href="clutter-General.html#clutter-init-with-args" title="clutter_init_with_args ()">clutter_init_with_args</a> (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
46
+ <em class="parameter"><code><span class="type">char</span> ***argv</code></em>,
47
+ <em class="parameter"><code>const <span class="type">char</span> *parameter_string</code></em>,
48
+ <em class="parameter"><code><span class="type">GOptionEntry</span> *entries</code></em>,
49
+ <em class="parameter"><code>const <span class="type">char</span> *translation_domain</code></em>,
50
+ <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
51
+ <span class="returnvalue">GOptionGroup</span> * <a class="link" href="clutter-General.html#clutter-get-option-group" title="clutter_get_option_group ()">clutter_get_option_group</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
52
+ <span class="returnvalue">GOptionGroup</span> * <a class="link" href="clutter-General.html#clutter-get-option-group-without-init" title="clutter_get_option_group_without_init ()">clutter_get_option_group_without_init</a>
53
+ (<em class="parameter"><code><span class="type">void</span></code></em>);
54
+
55
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-main" title="clutter_main ()">clutter_main</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
56
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-main-quit" title="clutter_main_quit ()">clutter_main_quit</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
57
+ <span class="returnvalue">gint</span> <a class="link" href="clutter-General.html#clutter-main-level" title="clutter_main_level ()">clutter_main_level</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
58
+
59
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-General.html#clutter-get-debug-enabled" title="clutter_get_debug_enabled ()">clutter_get_debug_enabled</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
60
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-General.html#clutter-get-show-fps" title="clutter_get_show_fps ()">clutter_get_show_fps</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
61
+ <span class="returnvalue">gulong</span> <a class="link" href="clutter-General.html#clutter-get-timestamp" title="clutter_get_timestamp ()">clutter_get_timestamp</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
62
+ <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * <a class="link" href="clutter-General.html#clutter-get-actor-by-gid" title="clutter_get_actor_by_gid ()">clutter_get_actor_by_gid</a> (<em class="parameter"><code><span class="type">guint32</span> id_</code></em>);
63
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-set-default-frame-rate" title="clutter_set_default_frame_rate ()">clutter_set_default_frame_rate</a> (<em class="parameter"><code><span class="type">guint</span> frames_per_sec</code></em>);
64
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-get-default-frame-rate" title="clutter_get_default_frame_rate ()">clutter_get_default_frame_rate</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
65
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-set-motion-events-enabled" title="clutter_set_motion_events_enabled ()">clutter_set_motion_events_enabled</a> (<em class="parameter"><code><span class="type">gboolean</span> enable</code></em>);
66
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-General.html#clutter-get-motion-events-enabled" title="clutter_get_motion_events_enabled ()">clutter_get_motion_events_enabled</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
67
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-clear-glyph-cache" title="clutter_clear_glyph_cache ()">clutter_clear_glyph_cache</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
68
+ enum <a class="link" href="clutter-General.html#ClutterFontFlags" title="enum ClutterFontFlags">ClutterFontFlags</a>;
69
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-set-font-flags" title="clutter_set_font_flags ()">clutter_set_font_flags</a> (<em class="parameter"><code><a class="link" href="clutter-General.html#ClutterFontFlags" title="enum ClutterFontFlags"><span class="type">ClutterFontFlags</span></a> flags</code></em>);
70
+ <a class="link" href="clutter-General.html#ClutterFontFlags" title="enum ClutterFontFlags"><span class="returnvalue">ClutterFontFlags</span></a> <a class="link" href="clutter-General.html#clutter-get-font-flags" title="clutter_get_font_flags ()">clutter_get_font_flags</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
71
+ <span class="returnvalue">PangoFontMap</span> * <a class="link" href="clutter-General.html#clutter-get-font-map" title="clutter_get_font_map ()">clutter_get_font_map</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
72
+ enum <a class="link" href="clutter-General.html#ClutterTextDirection" title="enum ClutterTextDirection">ClutterTextDirection</a>;
73
+ <a class="link" href="clutter-General.html#ClutterTextDirection" title="enum ClutterTextDirection"><span class="returnvalue">ClutterTextDirection</span></a> <a class="link" href="clutter-General.html#clutter-get-default-text-direction" title="clutter_get_default_text_direction ()">clutter_get_default_text_direction</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
74
+ <span class="returnvalue">gboolean</span> <a class="link" href="clutter-General.html#clutter-get-accessibility-enabled" title="clutter_get_accessibility_enabled ()">clutter_get_accessibility_enabled</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
75
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-disable-accessibility" title="clutter_disable_accessibility ()">clutter_disable_accessibility</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
76
+
77
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-threads-set-lock-functions" title="clutter_threads_set_lock_functions ()">clutter_threads_set_lock_functions</a> (<em class="parameter"><code><span class="type">GCallback</span> enter_fn</code></em>,
78
+ <em class="parameter"><code><span class="type">GCallback</span> leave_fn</code></em>);
79
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-threads-init" title="clutter_threads_init ()">clutter_threads_init</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
80
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-threads-enter" title="clutter_threads_enter ()">clutter_threads_enter</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
81
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-threads-leave" title="clutter_threads_leave ()">clutter_threads_leave</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
82
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-idle" title="clutter_threads_add_idle ()">clutter_threads_add_idle</a> (<em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
83
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);
84
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-idle-full" title="clutter_threads_add_idle_full ()">clutter_threads_add_idle_full</a> (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
85
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
86
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
87
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
88
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-timeout" title="clutter_threads_add_timeout ()">clutter_threads_add_timeout</a> (<em class="parameter"><code><span class="type">guint</span> interval</code></em>,
89
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
90
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);
91
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-timeout-full" title="clutter_threads_add_timeout_full ()">clutter_threads_add_timeout_full</a> (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
92
+ <em class="parameter"><code><span class="type">guint</span> interval</code></em>,
93
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
94
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
95
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
96
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-frame-source" title="clutter_threads_add_frame_source ()">clutter_threads_add_frame_source</a> (<em class="parameter"><code><span class="type">guint</span> fps</code></em>,
97
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
98
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);
99
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-frame-source-full" title="clutter_threads_add_frame_source_full ()">clutter_threads_add_frame_source_full</a>
100
+ (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
101
+ <em class="parameter"><code><span class="type">guint</span> fps</code></em>,
102
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
103
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
104
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
105
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-repaint-func" title="clutter_threads_add_repaint_func ()">clutter_threads_add_repaint_func</a> (<em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
106
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
107
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
108
+ enum <a class="link" href="clutter-General.html#ClutterRepaintFlags" title="enum ClutterRepaintFlags">ClutterRepaintFlags</a>;
109
+ <span class="returnvalue">guint</span> <a class="link" href="clutter-General.html#clutter-threads-add-repaint-func-full" title="clutter_threads_add_repaint_func_full ()">clutter_threads_add_repaint_func_full</a>
110
+ (<em class="parameter"><code><a class="link" href="clutter-General.html#ClutterRepaintFlags" title="enum ClutterRepaintFlags"><span class="type">ClutterRepaintFlags</span></a> flags</code></em>,
111
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
112
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
113
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
114
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-threads-remove-repaint-func" title="clutter_threads_remove_repaint_func ()">clutter_threads_remove_repaint_func</a> (<em class="parameter"><code><span class="type">guint</span> handle_id</code></em>);
115
+
116
+ <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * <a class="link" href="clutter-General.html#clutter-get-keyboard-grab" title="clutter_get_keyboard_grab ()">clutter_get_keyboard_grab</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
117
+ <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * <a class="link" href="clutter-General.html#clutter-get-pointer-grab" title="clutter_get_pointer_grab ()">clutter_get_pointer_grab</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
118
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-grab-keyboard" title="clutter_grab_keyboard ()">clutter_grab_keyboard</a> (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);
119
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-grab-pointer" title="clutter_grab_pointer ()">clutter_grab_pointer</a> (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);
120
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-ungrab-keyboard" title="clutter_ungrab_keyboard ()">clutter_ungrab_keyboard</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
121
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-ungrab-pointer" title="clutter_ungrab_pointer ()">clutter_ungrab_pointer</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
122
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-grab-pointer-for-device" title="clutter_grab_pointer_for_device ()">clutter_grab_pointer_for_device</a> (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
123
+ <em class="parameter"><code><span class="type">gint</span> id_</code></em>);
124
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-ungrab-pointer-for-device" title="clutter_ungrab_pointer_for_device ()">clutter_ungrab_pointer_for_device</a> (<em class="parameter"><code><span class="type">gint</span> id_</code></em>);
125
+
126
+ <span class="returnvalue">void</span> <a class="link" href="clutter-General.html#clutter-do-event" title="clutter_do_event ()">clutter_do_event</a> (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent" title="union ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);
127
+ </pre>
128
+ </div>
129
+ <div class="refsect1">
130
+ <a name="clutter-General.description"></a><h2>Description</h2>
131
+ <p>
132
+ Functions to retrieve various global Clutter resources and other utility
133
+ functions for mainloops, events and threads
134
+ </p>
135
+ <p>
136
+ </p>
137
+ <div class="refsect2">
138
+ <a name="clutter-Threading-Model"></a><h3>Threading Model</h3>
139
+ <p>Clutter is <span class="emphasis"><em>thread-aware</em></span>: all operations
140
+ performed by Clutter are assumed to be under the big Clutter lock,
141
+ which is created when the threading is initialized through
142
+ <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>.</p>
143
+ <div class="example">
144
+ <a name="example-Thread-Init"></a><p class="title"><b>Example 9. Thread Initialization</b></p>
145
+ <div class="example-contents">
146
+ <p>The code below shows how to correctly initialize Clutter
147
+ in a multi-threaded environment. These operations are mandatory for
148
+ applications that wish to use threads with Clutter.</p>
149
+ <pre class="programlisting">
150
+ int
151
+ main (int argc, char *argv[])
152
+ {
153
+ /* initialize Clutter */
154
+ clutter_init (&amp;argc, &amp;argv);
155
+
156
+ /* program code */
157
+
158
+ /* acquire the main lock */
159
+ clutter_threads_enter ();
160
+
161
+ /* start the main loop */
162
+ clutter_main ();
163
+
164
+ /* release the main lock */
165
+ clutter_threads_leave ();
166
+
167
+ /* clean up */
168
+ return 0;
169
+ }
170
+ </pre>
171
+ </div>
172
+ </div>
173
+ <br class="example-break"><p>This threading model has the caveat that it is only safe to call
174
+ Clutter's API when the lock has been acquired — which happens
175
+ between pairs of <a class="link" href="clutter-General.html#clutter-threads-enter" title="clutter_threads_enter ()"><code class="function">clutter_threads_enter()</code></a> and <a class="link" href="clutter-General.html#clutter-threads-leave" title="clutter_threads_leave ()"><code class="function">clutter_threads_leave()</code></a>
176
+ calls.</p>
177
+ <p>The only safe and portable way to use the Clutter API in a
178
+ multi-threaded environment is to never access the API from a thread that
179
+ did not call <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a> and <a class="link" href="clutter-General.html#clutter-main" title="clutter_main ()"><code class="function">clutter_main()</code></a>.</p>
180
+ <p>The common pattern for using threads with Clutter is to use worker
181
+ threads to perform blocking operations and then install idle or timeout
182
+ sources with the result when the thread finished.</p>
183
+ <p>Clutter provides thread-aware variants of <code class="function">g_idle_add()</code> and
184
+ <code class="function">g_timeout_add()</code> that acquire the Clutter lock before invoking the provided
185
+ callback: <a class="link" href="clutter-General.html#clutter-threads-add-idle" title="clutter_threads_add_idle ()"><code class="function">clutter_threads_add_idle()</code></a> and
186
+ <a class="link" href="clutter-General.html#clutter-threads-add-timeout" title="clutter_threads_add_timeout ()"><code class="function">clutter_threads_add_timeout()</code></a>.</p>
187
+ <p>The example below shows how to use a worker thread to perform a
188
+ blocking operation, and perform UI updates using the main loop.</p>
189
+ <div class="example">
190
+ <a name="worker-thread-example"></a><p class="title"><b>Example 10. A worker thread example</b></p>
191
+ <div class="example-contents">
192
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
193
+ <tbody>
194
+ <tr>
195
+ <td class="listing_lines" align="right"><pre>1
196
+ 2
197
+ 3
198
+ 4
199
+ 5
200
+ 6
201
+ 7
202
+ 8
203
+ 9
204
+ 10
205
+ 11
206
+ 12
207
+ 13
208
+ 14
209
+ 15
210
+ 16
211
+ 17
212
+ 18
213
+ 19
214
+ 20
215
+ 21
216
+ 22
217
+ 23
218
+ 24
219
+ 25
220
+ 26
221
+ 27
222
+ 28
223
+ 29
224
+ 30
225
+ 31
226
+ 32
227
+ 33
228
+ 34
229
+ 35
230
+ 36
231
+ 37
232
+ 38
233
+ 39
234
+ 40
235
+ 41
236
+ 42
237
+ 43
238
+ 44
239
+ 45
240
+ 46
241
+ 47
242
+ 48
243
+ 49
244
+ 50
245
+ 51
246
+ 52
247
+ 53
248
+ 54
249
+ 55
250
+ 56
251
+ 57
252
+ 58
253
+ 59
254
+ 60
255
+ 61
256
+ 62
257
+ 63
258
+ 64
259
+ 65
260
+ 66
261
+ 67
262
+ 68
263
+ 69
264
+ 70
265
+ 71
266
+ 72
267
+ 73
268
+ 74
269
+ 75
270
+ 76
271
+ 77
272
+ 78
273
+ 79
274
+ 80
275
+ 81
276
+ 82
277
+ 83
278
+ 84
279
+ 85
280
+ 86
281
+ 87
282
+ 88
283
+ 89
284
+ 90
285
+ 91
286
+ 92
287
+ 93
288
+ 94
289
+ 95
290
+ 96
291
+ 97
292
+ 98
293
+ 99
294
+ 100
295
+ 101
296
+ 102
297
+ 103
298
+ 104
299
+ 105
300
+ 106
301
+ 107
302
+ 108
303
+ 109
304
+ 110
305
+ 111
306
+ 112
307
+ 113
308
+ 114
309
+ 115
310
+ 116
311
+ 117
312
+ 118
313
+ 119
314
+ 120
315
+ 121
316
+ 122
317
+ 123
318
+ 124
319
+ 125
320
+ 126
321
+ 127
322
+ 128
323
+ 129
324
+ 130
325
+ 131
326
+ 132
327
+ 133
328
+ 134
329
+ 135
330
+ 136
331
+ 137
332
+ 138
333
+ 139
334
+ 140
335
+ 141
336
+ 142
337
+ 143
338
+ 144
339
+ 145
340
+ 146
341
+ 147
342
+ 148
343
+ 149
344
+ 150
345
+ 151
346
+ 152
347
+ 153
348
+ 154
349
+ 155
350
+ 156
351
+ 157
352
+ 158
353
+ 159
354
+ 160
355
+ 161
356
+ 162
357
+ 163
358
+ 164
359
+ 165
360
+ 166
361
+ 167
362
+ 168
363
+ 169
364
+ 170
365
+ 171
366
+ 172
367
+ 173
368
+ 174
369
+ 175
370
+ 176
371
+ 177
372
+ 178
373
+ 179
374
+ 180
375
+ 181
376
+ 182
377
+ 183
378
+ 184
379
+ 185
380
+ 186
381
+ 187
382
+ 188
383
+ 189
384
+ 190
385
+ 191
386
+ 192
387
+ 193
388
+ 194
389
+ 195
390
+ 196
391
+ 197
392
+ 198
393
+ 199
394
+ 200
395
+ 201
396
+ 202
397
+ 203
398
+ 204
399
+ 205
400
+ 206
401
+ 207
402
+ 208
403
+ 209
404
+ 210
405
+ 211
406
+ 212
407
+ 213
408
+ 214
409
+ 215
410
+ 216
411
+ 217
412
+ 218
413
+ 219
414
+ 220
415
+ 221
416
+ 222
417
+ 223
418
+ 224
419
+ 225
420
+ 226
421
+ 227
422
+ 228
423
+ 229
424
+ 230
425
+ 231
426
+ 232
427
+ 233
428
+ 234
429
+ 235
430
+ 236
431
+ 237
432
+ 238
433
+ 239
434
+ 240
435
+ 241
436
+ 242
437
+ 243
438
+ 244
439
+ 245
440
+ 246
441
+ 247
442
+ 248
443
+ 249
444
+ 250
445
+ 251
446
+ 252
447
+ 253
448
+ 254
449
+ 255
450
+ 256
451
+ 257
452
+ 258
453
+ 259
454
+ 260
455
+ 261
456
+ 262
457
+ 263
458
+ 264
459
+ 265
460
+ 266
461
+ 267
462
+ 268
463
+ 269
464
+ 270
465
+ 271
466
+ 272
467
+ 273
468
+ 274
469
+ 275
470
+ 276
471
+ 277
472
+ 278
473
+ 279
474
+ 280
475
+ 281
476
+ 282
477
+ 283
478
+ 284
479
+ 285
480
+ 286
481
+ 287
482
+ 288
483
+ 289
484
+ 290
485
+ 291
486
+ 292</pre></td>
487
+ <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;stdio.h&gt;</span>
488
+ <span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;stdlib.h&gt;</span>
489
+ <span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;clutter/clutter.h&gt;</span>
490
+
491
+ <span class="comment">/* our thread-specific data */</span>
492
+ <span class="keyword">typedef</span><span class="normal"> </span><span class="keyword">struct</span>
493
+ <span class="cbracket">{</span>
494
+ <span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">stage</span><span class="symbol">;</span>
495
+ <span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">label</span><span class="symbol">;</span>
496
+ <span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">progress</span><span class="symbol">;</span>
497
+ <span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">rect</span><span class="symbol">;</span>
498
+
499
+ <span class="normal"> </span><span class="usertype">ClutterTransition</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">flip</span><span class="symbol">;</span>
500
+ <span class="normal"> </span><span class="usertype">ClutterTransition</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bounce</span><span class="symbol">;</span>
501
+ <span class="cbracket">}</span><span class="normal"> TestThreadData</span><span class="symbol">;</span>
502
+
503
+ <span class="keyword">static</span><span class="normal"> TestThreadData </span><span class="symbol">*</span>
504
+ <span class="function">test_thread_data_new</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
505
+ <span class="cbracket">{</span>
506
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data</span><span class="symbol">;</span>
507
+
508
+ <span class="normal"> data </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_new0</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TestThreadData</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
509
+
510
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> data</span><span class="symbol">;</span>
511
+ <span class="cbracket">}</span>
512
+
513
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
514
+ <span class="function">test_thread_data_free</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> _data</span><span class="symbol">)</span>
515
+ <span class="cbracket">{</span>
516
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data </span><span class="symbol">=</span><span class="normal"> _data</span><span class="symbol">;</span>
517
+
518
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
519
+ <span class="normal"> </span><span class="keyword">return</span><span class="symbol">;</span>
520
+
521
+ <span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Removing thread data [%p]</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> _data</span><span class="symbol">);</span>
522
+
523
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">progress</span><span class="symbol">);</span>
524
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">);</span>
525
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">stage</span><span class="symbol">);</span>
526
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">rect</span><span class="symbol">);</span>
527
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">flip</span><span class="symbol">);</span>
528
+ <span class="normal"> </span><span class="function">g_clear_object</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">bounce</span><span class="symbol">);</span>
529
+
530
+ <span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">);</span>
531
+ <span class="cbracket">}</span>
532
+
533
+ <span class="keyword">static</span><span class="normal"> gboolean</span>
534
+ <span class="function">test_thread_done_idle</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
535
+ <span class="cbracket">{</span>
536
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data </span><span class="symbol">=</span><span class="normal"> user_data</span><span class="symbol">;</span>
537
+
538
+ <span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Last update [%p]</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> data</span><span class="symbol">);</span>
539
+
540
+ <span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-set-text">clutter_text_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TEXT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Completed"</span><span class="symbol">);</span>
541
+
542
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-remove-transition">clutter_actor_remove_transition</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bounce"</span><span class="symbol">);</span>
543
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-remove-transition">clutter_actor_remove_transition</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">-&gt;</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"flip"</span><span class="symbol">);</span>
544
+
545
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> G_SOURCE_REMOVE</span><span class="symbol">;</span>
546
+ <span class="cbracket">}</span>
547
+
548
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
549
+ <span class="function">test_thread_data_done</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> _data</span><span class="symbol">)</span>
550
+ <span class="cbracket">{</span>
551
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">_data </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
552
+ <span class="normal"> </span><span class="keyword">return</span><span class="symbol">;</span>
553
+
554
+ <span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Thread completed</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">);</span>
555
+
556
+ <span class="normal"> </span><span class="comment">/* since the TestThreadData structure references Clutter data structures</span>
557
+ <span class="comment"> * we need to free it from within the same thread that called clutter_main()</span>
558
+ <span class="comment"> * which means using an idle handler in the main loop.</span>
559
+ <span class="comment"> *</span>
560
+ <span class="comment"> * clutter_threads_add_idle() is guaranteed to run the callback passed to</span>
561
+ <span class="comment"> * to it under the Big Clutter Lock.</span>
562
+ <span class="comment"> */</span>
563
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-threads-add-idle-full">clutter_threads_add_idle_full</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">G_PRIORITY_DEFAULT</span><span class="symbol">,</span>
564
+ <span class="normal"> test_thread_done_idle</span><span class="symbol">,</span>
565
+ <span class="normal"> _data</span><span class="symbol">,</span>
566
+ <span class="normal"> test_thread_data_free</span><span class="symbol">);</span>
567
+ <span class="cbracket">}</span>
568
+
569
+ <span class="comment">/* thread local storage */</span>
570
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">GPrivate</span><span class="normal"> test_thread_data </span><span class="symbol">=</span><span class="normal"> </span><span class="function">G_PRIVATE_INIT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">test_thread_data_done</span><span class="symbol">);</span>
571
+
572
+ <span class="keyword">typedef</span><span class="normal"> </span><span class="keyword">struct</span><span class="normal"> </span><span class="cbracket">{</span>
573
+ <span class="normal"> </span><span class="usertype">gint</span><span class="normal"> count</span><span class="symbol">;</span>
574
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">thread_data</span><span class="symbol">;</span>
575
+ <span class="cbracket">}</span><span class="normal"> TestUpdate</span><span class="symbol">;</span>
576
+
577
+ <span class="keyword">static</span><span class="normal"> gboolean</span>
578
+ <span class="function">update_label_idle</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
579
+ <span class="cbracket">{</span>
580
+ <span class="normal"> </span><span class="usertype">TestUpdate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">update </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
581
+ <span class="normal"> </span><span class="usertype">guint</span><span class="normal"> width</span><span class="symbol">;</span>
582
+ <span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">text</span><span class="symbol">;</span>
583
+
584
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">label </span><span class="symbol">==</span><span class="normal"> NULL</span><span class="symbol">)</span>
585
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> G_SOURCE_REMOVE</span><span class="symbol">;</span>
586
+
587
+ <span class="normal"> text </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strdup_printf</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Count to %d"</span><span class="symbol">,</span><span class="normal"> update</span><span class="symbol">-&gt;</span><span class="normal">count</span><span class="symbol">);</span>
588
+ <span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-set-text">clutter_text_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TEXT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">),</span><span class="normal"> text</span><span class="symbol">);</span>
589
+
590
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-width">clutter_actor_set_width</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
591
+
592
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">count </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
593
+ <span class="normal"> width </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
594
+ <span class="normal"> </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">count </span><span class="symbol">==</span><span class="normal"> </span><span class="number">100</span><span class="symbol">)</span>
595
+ <span class="normal"> width </span><span class="symbol">=</span><span class="normal"> </span><span class="number">350</span><span class="symbol">;</span>
596
+ <span class="normal"> </span><span class="keyword">else</span>
597
+ <span class="normal"> width </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">guint</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">count </span><span class="symbol">/</span><span class="normal"> </span><span class="number">100.0</span><span class="normal"> </span><span class="symbol">*</span><span class="normal"> </span><span class="number">350.0</span><span class="symbol">);</span>
598
+
599
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-save-easing-state">clutter_actor_save_easing_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">progress</span><span class="symbol">);</span>
600
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-width">clutter_actor_set_width</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">progress</span><span class="symbol">,</span><span class="normal"> width</span><span class="symbol">);</span>
601
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-restore-easing-state">clutter_actor_restore_easing_state</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">-&gt;</span><span class="normal">thread_data</span><span class="symbol">-&gt;</span><span class="normal">progress</span><span class="symbol">);</span>
602
+
603
+ <span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text</span><span class="symbol">);</span>
604
+ <span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update</span><span class="symbol">);</span>
605
+
606
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> G_SOURCE_REMOVE</span><span class="symbol">;</span>
607
+ <span class="cbracket">}</span>
608
+
609
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
610
+ <span class="function">do_something_very_slow</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
611
+ <span class="cbracket">{</span>
612
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data</span><span class="symbol">;</span>
613
+ <span class="normal"> </span><span class="usertype">gint</span><span class="normal"> i</span><span class="symbol">;</span>
614
+
615
+ <span class="normal"> data </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_private_get</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">test_thread_data</span><span class="symbol">);</span>
616
+
617
+ <span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span><span class="normal"> i </span><span class="symbol">&lt;=</span><span class="normal"> </span><span class="number">100</span><span class="symbol">;</span><span class="normal"> i</span><span class="symbol">++)</span>
618
+ <span class="normal"> </span><span class="cbracket">{</span>
619
+ <span class="normal"> </span><span class="usertype">gint</span><span class="normal"> msecs</span><span class="symbol">;</span>
620
+
621
+ <span class="normal"> msecs </span><span class="symbol">=</span><span class="normal"> </span><span class="number">1</span><span class="normal"> </span><span class="symbol">+</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="number">100.0</span><span class="normal"> </span><span class="symbol">*</span><span class="normal"> </span><span class="function">rand</span><span class="normal"> </span><span class="symbol">()</span><span class="normal"> </span><span class="symbol">/</span><span class="normal"> </span><span class="symbol">((</span><span class="normal">RAND_MAX </span><span class="symbol">+</span><span class="normal"> </span><span class="number">1.0</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">/</span><span class="normal"> </span><span class="number">3</span><span class="symbol">));</span>
622
+
623
+ <span class="normal"> </span><span class="comment">/* sleep for a while, to emulate some work being done */</span>
624
+ <span class="normal"> </span><span class="function">g_usleep</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">msecs </span><span class="symbol">*</span><span class="normal"> </span><span class="number">1000</span><span class="symbol">);</span>
625
+
626
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">((</span><span class="normal">i </span><span class="symbol">%</span><span class="normal"> </span><span class="number">10</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
627
+ <span class="normal"> </span><span class="cbracket">{</span>
628
+ <span class="normal"> </span><span class="usertype">TestUpdate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">update</span><span class="symbol">;</span>
629
+
630
+ <span class="normal"> </span><span class="comment">/* update the UI from within the main loop, making sure that the</span>
631
+ <span class="comment"> * Big Clutter Lock is held; only one thread at a time can call</span>
632
+ <span class="comment"> * Clutter API, and it's mandatory to do this from the same thread</span>
633
+ <span class="comment"> * that called clutter_init()/clutter_main().</span>
634
+ <span class="comment"> */</span>
635
+ <span class="normal"> update </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_new</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TestUpdate</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
636
+ <span class="normal"> update</span><span class="symbol">-&gt;</span><span class="normal">count </span><span class="symbol">=</span><span class="normal"> i</span><span class="symbol">;</span>
637
+ <span class="normal"> update</span><span class="symbol">-&gt;</span><span class="normal">thread_data </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
638
+
639
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-threads-add-idle-full">clutter_threads_add_idle_full</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">G_PRIORITY_HIGH</span><span class="symbol">,</span>
640
+ <span class="normal"> update_label_idle</span><span class="symbol">,</span>
641
+ <span class="normal"> update</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
642
+ <span class="normal"> </span><span class="cbracket">}</span>
643
+ <span class="normal"> </span><span class="cbracket">}</span>
644
+ <span class="cbracket">}</span>
645
+
646
+ <span class="keyword">static</span><span class="normal"> gpointer</span>
647
+ <span class="function">test_thread_func</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
648
+ <span class="cbracket">{</span>
649
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data </span><span class="symbol">=</span><span class="normal"> user_data</span><span class="symbol">;</span>
650
+
651
+ <span class="normal"> </span><span class="function">g_private_set</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">test_thread_data</span><span class="symbol">,</span><span class="normal"> data</span><span class="symbol">);</span>
652
+
653
+ <span class="normal"> </span><span class="comment">/* this function will block */</span>
654
+ <span class="normal"> </span><span class="function">do_something_very_slow</span><span class="normal"> </span><span class="symbol">();</span>
655
+
656
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> NULL</span><span class="symbol">;</span>
657
+ <span class="cbracket">}</span>
658
+
659
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">count_label </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
660
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">help_label </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
661
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">progress_rect </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
662
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">rect </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
663
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterTransition</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">flip </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
664
+ <span class="keyword">static</span><span class="normal"> </span><span class="usertype">ClutterTransition</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bounce </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
665
+
666
+ <span class="keyword">static</span><span class="normal"> gboolean</span>
667
+ <span class="function">on_key_press_event</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ClutterStage</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">stage</span><span class="symbol">,</span>
668
+ <span class="normal"> </span><span class="usertype">ClutterEvent</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">event</span><span class="symbol">,</span>
669
+ <span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
670
+ <span class="cbracket">{</span>
671
+ <span class="normal"> </span><span class="usertype">TestThreadData</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">data</span><span class="symbol">;</span>
672
+
673
+ <span class="normal"> </span><span class="keyword">switch</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="clutter-Events.html#clutter-event-get-key-symbol">clutter_event_get_key_symbol</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">event</span><span class="symbol">))</span>
674
+ <span class="normal"> </span><span class="cbracket">{</span>
675
+ <span class="normal"> </span><span class="keyword">case</span><span class="normal"> CLUTTER_KEY_s</span><span class="symbol">:</span>
676
+ <span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-set-text">clutter_text_set_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TEXT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">help_label</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Press 'q' to quit"</span><span class="symbol">);</span>
677
+
678
+ <span class="normal"> </span><span class="comment">/* start the animations */</span>
679
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-transition">clutter_actor_add_transition</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"flip"</span><span class="symbol">,</span><span class="normal"> flip</span><span class="symbol">);</span>
680
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-transition">clutter_actor_add_transition</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"bounce"</span><span class="symbol">,</span><span class="normal"> bounce</span><span class="symbol">);</span>
681
+
682
+ <span class="normal"> </span><span class="comment">/* the data structure holding all our objects */</span>
683
+ <span class="normal"> data </span><span class="symbol">=</span><span class="normal"> </span><span class="function">test_thread_data_new</span><span class="normal"> </span><span class="symbol">();</span>
684
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">stage </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">);</span>
685
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">label </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">count_label</span><span class="symbol">);</span>
686
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">progress </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">progress_rect</span><span class="symbol">);</span>
687
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">rect </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">);</span>
688
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">flip </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">flip</span><span class="symbol">);</span>
689
+ <span class="normal"> data</span><span class="symbol">-&gt;</span><span class="normal">bounce </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bounce</span><span class="symbol">);</span>
690
+
691
+ <span class="normal"> </span><span class="comment">/* start the thread that updates the counter and the progress bar */</span>
692
+ <span class="normal"> </span><span class="function">g_thread_new</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"counter"</span><span class="symbol">,</span><span class="normal"> test_thread_func</span><span class="symbol">,</span><span class="normal"> data</span><span class="symbol">);</span>
693
+
694
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="clutter-Events.html#CLUTTER-EVENT-STOP:CAPS">CLUTTER_EVENT_STOP</a></span><span class="symbol">;</span>
695
+
696
+ <span class="normal"> </span><span class="keyword">case</span><span class="normal"> CLUTTER_KEY_q</span><span class="symbol">:</span>
697
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-main-quit">clutter_main_quit</a></span><span class="normal"> </span><span class="symbol">();</span>
698
+
699
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="clutter-Events.html#CLUTTER-EVENT-STOP:CAPS">CLUTTER_EVENT_STOP</a></span><span class="symbol">;</span>
700
+
701
+ <span class="label"> default:</span>
702
+ <span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
703
+ <span class="normal"> </span><span class="cbracket">}</span>
704
+
705
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="clutter-Events.html#CLUTTER-EVENT-PROPAGATE:CAPS">CLUTTER_EVENT_PROPAGATE</a></span><span class="symbol">;</span>
706
+ <span class="cbracket">}</span>
707
+
708
+ <span class="type">int</span>
709
+ <span class="function">main</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">argv</span><span class="symbol">[])</span>
710
+ <span class="cbracket">{</span>
711
+ <span class="normal"> </span><span class="usertype">ClutterTransition</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">transition</span><span class="symbol">;</span>
712
+ <span class="normal"> </span><span class="usertype">ClutterActor</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">stage</span><span class="symbol">;</span>
713
+ <span class="normal"> </span><span class="usertype">ClutterPoint</span><span class="normal"> start </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Base-geometric-types.html#CLUTTER-POINT-INIT:CAPS">CLUTTER_POINT_INIT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="number">75</span><span class="symbol">.</span><span class="normal">f</span><span class="symbol">,</span><span class="normal"> </span><span class="number">150</span><span class="symbol">.</span><span class="normal">f</span><span class="symbol">);</span>
714
+ <span class="normal"> </span><span class="usertype">ClutterPoint</span><span class="normal"> end </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Base-geometric-types.html#CLUTTER-POINT-INIT:CAPS">CLUTTER_POINT_INIT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="number">400</span><span class="symbol">.</span><span class="normal">f</span><span class="symbol">,</span><span class="normal"> </span><span class="number">150</span><span class="symbol">.</span><span class="normal">f</span><span class="symbol">);</span>
715
+
716
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="clutter-General.html#clutter-init">clutter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">argv</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">!=</span><span class="normal"> <a href="clutter-General.html#CLUTTER-INIT-SUCCESS:CAPS">CLUTTER_INIT_SUCCESS</a></span><span class="symbol">)</span>
717
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="number">1</span><span class="symbol">;</span>
718
+
719
+ <span class="normal"> stage </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterStage.html#clutter-stage-new">clutter_stage_new</a></span><span class="normal"> </span><span class="symbol">();</span>
720
+ <span class="normal"> </span><span class="function"><a href="ClutterStage.html#clutter-stage-set-title">clutter_stage_set_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_STAGE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Threading"</span><span class="symbol">);</span>
721
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-background-color">clutter_actor_set_background_color</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> CLUTTER_COLOR_Aluminium3</span><span class="symbol">);</span>
722
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-size">clutter_actor_set_size</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="number">600</span><span class="symbol">,</span><span class="normal"> </span><span class="number">300</span><span class="symbol">);</span>
723
+ <span class="normal"> </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"destroy"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="clutter-General.html#clutter-main-quit">clutter_main_quit</a></span><span class="symbol">),</span><span class="normal"> NULL</span><span class="symbol">);</span>
724
+ <span class="normal"> </span>
725
+ <span class="normal"> count_label </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-new-with-text">clutter_text_new_with_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Mono 12"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Counter"</span><span class="symbol">);</span>
726
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-position">clutter_actor_set_position</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">count_label</span><span class="symbol">,</span><span class="normal"> </span><span class="number">350</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">);</span>
727
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-child">clutter_actor_add_child</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> count_label</span><span class="symbol">);</span>
728
+
729
+ <span class="normal"> help_label </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterText.html#clutter-text-new-with-text">clutter_text_new_with_text</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Mono 12"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Press 's' to start"</span><span class="symbol">);</span>
730
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-position">clutter_actor_set_position</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">help_label</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">);</span>
731
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-child">clutter_actor_add_child</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> help_label</span><span class="symbol">);</span>
732
+
733
+ <span class="normal"> </span><span class="comment">/* a progress bar */</span>
734
+ <span class="normal"> progress_rect </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-new">clutter_actor_new</a></span><span class="normal"> </span><span class="symbol">();</span>
735
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-background-color">clutter_actor_set_background_color</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">progress_rect</span><span class="symbol">,</span><span class="normal"> CLUTTER_COLOR_DarkChameleon</span><span class="symbol">);</span>
736
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-position">clutter_actor_set_position</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">progress_rect</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">,</span><span class="normal"> </span><span class="number">225</span><span class="symbol">);</span>
737
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-size">clutter_actor_set_size</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">progress_rect</span><span class="symbol">,</span><span class="normal"> </span><span class="number">350</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">);</span>
738
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-child">clutter_actor_add_child</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> progress_rect</span><span class="symbol">);</span>
739
+
740
+ <span class="normal"> </span><span class="comment">/* an actor we bounce around */</span>
741
+ <span class="normal"> rect </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-new">clutter_actor_new</a></span><span class="normal"> </span><span class="symbol">();</span>
742
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-background-color">clutter_actor_set_background_color</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> CLUTTER_COLOR_LightScarletRed</span><span class="symbol">);</span>
743
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-position">clutter_actor_set_position</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="number">75</span><span class="symbol">,</span><span class="normal"> </span><span class="number">150</span><span class="symbol">);</span>
744
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-size">clutter_actor_set_size</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">,</span><span class="normal"> </span><span class="number">50</span><span class="symbol">);</span>
745
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-pivot-point">clutter_actor_set_pivot_point</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">.</span><span class="normal">5f</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">.</span><span class="normal">5f</span><span class="symbol">);</span>
746
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-set-opacity">clutter_actor_set_opacity</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">rect</span><span class="symbol">,</span><span class="normal"> </span><span class="number">224</span><span class="symbol">);</span>
747
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-add-child">clutter_actor_add_child</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span><span class="normal"> rect</span><span class="symbol">);</span>
748
+
749
+ <span class="normal"> </span><span class="comment">/* two transitions we use to bounce rect around */</span>
750
+ <span class="normal"> transition </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterPropertyTransition.html#clutter-property-transition-new">clutter_property_transition_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"rotation-angle-z"</span><span class="symbol">);</span>
751
+ <span class="normal"> </span><span class="function"><a href="ClutterTransition.html#clutter-transition-set-from">clutter_transition_set_from</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">,</span><span class="normal"> G_TYPE_DOUBLE</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0.0</span><span class="symbol">);</span>
752
+ <span class="normal"> </span><span class="function"><a href="ClutterTransition.html#clutter-transition-set-to">clutter_transition_set_to</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">,</span><span class="normal"> G_TYPE_DOUBLE</span><span class="symbol">,</span><span class="normal"> </span><span class="number">360.0</span><span class="symbol">);</span>
753
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-repeat-count">clutter_timeline_set_repeat_count</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
754
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-auto-reverse">clutter_timeline_set_auto_reverse</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> TRUE</span><span class="symbol">);</span>
755
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-duration">clutter_timeline_set_duration</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> </span><span class="number">3000</span><span class="symbol">);</span>
756
+ <span class="normal"> flip </span><span class="symbol">=</span><span class="normal"> transition</span><span class="symbol">;</span>
757
+
758
+ <span class="normal"> transition </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterPropertyTransition.html#clutter-property-transition-new">clutter_property_transition_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"position"</span><span class="symbol">);</span>
759
+ <span class="normal"> </span><span class="function"><a href="ClutterTransition.html#clutter-transition-set-from">clutter_transition_set_from</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">,</span><span class="normal"> CLUTTER_TYPE_POINT</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">start</span><span class="symbol">);</span>
760
+ <span class="normal"> </span><span class="function"><a href="ClutterTransition.html#clutter-transition-set-to">clutter_transition_set_to</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">,</span><span class="normal"> CLUTTER_TYPE_POINT</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">end</span><span class="symbol">);</span>
761
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-repeat-count">clutter_timeline_set_repeat_count</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
762
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-auto-reverse">clutter_timeline_set_auto_reverse</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> TRUE</span><span class="symbol">);</span>
763
+ <span class="normal"> </span><span class="function"><a href="ClutterTimeline.html#clutter-timeline-set-duration">clutter_timeline_set_duration</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_TIMELINE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">transition</span><span class="symbol">),</span><span class="normal"> </span><span class="number">3000</span><span class="symbol">);</span>
764
+ <span class="normal"> bounce </span><span class="symbol">=</span><span class="normal"> transition</span><span class="symbol">;</span>
765
+
766
+ <span class="normal"> </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span>
767
+ <span class="normal"> </span><span class="string">"button-press-event"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="clutter-General.html#clutter-main-quit">clutter_main_quit</a></span><span class="symbol">),</span>
768
+ <span class="normal"> NULL</span><span class="symbol">);</span>
769
+ <span class="normal"> </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">,</span>
770
+ <span class="normal"> </span><span class="string">"key-press-event"</span><span class="symbol">,</span><span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">on_key_press_event</span><span class="symbol">),</span>
771
+ <span class="normal"> NULL</span><span class="symbol">);</span>
772
+
773
+ <span class="normal"> </span><span class="function"><a href="ClutterActor.html#clutter-actor-show">clutter_actor_show</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stage</span><span class="symbol">);</span>
774
+
775
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-main">clutter_main</a></span><span class="normal"> </span><span class="symbol">();</span>
776
+
777
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> EXIT_SUCCESS</span><span class="symbol">;</span>
778
+ <span class="cbracket">}</span></pre></td>
779
+ </tr>
780
+ </tbody>
781
+ </table>
782
+ </div>
783
+
784
+ </div>
785
+ <br class="example-break">
786
+ </div>
787
+ <p>
788
+ </p>
789
+ </div>
790
+ <div class="refsect1">
791
+ <a name="clutter-General.details"></a><h2>Details</h2>
792
+ <div class="refsect2">
793
+ <a name="CLUTTER-PRIORITY-REDRAW:CAPS"></a><h3>CLUTTER_PRIORITY_REDRAW</h3>
794
+ <pre class="programlisting">#define CLUTTER_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 50)
795
+ </pre>
796
+ <p>
797
+ Priority of the redraws. This is chosen to be lower than the GTK+
798
+ redraw and resize priorities, because in application with both
799
+ GTK+ and Clutter it's more likely that the Clutter part will be
800
+ continually animating (and thus able to starve GTK+) than
801
+ vice-versa.
802
+ </p>
803
+ <p class="since">Since 0.8</p>
804
+ </div>
805
+ <hr>
806
+ <div class="refsect2">
807
+ <a name="ClutterInitError"></a><h3>enum ClutterInitError</h3>
808
+ <pre class="programlisting">typedef enum {
809
+ CLUTTER_INIT_SUCCESS = 1,
810
+ CLUTTER_INIT_ERROR_UNKNOWN = 0,
811
+ CLUTTER_INIT_ERROR_THREADS = -1,
812
+ CLUTTER_INIT_ERROR_BACKEND = -2,
813
+ CLUTTER_INIT_ERROR_INTERNAL = -3
814
+ } ClutterInitError;
815
+ </pre>
816
+ <p>
817
+ Error conditions returned by <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a> and <a class="link" href="clutter-General.html#clutter-init-with-args" title="clutter_init_with_args ()"><code class="function">clutter_init_with_args()</code></a>.
818
+ </p>
819
+ <div class="variablelist"><table border="0" class="variablelist">
820
+ <colgroup>
821
+ <col align="left" valign="top">
822
+ <col>
823
+ </colgroup>
824
+ <tbody>
825
+ <tr>
826
+ <td><p><a name="CLUTTER-INIT-SUCCESS:CAPS"></a><span class="term"><code class="literal">CLUTTER_INIT_SUCCESS</code></span></p></td>
827
+ <td>Initialisation successful
828
+ </td>
829
+ </tr>
830
+ <tr>
831
+ <td><p><a name="CLUTTER-INIT-ERROR-UNKNOWN:CAPS"></a><span class="term"><code class="literal">CLUTTER_INIT_ERROR_UNKNOWN</code></span></p></td>
832
+ <td>Unknown error
833
+ </td>
834
+ </tr>
835
+ <tr>
836
+ <td><p><a name="CLUTTER-INIT-ERROR-THREADS:CAPS"></a><span class="term"><code class="literal">CLUTTER_INIT_ERROR_THREADS</code></span></p></td>
837
+ <td>Thread initialisation failed
838
+ </td>
839
+ </tr>
840
+ <tr>
841
+ <td><p><a name="CLUTTER-INIT-ERROR-BACKEND:CAPS"></a><span class="term"><code class="literal">CLUTTER_INIT_ERROR_BACKEND</code></span></p></td>
842
+ <td>Backend initialisation failed
843
+ </td>
844
+ </tr>
845
+ <tr>
846
+ <td><p><a name="CLUTTER-INIT-ERROR-INTERNAL:CAPS"></a><span class="term"><code class="literal">CLUTTER_INIT_ERROR_INTERNAL</code></span></p></td>
847
+ <td>Internal error
848
+ </td>
849
+ </tr>
850
+ </tbody>
851
+ </table></div>
852
+ <p class="since">Since 0.2</p>
853
+ </div>
854
+ <hr>
855
+ <div class="refsect2">
856
+ <a name="clutter-init"></a><h3>clutter_init ()</h3>
857
+ <pre class="programlisting"><a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="returnvalue">ClutterInitError</span></a> clutter_init (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
858
+ <em class="parameter"><code><span class="type">char</span> ***argv</code></em>);</pre>
859
+ <p>
860
+ Initialises everything needed to operate with Clutter and parses some
861
+ standard command line options; <em class="parameter"><code>argc</code></em> and <em class="parameter"><code>argv</code></em> are adjusted accordingly
862
+ so your own code will never see those standard arguments.
863
+ </p>
864
+ <p>
865
+ It is safe to call this function multiple times.
866
+ </p>
867
+ <p>
868
+ </p>
869
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
870
+ <h3 class="title">Note</h3>This function will not abort in case of errors during
871
+ initialization; <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a> will print out the error message on
872
+ stderr, and will return an error code. It is up to the application
873
+ code to handle this case. If you need to display the error message
874
+ yourself, you can use <a class="link" href="clutter-General.html#clutter-init-with-args" title="clutter_init_with_args ()"><code class="function">clutter_init_with_args()</code></a>, which takes a <span class="type">GError</span>
875
+ pointer.</div>
876
+ <p>
877
+ </p>
878
+ <p>
879
+ If this function fails, and returns an error code, any subsequent
880
+ Clutter API will have undefined behaviour - including segmentation
881
+ faults and assertion failures. Make sure to handle the returned
882
+ <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="type">ClutterInitError</span></a> enumeration value.
883
+ </p>
884
+ <div class="variablelist"><table border="0" class="variablelist">
885
+ <colgroup>
886
+ <col align="left" valign="top">
887
+ <col>
888
+ </colgroup>
889
+ <tbody>
890
+ <tr>
891
+ <td><p><span class="term"><em class="parameter"><code>argc</code></em> :</span></p></td>
892
+ <td>The number of arguments in <em class="parameter"><code>argv</code></em>. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
893
+ </td>
894
+ </tr>
895
+ <tr>
896
+ <td><p><span class="term"><em class="parameter"><code>argv</code></em> :</span></p></td>
897
+ <td>A pointer to an array
898
+ of arguments. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=argc][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
899
+ </td>
900
+ </tr>
901
+ <tr>
902
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
903
+ <td>a <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="type">ClutterInitError</span></a> value</td>
904
+ </tr>
905
+ </tbody>
906
+ </table></div>
907
+ </div>
908
+ <hr>
909
+ <div class="refsect2">
910
+ <a name="clutter-init-with-args"></a><h3>clutter_init_with_args ()</h3>
911
+ <pre class="programlisting"><a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="returnvalue">ClutterInitError</span></a> clutter_init_with_args (<em class="parameter"><code><span class="type">int</span> *argc</code></em>,
912
+ <em class="parameter"><code><span class="type">char</span> ***argv</code></em>,
913
+ <em class="parameter"><code>const <span class="type">char</span> *parameter_string</code></em>,
914
+ <em class="parameter"><code><span class="type">GOptionEntry</span> *entries</code></em>,
915
+ <em class="parameter"><code>const <span class="type">char</span> *translation_domain</code></em>,
916
+ <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
917
+ <p>
918
+ This function does the same work as <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>. Additionally,
919
+ it allows you to add your own command line options, and it
920
+ automatically generates nicely formatted <code class="option">--help</code>
921
+ output. Note that your program will be terminated after writing
922
+ out the help output. Also note that, in case of error, the
923
+ error message will be placed inside <em class="parameter"><code>error</code></em> instead of being
924
+ printed on the display.
925
+ </p>
926
+ <p>
927
+ Just like <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>, if this function returns an error code then
928
+ any subsequent call to any other Clutter API will result in undefined
929
+ behaviour - including segmentation faults.
930
+ </p>
931
+ <div class="variablelist"><table border="0" class="variablelist">
932
+ <colgroup>
933
+ <col align="left" valign="top">
934
+ <col>
935
+ </colgroup>
936
+ <tbody>
937
+ <tr>
938
+ <td><p><span class="term"><em class="parameter"><code>argc</code></em> :</span></p></td>
939
+ <td>a pointer to the number of command line arguments. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
940
+ </td>
941
+ </tr>
942
+ <tr>
943
+ <td><p><span class="term"><em class="parameter"><code>argv</code></em> :</span></p></td>
944
+ <td>a pointer to the array
945
+ of command line arguments. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=argc][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
946
+ </td>
947
+ </tr>
948
+ <tr>
949
+ <td><p><span class="term"><em class="parameter"><code>parameter_string</code></em> :</span></p></td>
950
+ <td>a string which is displayed in the
951
+ first line of <code class="option">--help</code> output, after
952
+ <code class="literal"><em class="replaceable"><code>programname</code></em> [OPTION...]</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
953
+ </td>
954
+ </tr>
955
+ <tr>
956
+ <td><p><span class="term"><em class="parameter"><code>entries</code></em> :</span></p></td>
957
+ <td>a <code class="literal">NULL</code> terminated array of
958
+ <span class="type">GOptionEntry</span>s describing the options of your program. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
959
+ </td>
960
+ </tr>
961
+ <tr>
962
+ <td><p><span class="term"><em class="parameter"><code>translation_domain</code></em> :</span></p></td>
963
+ <td>a translation domain to use for
964
+ translating the <code class="option">--help</code> output for the options in
965
+ <em class="parameter"><code>entries</code></em> with <code class="function">gettext()</code>, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
966
+ </td>
967
+ </tr>
968
+ <tr>
969
+ <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
970
+ <td>a return location for a <span class="type">GError</span>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
971
+ </td>
972
+ </tr>
973
+ <tr>
974
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
975
+ <td>
976
+ <a class="link" href="clutter-General.html#CLUTTER-INIT-SUCCESS:CAPS"><code class="literal">CLUTTER_INIT_SUCCESS</code></a> if Clutter has been successfully
977
+ initialised, or other values or <a class="link" href="clutter-General.html#ClutterInitError" title="enum ClutterInitError"><span class="type">ClutterInitError</span></a> in case of
978
+ error.</td>
979
+ </tr>
980
+ </tbody>
981
+ </table></div>
982
+ <p class="since">Since 0.2</p>
983
+ </div>
984
+ <hr>
985
+ <div class="refsect2">
986
+ <a name="clutter-get-option-group"></a><h3>clutter_get_option_group ()</h3>
987
+ <pre class="programlisting"><span class="returnvalue">GOptionGroup</span> * clutter_get_option_group (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
988
+ <p>
989
+ Returns a <span class="type">GOptionGroup</span> for the command line arguments recognized
990
+ by Clutter. You should add this group to your <span class="type">GOptionContext</span> with
991
+ <code class="function">g_option_context_add_group()</code>, if you are using <code class="function">g_option_context_parse()</code>
992
+ to parse your commandline arguments.
993
+ </p>
994
+ <p>
995
+ Calling <code class="function">g_option_context_parse()</code> with Clutter's <span class="type">GOptionGroup</span> will result
996
+ in Clutter's initialization. That is, the following code:
997
+ </p>
998
+ <p>
999
+ </p>
1000
+ <div class="informalexample">
1001
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1002
+ <tbody>
1003
+ <tr>
1004
+ <td class="listing_lines" align="right"><pre>1
1005
+ 2</pre></td>
1006
+ <td class="listing_code"><pre class="programlisting"><span class="function">g_option_context_set_main_group</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-get-option-group">clutter_get_option_group</a></span><span class="normal"> </span><span class="symbol">());</span>
1007
+ <span class="normal">res </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_option_context_parse</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
1008
+ </tr>
1009
+ </tbody>
1010
+ </table>
1011
+ </div>
1012
+
1013
+ <p>
1014
+ </p>
1015
+ <p>
1016
+ is functionally equivalent to:
1017
+ </p>
1018
+ <p>
1019
+ </p>
1020
+ <div class="informalexample">
1021
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1022
+ <tbody>
1023
+ <tr>
1024
+ <td class="listing_lines" align="right"><pre>1</pre></td>
1025
+ <td class="listing_code"><pre class="programlisting"><span class="function"><a href="clutter-General.html#clutter-init">clutter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">argc</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">argv</span><span class="symbol">);</span></pre></td>
1026
+ </tr>
1027
+ </tbody>
1028
+ </table>
1029
+ </div>
1030
+
1031
+ <p>
1032
+ </p>
1033
+ <p>
1034
+ After <code class="function">g_option_context_parse()</code> on a <span class="type">GOptionContext</span> containing the
1035
+ Clutter <span class="type">GOptionGroup</span> has returned <code class="literal">TRUE</code>, Clutter is guaranteed to be
1036
+ initialized.
1037
+ </p>
1038
+ <div class="variablelist"><table border="0" class="variablelist">
1039
+ <colgroup>
1040
+ <col align="left" valign="top">
1041
+ <col>
1042
+ </colgroup>
1043
+ <tbody><tr>
1044
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1045
+ <td>a <span class="type">GOptionGroup</span> for the commandline arguments
1046
+ recognized by Clutter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1047
+ </td>
1048
+ </tr></tbody>
1049
+ </table></div>
1050
+ <p class="since">Since 0.2</p>
1051
+ </div>
1052
+ <hr>
1053
+ <div class="refsect2">
1054
+ <a name="clutter-get-option-group-without-init"></a><h3>clutter_get_option_group_without_init ()</h3>
1055
+ <pre class="programlisting"><span class="returnvalue">GOptionGroup</span> * clutter_get_option_group_without_init
1056
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1057
+ <p>
1058
+ Returns a <span class="type">GOptionGroup</span> for the command line arguments recognized
1059
+ by Clutter. You should add this group to your <span class="type">GOptionContext</span> with
1060
+ <code class="function">g_option_context_add_group()</code>, if you are using <code class="function">g_option_context_parse()</code>
1061
+ to parse your commandline arguments.
1062
+ </p>
1063
+ <p>
1064
+ Unlike <a class="link" href="clutter-General.html#clutter-get-option-group" title="clutter_get_option_group ()"><code class="function">clutter_get_option_group()</code></a>, calling <code class="function">g_option_context_parse()</code> with
1065
+ the <span class="type">GOptionGroup</span> returned by this function requires a subsequent explicit
1066
+ call to <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>; use this function when needing to set foreign
1067
+ display connection with <a class="link" href="clutter-X11-Specific-Support.html#clutter-x11-set-display" title="clutter_x11_set_display ()"><code class="function">clutter_x11_set_display()</code></a>, or with
1068
+ <code class="function"><code class="function">gtk_clutter_init()</code></code>.
1069
+ </p>
1070
+ <div class="variablelist"><table border="0" class="variablelist">
1071
+ <colgroup>
1072
+ <col align="left" valign="top">
1073
+ <col>
1074
+ </colgroup>
1075
+ <tbody><tr>
1076
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1077
+ <td>a <span class="type">GOptionGroup</span> for the commandline arguments
1078
+ recognized by Clutter. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1079
+ </td>
1080
+ </tr></tbody>
1081
+ </table></div>
1082
+ <p class="since">Since 0.8.2</p>
1083
+ </div>
1084
+ <hr>
1085
+ <div class="refsect2">
1086
+ <a name="clutter-main"></a><h3>clutter_main ()</h3>
1087
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_main (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1088
+ <p>
1089
+ Starts the Clutter mainloop.
1090
+ </p>
1091
+ </div>
1092
+ <hr>
1093
+ <div class="refsect2">
1094
+ <a name="clutter-main-quit"></a><h3>clutter_main_quit ()</h3>
1095
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_main_quit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1096
+ <p>
1097
+ Terminates the Clutter mainloop.
1098
+ </p>
1099
+ </div>
1100
+ <hr>
1101
+ <div class="refsect2">
1102
+ <a name="clutter-main-level"></a><h3>clutter_main_level ()</h3>
1103
+ <pre class="programlisting"><span class="returnvalue">gint</span> clutter_main_level (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1104
+ <p>
1105
+ Retrieves the depth of the Clutter mainloop.
1106
+ </p>
1107
+ <div class="variablelist"><table border="0" class="variablelist">
1108
+ <colgroup>
1109
+ <col align="left" valign="top">
1110
+ <col>
1111
+ </colgroup>
1112
+ <tbody><tr>
1113
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1114
+ <td>The level of the mainloop.</td>
1115
+ </tr></tbody>
1116
+ </table></div>
1117
+ </div>
1118
+ <hr>
1119
+ <div class="refsect2">
1120
+ <a name="clutter-get-debug-enabled"></a><h3>clutter_get_debug_enabled ()</h3>
1121
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_get_debug_enabled (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1122
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1123
+ <h3 class="title">Warning</h3>
1124
+ <p><code class="literal">clutter_get_debug_enabled</code> has been deprecated since version 1.10 and should not be used in newly-written code. This function does not do anything.</p>
1125
+ </div>
1126
+ <p>
1127
+ Check if Clutter has debugging enabled.
1128
+ </p>
1129
+ <div class="variablelist"><table border="0" class="variablelist">
1130
+ <colgroup>
1131
+ <col align="left" valign="top">
1132
+ <col>
1133
+ </colgroup>
1134
+ <tbody><tr>
1135
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1136
+ <td><code class="literal">FALSE</code></td>
1137
+ </tr></tbody>
1138
+ </table></div>
1139
+ </div>
1140
+ <hr>
1141
+ <div class="refsect2">
1142
+ <a name="clutter-get-show-fps"></a><h3>clutter_get_show_fps ()</h3>
1143
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_get_show_fps (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1144
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1145
+ <h3 class="title">Warning</h3>
1146
+ <p><code class="literal">clutter_get_show_fps</code> has been deprecated since version 1.10 and should not be used in newly-written code. This function does not do anything. Use the environment
1147
+ variable or the configuration file to determine whether Clutter should
1148
+ print out the FPS counter on the console.</p>
1149
+ </div>
1150
+ <p>
1151
+ Returns whether Clutter should print out the frames per second on the
1152
+ console. You can enable this setting either using the
1153
+ <code class="literal">CLUTTER_SHOW_FPS</code> environment variable or passing
1154
+ the <code class="literal">--clutter-show-fps</code> command line argument. *
1155
+ </p>
1156
+ <div class="variablelist"><table border="0" class="variablelist">
1157
+ <colgroup>
1158
+ <col align="left" valign="top">
1159
+ <col>
1160
+ </colgroup>
1161
+ <tbody><tr>
1162
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1163
+ <td>
1164
+ <code class="literal">TRUE</code> if Clutter should show the FPS.</td>
1165
+ </tr></tbody>
1166
+ </table></div>
1167
+ <p class="since">Since 0.4</p>
1168
+ </div>
1169
+ <hr>
1170
+ <div class="refsect2">
1171
+ <a name="clutter-get-timestamp"></a><h3>clutter_get_timestamp ()</h3>
1172
+ <pre class="programlisting"><span class="returnvalue">gulong</span> clutter_get_timestamp (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1173
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1174
+ <h3 class="title">Warning</h3>
1175
+ <p><code class="literal">clutter_get_timestamp</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <span class="type">GTimer</span> or <code class="function">g_get_monotonic_time()</code> for a proper
1176
+ timing source</p>
1177
+ </div>
1178
+ <p>
1179
+ Returns the approximate number of microseconds passed since Clutter was
1180
+ intialised.
1181
+ </p>
1182
+ <p>
1183
+ This function shdould not be used by application code.
1184
+ </p>
1185
+ <p>
1186
+ The output of this function depends on whether Clutter was configured to
1187
+ enable its debugging code paths, so it's less useful than intended.
1188
+ </p>
1189
+ <p>
1190
+ Since Clutter 1.10, this function is an alias to <code class="function">g_get_monotonic_time()</code>
1191
+ if Clutter was configured to enable the debugging code paths.
1192
+ </p>
1193
+ <div class="variablelist"><table border="0" class="variablelist">
1194
+ <colgroup>
1195
+ <col align="left" valign="top">
1196
+ <col>
1197
+ </colgroup>
1198
+ <tbody><tr>
1199
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1200
+ <td>Number of microseconds since <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a> was called, or
1201
+ zero if Clutter was not configured with debugging code paths.</td>
1202
+ </tr></tbody>
1203
+ </table></div>
1204
+ </div>
1205
+ <hr>
1206
+ <div class="refsect2">
1207
+ <a name="clutter-get-actor-by-gid"></a><h3>clutter_get_actor_by_gid ()</h3>
1208
+ <pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * clutter_get_actor_by_gid (<em class="parameter"><code><span class="type">guint32</span> id_</code></em>);</pre>
1209
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1210
+ <h3 class="title">Warning</h3>
1211
+ <p><code class="literal">clutter_get_actor_by_gid</code> has been deprecated since version 1.8 and should not be used in newly-written code. The id is not used any longer.</p>
1212
+ </div>
1213
+ <p>
1214
+ Retrieves the <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> with <em class="parameter"><code>id_</code></em>.
1215
+ </p>
1216
+ <div class="variablelist"><table border="0" class="variablelist">
1217
+ <colgroup>
1218
+ <col align="left" valign="top">
1219
+ <col>
1220
+ </colgroup>
1221
+ <tbody>
1222
+ <tr>
1223
+ <td><p><span class="term"><em class="parameter"><code>id_</code></em> :</span></p></td>
1224
+ <td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> unique id.</td>
1225
+ </tr>
1226
+ <tr>
1227
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1228
+ <td>the actor with the passed id or <code class="literal">NULL</code>.
1229
+ The returned actor does not have its reference count increased. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1230
+ </td>
1231
+ </tr>
1232
+ </tbody>
1233
+ </table></div>
1234
+ <p class="since">Since 0.6</p>
1235
+ </div>
1236
+ <hr>
1237
+ <div class="refsect2">
1238
+ <a name="clutter-set-default-frame-rate"></a><h3>clutter_set_default_frame_rate ()</h3>
1239
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_set_default_frame_rate (<em class="parameter"><code><span class="type">guint</span> frames_per_sec</code></em>);</pre>
1240
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1241
+ <h3 class="title">Warning</h3>
1242
+ <p><code class="literal">clutter_set_default_frame_rate</code> has been deprecated since version 1.10 and should not be used in newly-written code. This function does not do anything any more.</p>
1243
+ </div>
1244
+ <p>
1245
+ Sets the default frame rate. This frame rate will be used to limit
1246
+ the number of frames drawn if Clutter is not able to synchronize
1247
+ with the vertical refresh rate of the display. When synchronization
1248
+ is possible, this value is ignored.
1249
+ </p>
1250
+ <div class="variablelist"><table border="0" class="variablelist">
1251
+ <colgroup>
1252
+ <col align="left" valign="top">
1253
+ <col>
1254
+ </colgroup>
1255
+ <tbody><tr>
1256
+ <td><p><span class="term"><em class="parameter"><code>frames_per_sec</code></em> :</span></p></td>
1257
+ <td>the new default frame rate</td>
1258
+ </tr></tbody>
1259
+ </table></div>
1260
+ <p class="since">Since 0.6</p>
1261
+ </div>
1262
+ <hr>
1263
+ <div class="refsect2">
1264
+ <a name="clutter-get-default-frame-rate"></a><h3>clutter_get_default_frame_rate ()</h3>
1265
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_get_default_frame_rate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1266
+ <p>
1267
+ Retrieves the default frame rate. See <a class="link" href="clutter-General.html#clutter-set-default-frame-rate" title="clutter_set_default_frame_rate ()"><code class="function">clutter_set_default_frame_rate()</code></a>.
1268
+ </p>
1269
+ <div class="variablelist"><table border="0" class="variablelist">
1270
+ <colgroup>
1271
+ <col align="left" valign="top">
1272
+ <col>
1273
+ </colgroup>
1274
+ <tbody><tr>
1275
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1276
+ <td>the default frame rate</td>
1277
+ </tr></tbody>
1278
+ </table></div>
1279
+ <p class="since">Since 0.6</p>
1280
+ </div>
1281
+ <hr>
1282
+ <div class="refsect2">
1283
+ <a name="clutter-set-motion-events-enabled"></a><h3>clutter_set_motion_events_enabled ()</h3>
1284
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_set_motion_events_enabled (<em class="parameter"><code><span class="type">gboolean</span> enable</code></em>);</pre>
1285
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1286
+ <h3 class="title">Warning</h3>
1287
+ <p><code class="literal">clutter_set_motion_events_enabled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterStage.html#clutter-stage-set-motion-events-enabled" title="clutter_stage_set_motion_events_enabled ()"><code class="function">clutter_stage_set_motion_events_enabled()</code></a> instead.</p>
1288
+ </div>
1289
+ <p>
1290
+ Sets whether per-actor motion events should be enabled or not on
1291
+ all <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>s managed by Clutter.
1292
+ </p>
1293
+ <p>
1294
+ If <em class="parameter"><code>enable</code></em> is <code class="literal">FALSE</code> the following events will not work:
1295
+ </p>
1296
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1297
+ <li class="listitem"><p>ClutterActor::motion-event, unless on the
1298
+ <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a></p></li>
1299
+ <li class="listitem"><p>ClutterActor::enter-event</p></li>
1300
+ <li class="listitem"><p>ClutterActor::leave-event</p></li>
1301
+ </ul></div>
1302
+ <p>
1303
+ </p>
1304
+ <div class="variablelist"><table border="0" class="variablelist">
1305
+ <colgroup>
1306
+ <col align="left" valign="top">
1307
+ <col>
1308
+ </colgroup>
1309
+ <tbody><tr>
1310
+ <td><p><span class="term"><em class="parameter"><code>enable</code></em> :</span></p></td>
1311
+ <td>
1312
+ <code class="literal">TRUE</code> to enable per-actor motion events</td>
1313
+ </tr></tbody>
1314
+ </table></div>
1315
+ <p class="since">Since 0.6</p>
1316
+ </div>
1317
+ <hr>
1318
+ <div class="refsect2">
1319
+ <a name="clutter-get-motion-events-enabled"></a><h3>clutter_get_motion_events_enabled ()</h3>
1320
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_get_motion_events_enabled (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1321
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1322
+ <h3 class="title">Warning</h3>
1323
+ <p><code class="literal">clutter_get_motion_events_enabled</code> has been deprecated since version 1.8 and should not be used in newly-written code. Use <a class="link" href="ClutterStage.html#clutter-stage-get-motion-events-enabled" title="clutter_stage_get_motion_events_enabled ()"><code class="function">clutter_stage_get_motion_events_enabled()</code></a> instead.</p>
1324
+ </div>
1325
+ <p>
1326
+ Gets whether the per-actor motion events are enabled.
1327
+ </p>
1328
+ <div class="variablelist"><table border="0" class="variablelist">
1329
+ <colgroup>
1330
+ <col align="left" valign="top">
1331
+ <col>
1332
+ </colgroup>
1333
+ <tbody><tr>
1334
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1335
+ <td>
1336
+ <code class="literal">TRUE</code> if the motion events are enabled</td>
1337
+ </tr></tbody>
1338
+ </table></div>
1339
+ <p class="since">Since 0.6</p>
1340
+ </div>
1341
+ <hr>
1342
+ <div class="refsect2">
1343
+ <a name="clutter-clear-glyph-cache"></a><h3>clutter_clear_glyph_cache ()</h3>
1344
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_clear_glyph_cache (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1345
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1346
+ <h3 class="title">Warning</h3>
1347
+ <p><code class="literal">clutter_clear_glyph_cache</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="clutter-General.html#clutter-get-font-map" title="clutter_get_font_map ()"><code class="function">clutter_get_font_map()</code></a> and
1348
+ <code class="function">cogl_pango_font_map_clear_glyph_cache()</code> instead.</p>
1349
+ </div>
1350
+ <p>
1351
+ Clears the internal cache of glyphs used by the Pango
1352
+ renderer. This will free up some memory and GL texture
1353
+ resources. The cache will be automatically refilled as more text is
1354
+ drawn.
1355
+ </p>
1356
+ <p class="since">Since 0.8</p>
1357
+ </div>
1358
+ <hr>
1359
+ <div class="refsect2">
1360
+ <a name="ClutterFontFlags"></a><h3>enum ClutterFontFlags</h3>
1361
+ <pre class="programlisting">typedef enum {
1362
+ /*&lt; prefix=CLUTTER_FONT &gt;*/
1363
+ CLUTTER_FONT_MIPMAPPING = (1 &lt;&lt; 0),
1364
+ CLUTTER_FONT_HINTING = (1 &lt;&lt; 1)
1365
+ } ClutterFontFlags;
1366
+ </pre>
1367
+ <p>
1368
+ Runtime flags to change the font quality. To be used with
1369
+ <a class="link" href="clutter-General.html#clutter-set-font-flags" title="clutter_set_font_flags ()"><code class="function">clutter_set_font_flags()</code></a>.
1370
+ </p>
1371
+ <div class="variablelist"><table border="0" class="variablelist">
1372
+ <colgroup>
1373
+ <col align="left" valign="top">
1374
+ <col>
1375
+ </colgroup>
1376
+ <tbody>
1377
+ <tr>
1378
+ <td><p><a name="CLUTTER-FONT-MIPMAPPING:CAPS"></a><span class="term"><code class="literal">CLUTTER_FONT_MIPMAPPING</code></span></p></td>
1379
+ <td>Set to use mipmaps for the glyph cache textures.
1380
+ </td>
1381
+ </tr>
1382
+ <tr>
1383
+ <td><p><a name="CLUTTER-FONT-HINTING:CAPS"></a><span class="term"><code class="literal">CLUTTER_FONT_HINTING</code></span></p></td>
1384
+ <td>Set to enable hinting on the glyphs.
1385
+ </td>
1386
+ </tr>
1387
+ </tbody>
1388
+ </table></div>
1389
+ <p class="since">Since 1.0</p>
1390
+ </div>
1391
+ <hr>
1392
+ <div class="refsect2">
1393
+ <a name="clutter-set-font-flags"></a><h3>clutter_set_font_flags ()</h3>
1394
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_set_font_flags (<em class="parameter"><code><a class="link" href="clutter-General.html#ClutterFontFlags" title="enum ClutterFontFlags"><span class="type">ClutterFontFlags</span></a> flags</code></em>);</pre>
1395
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1396
+ <h3 class="title">Warning</h3>
1397
+ <p><code class="literal">clutter_set_font_flags</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="ClutterBackend.html#clutter-backend-set-font-options" title="clutter_backend_set_font_options ()"><code class="function">clutter_backend_set_font_options()</code></a> and the
1398
+ <span class="type">cairo_font_option_t</span> API.</p>
1399
+ </div>
1400
+ <p>
1401
+ Sets the font quality options for subsequent text rendering
1402
+ operations.
1403
+ </p>
1404
+ <p>
1405
+ Using mipmapped textures will improve the quality for scaled down
1406
+ text but will use more texture memory.
1407
+ </p>
1408
+ <p>
1409
+ Enabling hinting improves text quality for static text but may
1410
+ introduce some artifacts if the text is animated.
1411
+ </p>
1412
+ <div class="variablelist"><table border="0" class="variablelist">
1413
+ <colgroup>
1414
+ <col align="left" valign="top">
1415
+ <col>
1416
+ </colgroup>
1417
+ <tbody><tr>
1418
+ <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
1419
+ <td>The new flags</td>
1420
+ </tr></tbody>
1421
+ </table></div>
1422
+ <p class="since">Since 1.0</p>
1423
+ </div>
1424
+ <hr>
1425
+ <div class="refsect2">
1426
+ <a name="clutter-get-font-flags"></a><h3>clutter_get_font_flags ()</h3>
1427
+ <pre class="programlisting"><a class="link" href="clutter-General.html#ClutterFontFlags" title="enum ClutterFontFlags"><span class="returnvalue">ClutterFontFlags</span></a> clutter_get_font_flags (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1428
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1429
+ <h3 class="title">Warning</h3>
1430
+ <p><code class="literal">clutter_get_font_flags</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="ClutterBackend.html#clutter-backend-get-font-options" title="clutter_backend_get_font_options ()"><code class="function">clutter_backend_get_font_options()</code></a> and the
1431
+ <a href="/home/ebassi/gnome/install/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="type">cairo_font_options_t</span></a> API.</p>
1432
+ </div>
1433
+ <p>
1434
+ Gets the current font flags for rendering text. See
1435
+ <a class="link" href="clutter-General.html#clutter-set-font-flags" title="clutter_set_font_flags ()"><code class="function">clutter_set_font_flags()</code></a>.
1436
+ </p>
1437
+ <div class="variablelist"><table border="0" class="variablelist">
1438
+ <colgroup>
1439
+ <col align="left" valign="top">
1440
+ <col>
1441
+ </colgroup>
1442
+ <tbody><tr>
1443
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1444
+ <td>The font flags</td>
1445
+ </tr></tbody>
1446
+ </table></div>
1447
+ <p class="since">Since 1.0</p>
1448
+ </div>
1449
+ <hr>
1450
+ <div class="refsect2">
1451
+ <a name="clutter-get-font-map"></a><h3>clutter_get_font_map ()</h3>
1452
+ <pre class="programlisting"><span class="returnvalue">PangoFontMap</span> * clutter_get_font_map (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1453
+ <p>
1454
+ Retrieves the <span class="type">PangoFontMap</span> instance used by Clutter.
1455
+ You can use the global font map object with the COGL
1456
+ Pango API.
1457
+ </p>
1458
+ <div class="variablelist"><table border="0" class="variablelist">
1459
+ <colgroup>
1460
+ <col align="left" valign="top">
1461
+ <col>
1462
+ </colgroup>
1463
+ <tbody><tr>
1464
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1465
+ <td>the <span class="type">PangoFontMap</span> instance. The returned
1466
+ value is owned by Clutter and it should never be unreferenced. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1467
+ </td>
1468
+ </tr></tbody>
1469
+ </table></div>
1470
+ <p class="since">Since 1.0</p>
1471
+ </div>
1472
+ <hr>
1473
+ <div class="refsect2">
1474
+ <a name="ClutterTextDirection"></a><h3>enum ClutterTextDirection</h3>
1475
+ <pre class="programlisting">typedef enum {
1476
+ CLUTTER_TEXT_DIRECTION_DEFAULT,
1477
+ CLUTTER_TEXT_DIRECTION_LTR,
1478
+ CLUTTER_TEXT_DIRECTION_RTL
1479
+ } ClutterTextDirection;
1480
+ </pre>
1481
+ <p>
1482
+ The text direction to be used by <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>s
1483
+ </p>
1484
+ <div class="variablelist"><table border="0" class="variablelist">
1485
+ <colgroup>
1486
+ <col align="left" valign="top">
1487
+ <col>
1488
+ </colgroup>
1489
+ <tbody>
1490
+ <tr>
1491
+ <td><p><a name="CLUTTER-TEXT-DIRECTION-DEFAULT:CAPS"></a><span class="term"><code class="literal">CLUTTER_TEXT_DIRECTION_DEFAULT</code></span></p></td>
1492
+ <td>Use the default setting, as returned
1493
+ by <a class="link" href="clutter-General.html#clutter-get-default-text-direction" title="clutter_get_default_text_direction ()"><code class="function">clutter_get_default_text_direction()</code></a>
1494
+ </td>
1495
+ </tr>
1496
+ <tr>
1497
+ <td><p><a name="CLUTTER-TEXT-DIRECTION-LTR:CAPS"></a><span class="term"><code class="literal">CLUTTER_TEXT_DIRECTION_LTR</code></span></p></td>
1498
+ <td>Use left-to-right text direction
1499
+ </td>
1500
+ </tr>
1501
+ <tr>
1502
+ <td><p><a name="CLUTTER-TEXT-DIRECTION-RTL:CAPS"></a><span class="term"><code class="literal">CLUTTER_TEXT_DIRECTION_RTL</code></span></p></td>
1503
+ <td>Use right-to-left text direction
1504
+ </td>
1505
+ </tr>
1506
+ </tbody>
1507
+ </table></div>
1508
+ <p class="since">Since 1.2</p>
1509
+ </div>
1510
+ <hr>
1511
+ <div class="refsect2">
1512
+ <a name="clutter-get-default-text-direction"></a><h3>clutter_get_default_text_direction ()</h3>
1513
+ <pre class="programlisting"><a class="link" href="clutter-General.html#ClutterTextDirection" title="enum ClutterTextDirection"><span class="returnvalue">ClutterTextDirection</span></a> clutter_get_default_text_direction (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1514
+ <p>
1515
+ Retrieves the default direction for the text. The text direction is
1516
+ determined by the locale and/or by the <code class="varname">CLUTTER_TEXT_DIRECTION</code>
1517
+ environment variable.
1518
+ </p>
1519
+ <p>
1520
+ The default text direction can be overridden on a per-actor basis by using
1521
+ <a class="link" href="ClutterActor.html#clutter-actor-set-text-direction" title="clutter_actor_set_text_direction ()"><code class="function">clutter_actor_set_text_direction()</code></a>.
1522
+ </p>
1523
+ <div class="variablelist"><table border="0" class="variablelist">
1524
+ <colgroup>
1525
+ <col align="left" valign="top">
1526
+ <col>
1527
+ </colgroup>
1528
+ <tbody><tr>
1529
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1530
+ <td>the default text direction</td>
1531
+ </tr></tbody>
1532
+ </table></div>
1533
+ <p class="since">Since 1.2</p>
1534
+ </div>
1535
+ <hr>
1536
+ <div class="refsect2">
1537
+ <a name="clutter-get-accessibility-enabled"></a><h3>clutter_get_accessibility_enabled ()</h3>
1538
+ <pre class="programlisting"><span class="returnvalue">gboolean</span> clutter_get_accessibility_enabled (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1539
+ <p>
1540
+ Returns whether Clutter has accessibility support enabled. As
1541
+ least, a value of TRUE means that there are a proper AtkUtil
1542
+ implementation available
1543
+ </p>
1544
+ <div class="variablelist"><table border="0" class="variablelist">
1545
+ <colgroup>
1546
+ <col align="left" valign="top">
1547
+ <col>
1548
+ </colgroup>
1549
+ <tbody><tr>
1550
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1551
+ <td>
1552
+ <code class="literal">TRUE</code> if Clutter has accessibility support enabled</td>
1553
+ </tr></tbody>
1554
+ </table></div>
1555
+ <p class="since">Since 1.4</p>
1556
+ </div>
1557
+ <hr>
1558
+ <div class="refsect2">
1559
+ <a name="clutter-disable-accessibility"></a><h3>clutter_disable_accessibility ()</h3>
1560
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_disable_accessibility (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1561
+ <p>
1562
+ Disable loading the accessibility support. It has the same effect
1563
+ as setting the environment variable
1564
+ CLUTTER_DISABLE_ACCESSIBILITY. For the same reason, this method
1565
+ should be called before <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>.
1566
+ </p>
1567
+ <p class="since">Since 1.14</p>
1568
+ </div>
1569
+ <hr>
1570
+ <div class="refsect2">
1571
+ <a name="clutter-threads-set-lock-functions"></a><h3>clutter_threads_set_lock_functions ()</h3>
1572
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_threads_set_lock_functions (<em class="parameter"><code><span class="type">GCallback</span> enter_fn</code></em>,
1573
+ <em class="parameter"><code><span class="type">GCallback</span> leave_fn</code></em>);</pre>
1574
+ <p>
1575
+ Allows the application to replace the standard method that
1576
+ Clutter uses to protect its data structures. Normally, Clutter
1577
+ creates a single <span class="type">GMutex</span> that is locked by <a class="link" href="clutter-General.html#clutter-threads-enter" title="clutter_threads_enter ()"><code class="function">clutter_threads_enter()</code></a>,
1578
+ and released by <a class="link" href="clutter-General.html#clutter-threads-leave" title="clutter_threads_leave ()"><code class="function">clutter_threads_leave()</code></a>; using this function an
1579
+ application provides, instead, a function <em class="parameter"><code>enter_fn</code></em> that is
1580
+ called by <a class="link" href="clutter-General.html#clutter-threads-enter" title="clutter_threads_enter ()"><code class="function">clutter_threads_enter()</code></a> and a function <em class="parameter"><code>leave_fn</code></em> that is
1581
+ called by <a class="link" href="clutter-General.html#clutter-threads-leave" title="clutter_threads_leave ()"><code class="function">clutter_threads_leave()</code></a>.
1582
+ </p>
1583
+ <p>
1584
+ The functions must provide at least same locking functionality
1585
+ as the default implementation, but can also do extra application
1586
+ specific processing.
1587
+ </p>
1588
+ <p>
1589
+ As an example, consider an application that has its own recursive
1590
+ lock that when held, holds the Clutter lock as well. When Clutter
1591
+ unlocks the Clutter lock when entering a recursive main loop, the
1592
+ application must temporarily release its lock as well.
1593
+ </p>
1594
+ <p>
1595
+ Most threaded Clutter apps won't need to use this method.
1596
+ </p>
1597
+ <p>
1598
+ This method must be called before <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>, and cannot
1599
+ be called multiple times.
1600
+ </p>
1601
+ <div class="variablelist"><table border="0" class="variablelist">
1602
+ <colgroup>
1603
+ <col align="left" valign="top">
1604
+ <col>
1605
+ </colgroup>
1606
+ <tbody>
1607
+ <tr>
1608
+ <td><p><span class="term"><em class="parameter"><code>enter_fn</code></em> :</span></p></td>
1609
+ <td>function called when aquiring the Clutter main lock</td>
1610
+ </tr>
1611
+ <tr>
1612
+ <td><p><span class="term"><em class="parameter"><code>leave_fn</code></em> :</span></p></td>
1613
+ <td>function called when releasing the Clutter main lock</td>
1614
+ </tr>
1615
+ </tbody>
1616
+ </table></div>
1617
+ <p class="since">Since 0.4</p>
1618
+ </div>
1619
+ <hr>
1620
+ <div class="refsect2">
1621
+ <a name="clutter-threads-init"></a><h3>clutter_threads_init ()</h3>
1622
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_threads_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1623
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1624
+ <h3 class="title">Warning</h3>
1625
+ <p><code class="literal">clutter_threads_init</code> has been deprecated since version 1.10 and should not be used in newly-written code. This function does not do anything. Threading support
1626
+ is initialized when Clutter is initialized.</p>
1627
+ </div>
1628
+ <p>
1629
+ Initialises the Clutter threading mechanism, so that Clutter API can be
1630
+ called by multiple threads, using <a class="link" href="clutter-General.html#clutter-threads-enter" title="clutter_threads_enter ()"><code class="function">clutter_threads_enter()</code></a> and
1631
+ <a class="link" href="clutter-General.html#clutter-threads-leave" title="clutter_threads_leave ()"><code class="function">clutter_threads_leave()</code></a> to mark the critical sections.
1632
+ </p>
1633
+ <p>
1634
+ You must call <code class="function">g_thread_init()</code> before this function.
1635
+ </p>
1636
+ <p>
1637
+ This function must be called before <a class="link" href="clutter-General.html#clutter-init" title="clutter_init ()"><code class="function">clutter_init()</code></a>.
1638
+ </p>
1639
+ <p>
1640
+ It is safe to call this function multiple times.
1641
+ </p>
1642
+ <p class="since">Since 0.4</p>
1643
+ </div>
1644
+ <hr>
1645
+ <div class="refsect2">
1646
+ <a name="clutter-threads-enter"></a><h3>clutter_threads_enter ()</h3>
1647
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_threads_enter (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1648
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1649
+ <h3 class="title">Warning</h3>
1650
+ <p><code class="literal">clutter_threads_enter</code> has been deprecated since version 1.12 and should not be used in newly-written code. This function should not be used by application
1651
+ code; marking critical sections is not portable on various
1652
+ platforms. Instead of acquiring the Clutter lock, schedule UI
1653
+ updates from the main loop using <a class="link" href="clutter-General.html#clutter-threads-add-idle" title="clutter_threads_add_idle ()"><code class="function">clutter_threads_add_idle()</code></a> or
1654
+ <a class="link" href="clutter-General.html#clutter-threads-add-timeout" title="clutter_threads_add_timeout ()"><code class="function">clutter_threads_add_timeout()</code></a>.</p>
1655
+ </div>
1656
+ <p>
1657
+ Locks the Clutter thread lock.
1658
+ </p>
1659
+ <p class="since">Since 0.4</p>
1660
+ </div>
1661
+ <hr>
1662
+ <div class="refsect2">
1663
+ <a name="clutter-threads-leave"></a><h3>clutter_threads_leave ()</h3>
1664
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_threads_leave (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1665
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1666
+ <h3 class="title">Warning</h3>
1667
+ <p><code class="literal">clutter_threads_leave</code> has been deprecated since version 1.12 and should not be used in newly-written code. This function should not be used by application
1668
+ code; marking critical sections is not portable on various
1669
+ platforms. Instead of acquiring the Clutter lock, schedule UI
1670
+ updates from the main loop using <a class="link" href="clutter-General.html#clutter-threads-add-idle" title="clutter_threads_add_idle ()"><code class="function">clutter_threads_add_idle()</code></a> or
1671
+ <a class="link" href="clutter-General.html#clutter-threads-add-timeout" title="clutter_threads_add_timeout ()"><code class="function">clutter_threads_add_timeout()</code></a>.</p>
1672
+ </div>
1673
+ <p>
1674
+ Unlocks the Clutter thread lock.
1675
+ </p>
1676
+ <p class="since">Since 0.4</p>
1677
+ </div>
1678
+ <hr>
1679
+ <div class="refsect2">
1680
+ <a name="clutter-threads-add-idle"></a><h3>clutter_threads_add_idle ()</h3>
1681
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_idle (<em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
1682
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre>
1683
+ <p>
1684
+ Simple wrapper around <a class="link" href="clutter-General.html#clutter-threads-add-idle-full" title="clutter_threads_add_idle_full ()"><code class="function">clutter_threads_add_idle_full()</code></a> using the
1685
+ default priority.
1686
+ </p>
1687
+ <div class="variablelist"><table border="0" class="variablelist">
1688
+ <colgroup>
1689
+ <col align="left" valign="top">
1690
+ <col>
1691
+ </colgroup>
1692
+ <tbody>
1693
+ <tr>
1694
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1695
+ <td>function to call</td>
1696
+ </tr>
1697
+ <tr>
1698
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1699
+ <td>data to pass to the function</td>
1700
+ </tr>
1701
+ <tr>
1702
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1703
+ <td>the ID (greater than 0) of the event source.</td>
1704
+ </tr>
1705
+ </tbody>
1706
+ </table></div>
1707
+ <p class="since">Since 0.4</p>
1708
+ </div>
1709
+ <hr>
1710
+ <div class="refsect2">
1711
+ <a name="clutter-threads-add-idle-full"></a><h3>clutter_threads_add_idle_full ()</h3>
1712
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_idle_full (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
1713
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
1714
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
1715
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
1716
+ <p>
1717
+ Adds a function to be called whenever there are no higher priority
1718
+ events pending. If the function returns <code class="literal">FALSE</code> it is automatically
1719
+ removed from the list of event sources and will not be called again.
1720
+ </p>
1721
+ <p>
1722
+ This function can be considered a thread-safe variant of <code class="function">g_idle_add_full()</code>:
1723
+ it will call <em class="parameter"><code>function</code></em> while holding the Clutter lock. It is logically
1724
+ equivalent to the following implementation:
1725
+ </p>
1726
+ <p>
1727
+ </p>
1728
+ <div class="informalexample">
1729
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1730
+ <tbody>
1731
+ <tr>
1732
+ <td class="listing_lines" align="right"><pre>1
1733
+ 2
1734
+ 3
1735
+ 4
1736
+ 5
1737
+ 6
1738
+ 7
1739
+ 8
1740
+ 9
1741
+ 10
1742
+ 11
1743
+ 12
1744
+ 13
1745
+ 14
1746
+ 15
1747
+ 16
1748
+ 17
1749
+ 18
1750
+ 19
1751
+ 20
1752
+ 21
1753
+ 22
1754
+ 23
1755
+ 24
1756
+ 25
1757
+ 26
1758
+ 27
1759
+ 28
1760
+ 29
1761
+ 30
1762
+ 31
1763
+ 32
1764
+ 33</pre></td>
1765
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> gboolean</span>
1766
+ <span class="function">idle_safe_callback</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
1767
+ <span class="cbracket">{</span>
1768
+ <span class="normal"> </span><span class="usertype">SafeClosure</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">closure </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
1769
+ <span class="normal"> </span><span class="usertype">gboolean</span><span class="normal"> res </span><span class="symbol">=</span><span class="normal"> FALSE</span><span class="symbol">;</span>
1770
+
1771
+ <span class="normal"> </span><span class="comment">/* mark the critical section */</span>
1772
+
1773
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-threads-enter">clutter_threads_enter</a></span><span class="symbol">();</span>
1774
+
1775
+ <span class="normal"> </span><span class="comment">/* the callback does not need to acquire the Clutter</span>
1776
+ <span class="comment"> * lock itself, as it is held by the this proxy handler</span>
1777
+ <span class="comment"> */</span>
1778
+ <span class="normal"> res </span><span class="symbol">=</span><span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="function">callback</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
1779
+
1780
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-threads-leave">clutter_threads_leave</a></span><span class="symbol">();</span>
1781
+
1782
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> res</span><span class="symbol">;</span>
1783
+ <span class="cbracket">}</span>
1784
+ <span class="keyword">static</span><span class="normal"> gulong</span>
1785
+ <span class="function">add_safe_idle</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSourceFunc</span><span class="normal"> callback</span><span class="symbol">,</span>
1786
+ <span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
1787
+ <span class="cbracket">{</span>
1788
+ <span class="normal"> </span><span class="usertype">SafeClosure</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">closure </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_new0</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">SafeClosure</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
1789
+
1790
+ <span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="normal">callback </span><span class="symbol">=</span><span class="normal"> callback</span><span class="symbol">;</span>
1791
+ <span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="normal">data </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
1792
+
1793
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function">g_idle_add_full</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">G_PRIORITY_DEFAULT_IDLE</span><span class="symbol">,</span>
1794
+ <span class="normal"> idle_safe_callback</span><span class="symbol">,</span>
1795
+ <span class="normal"> closure</span><span class="symbol">,</span>
1796
+ <span class="normal"> g_free</span><span class="symbol">)</span>
1797
+ <span class="cbracket">}</span></pre></td>
1798
+ </tr>
1799
+ </tbody>
1800
+ </table>
1801
+ </div>
1802
+
1803
+ <p>
1804
+ </p>
1805
+ <p>
1806
+ This function should be used by threaded applications to make sure
1807
+ that <em class="parameter"><code>func</code></em> is emitted under the Clutter threads lock and invoked
1808
+ from the same thread that started the Clutter main loop. For instance,
1809
+ it can be used to update the UI using the results from a worker
1810
+ thread:
1811
+ </p>
1812
+ <p>
1813
+ </p>
1814
+ <div class="informalexample">
1815
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1816
+ <tbody>
1817
+ <tr>
1818
+ <td class="listing_lines" align="right"><pre>1
1819
+ 2
1820
+ 3
1821
+ 4
1822
+ 5
1823
+ 6
1824
+ 7
1825
+ 8
1826
+ 9
1827
+ 10
1828
+ 11
1829
+ 12
1830
+ 13
1831
+ 14
1832
+ 15
1833
+ 16
1834
+ 17
1835
+ 18
1836
+ 19
1837
+ 20
1838
+ 21
1839
+ 22
1840
+ 23
1841
+ 24
1842
+ 25
1843
+ 26
1844
+ 27
1845
+ 28</pre></td>
1846
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> gboolean</span>
1847
+ <span class="function">update_ui</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
1848
+ <span class="cbracket">{</span>
1849
+ <span class="normal"> </span><span class="usertype">SomeClosure</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">closure </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
1850
+
1851
+ <span class="normal"> </span><span class="comment">/* it is safe to call Clutter API from this function because</span>
1852
+ <span class="comment"> * it is invoked from the same thread that started the main</span>
1853
+ <span class="comment"> * loop and under the Clutter thread lock</span>
1854
+ <span class="comment"> */</span>
1855
+ <span class="normal"> </span><span class="function">clutter_label_set_text</span><span class="normal"> </span><span class="symbol">(</span><span class="function">CLUTTER_LABEL</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">),</span>
1856
+ <span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="normal">text</span><span class="symbol">);</span>
1857
+
1858
+ <span class="normal"> </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">);</span>
1859
+ <span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">closure</span><span class="symbol">);</span>
1860
+
1861
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> FALSE</span><span class="symbol">;</span>
1862
+ <span class="cbracket">}</span>
1863
+
1864
+ <span class="normal"> </span><span class="comment">/* within another thread */</span>
1865
+ <span class="normal"> closure </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_new0</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">SomeClosure</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
1866
+ <span class="normal"> </span><span class="comment">/* always take a reference on GObject instances */</span>
1867
+ <span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="normal">label </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_object_ref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_application</span><span class="symbol">-&gt;</span><span class="normal">label</span><span class="symbol">);</span>
1868
+ <span class="normal"> closure</span><span class="symbol">-&gt;</span><span class="normal">text </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strdup</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">processed_text_to_update_the_label</span><span class="symbol">);</span>
1869
+
1870
+ <span class="normal"> </span><span class="function"><a href="clutter-General.html#clutter-threads-add-idle-full">clutter_threads_add_idle_full</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">G_PRIORITY_HIGH_IDLE</span><span class="symbol">,</span>
1871
+ <span class="normal"> update_ui</span><span class="symbol">,</span>
1872
+ <span class="normal"> closure</span><span class="symbol">,</span>
1873
+ <span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
1874
+ </tr>
1875
+ </tbody>
1876
+ </table>
1877
+ </div>
1878
+
1879
+ <p>
1880
+ </p>
1881
+ <p>
1882
+ Rename to: clutter_threads_add_idle
1883
+ </p>
1884
+ <div class="variablelist"><table border="0" class="variablelist">
1885
+ <colgroup>
1886
+ <col align="left" valign="top">
1887
+ <col>
1888
+ </colgroup>
1889
+ <tbody>
1890
+ <tr>
1891
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1892
+ <td>the priority of the timeout source. Typically this will be in the
1893
+ range between <span class="type">G_PRIORITY_DEFAULT_IDLE</span> and <span class="type">G_PRIORITY_HIGH_IDLE</span>
1894
+ </td>
1895
+ </tr>
1896
+ <tr>
1897
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1898
+ <td>function to call</td>
1899
+ </tr>
1900
+ <tr>
1901
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1902
+ <td>data to pass to the function</td>
1903
+ </tr>
1904
+ <tr>
1905
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1906
+ <td>functio to call when the idle source is removed</td>
1907
+ </tr>
1908
+ <tr>
1909
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1910
+ <td>the ID (greater than 0) of the event source.</td>
1911
+ </tr>
1912
+ </tbody>
1913
+ </table></div>
1914
+ <p class="since">Since 0.4</p>
1915
+ </div>
1916
+ <hr>
1917
+ <div class="refsect2">
1918
+ <a name="clutter-threads-add-timeout"></a><h3>clutter_threads_add_timeout ()</h3>
1919
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_timeout (<em class="parameter"><code><span class="type">guint</span> interval</code></em>,
1920
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
1921
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre>
1922
+ <p>
1923
+ Simple wrapper around <a class="link" href="clutter-General.html#clutter-threads-add-timeout-full" title="clutter_threads_add_timeout_full ()"><code class="function">clutter_threads_add_timeout_full()</code></a>.
1924
+ </p>
1925
+ <div class="variablelist"><table border="0" class="variablelist">
1926
+ <colgroup>
1927
+ <col align="left" valign="top">
1928
+ <col>
1929
+ </colgroup>
1930
+ <tbody>
1931
+ <tr>
1932
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1933
+ <td>the time between calls to the function, in milliseconds</td>
1934
+ </tr>
1935
+ <tr>
1936
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1937
+ <td>function to call</td>
1938
+ </tr>
1939
+ <tr>
1940
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1941
+ <td>data to pass to the function</td>
1942
+ </tr>
1943
+ <tr>
1944
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1945
+ <td>the ID (greater than 0) of the event source.</td>
1946
+ </tr>
1947
+ </tbody>
1948
+ </table></div>
1949
+ <p class="since">Since 0.4</p>
1950
+ </div>
1951
+ <hr>
1952
+ <div class="refsect2">
1953
+ <a name="clutter-threads-add-timeout-full"></a><h3>clutter_threads_add_timeout_full ()</h3>
1954
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_timeout_full (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
1955
+ <em class="parameter"><code><span class="type">guint</span> interval</code></em>,
1956
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
1957
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
1958
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
1959
+ <p>
1960
+ Sets a function to be called at regular intervals holding the Clutter
1961
+ threads lock, with the given priority. The function is called repeatedly
1962
+ until it returns <code class="literal">FALSE</code>, at which point the timeout is automatically
1963
+ removed and the function will not be called again. The <em class="parameter"><code>notify</code></em> function
1964
+ is called when the timeout is removed.
1965
+ </p>
1966
+ <p>
1967
+ The first call to the function will be at the end of the first <em class="parameter"><code>interval</code></em>.
1968
+ </p>
1969
+ <p>
1970
+ It is important to note that, due to how the Clutter main loop is
1971
+ implemented, the timing will not be accurate and it will not try to
1972
+ "keep up" with the interval.
1973
+ </p>
1974
+ <p>
1975
+ See also <a class="link" href="clutter-General.html#clutter-threads-add-idle-full" title="clutter_threads_add_idle_full ()"><code class="function">clutter_threads_add_idle_full()</code></a>.
1976
+ </p>
1977
+ <p>
1978
+ Rename to: clutter_threads_add_timeout
1979
+ </p>
1980
+ <div class="variablelist"><table border="0" class="variablelist">
1981
+ <colgroup>
1982
+ <col align="left" valign="top">
1983
+ <col>
1984
+ </colgroup>
1985
+ <tbody>
1986
+ <tr>
1987
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1988
+ <td>the priority of the timeout source. Typically this will be in the
1989
+ range between <span class="type">G_PRIORITY_DEFAULT</span> and <span class="type">G_PRIORITY_HIGH</span>.</td>
1990
+ </tr>
1991
+ <tr>
1992
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1993
+ <td>the time between calls to the function, in milliseconds</td>
1994
+ </tr>
1995
+ <tr>
1996
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1997
+ <td>function to call</td>
1998
+ </tr>
1999
+ <tr>
2000
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2001
+ <td>data to pass to the function</td>
2002
+ </tr>
2003
+ <tr>
2004
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2005
+ <td>function to call when the timeout source is removed</td>
2006
+ </tr>
2007
+ <tr>
2008
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2009
+ <td>the ID (greater than 0) of the event source.</td>
2010
+ </tr>
2011
+ </tbody>
2012
+ </table></div>
2013
+ <p class="since">Since 0.4</p>
2014
+ </div>
2015
+ <hr>
2016
+ <div class="refsect2">
2017
+ <a name="clutter-threads-add-frame-source"></a><h3>clutter_threads_add_frame_source ()</h3>
2018
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_frame_source (<em class="parameter"><code><span class="type">guint</span> fps</code></em>,
2019
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
2020
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre>
2021
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
2022
+ <h3 class="title">Warning</h3>
2023
+ <p><code class="literal">clutter_threads_add_frame_source</code> is deprecated and should not be used in newly-written code. 1.6</p>
2024
+ </div>
2025
+ <p>
2026
+ Simple wrapper around <a class="link" href="clutter-General.html#clutter-threads-add-frame-source-full" title="clutter_threads_add_frame_source_full ()"><code class="function">clutter_threads_add_frame_source_full()</code></a>.
2027
+ </p>
2028
+ <div class="variablelist"><table border="0" class="variablelist">
2029
+ <colgroup>
2030
+ <col align="left" valign="top">
2031
+ <col>
2032
+ </colgroup>
2033
+ <tbody>
2034
+ <tr>
2035
+ <td><p><span class="term"><em class="parameter"><code>fps</code></em> :</span></p></td>
2036
+ <td>the number of times per second to call the function</td>
2037
+ </tr>
2038
+ <tr>
2039
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
2040
+ <td>function to call</td>
2041
+ </tr>
2042
+ <tr>
2043
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2044
+ <td>data to pass to the function</td>
2045
+ </tr>
2046
+ <tr>
2047
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2048
+ <td>the ID (greater than 0) of the event source.</td>
2049
+ </tr>
2050
+ </tbody>
2051
+ </table></div>
2052
+ <p class="since">Since 0.8</p>
2053
+ </div>
2054
+ <hr>
2055
+ <div class="refsect2">
2056
+ <a name="clutter-threads-add-frame-source-full"></a><h3>clutter_threads_add_frame_source_full ()</h3>
2057
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_frame_source_full
2058
+ (<em class="parameter"><code><span class="type">gint</span> priority</code></em>,
2059
+ <em class="parameter"><code><span class="type">guint</span> fps</code></em>,
2060
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
2061
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
2062
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
2063
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
2064
+ <h3 class="title">Warning</h3>
2065
+ <p><code class="literal">clutter_threads_add_frame_source_full</code> is deprecated and should not be used in newly-written code. 1.6</p>
2066
+ </div>
2067
+ <p>
2068
+ Sets a function to be called at regular intervals holding the Clutter
2069
+ threads lock, with the given priority. The function is called repeatedly
2070
+ until it returns <code class="literal">FALSE</code>, at which point the timeout is automatically
2071
+ removed and the function will not be called again. The <em class="parameter"><code>notify</code></em> function
2072
+ is called when the timeout is removed.
2073
+ </p>
2074
+ <p>
2075
+ This function is similar to <a class="link" href="clutter-General.html#clutter-threads-add-timeout-full" title="clutter_threads_add_timeout_full ()"><code class="function">clutter_threads_add_timeout_full()</code></a>
2076
+ except that it will try to compensate for delays. For example, if
2077
+ <em class="parameter"><code>func</code></em> takes half the interval time to execute then the function
2078
+ will be called again half the interval time after it finished. In
2079
+ contrast <a class="link" href="clutter-General.html#clutter-threads-add-timeout-full" title="clutter_threads_add_timeout_full ()"><code class="function">clutter_threads_add_timeout_full()</code></a> would not fire until a
2080
+ full interval after the function completes so the delay between
2081
+ calls would be <em class="parameter"><code>interval</code></em> * 1.5. This function does not however try
2082
+ to invoke the function multiple times to catch up missing frames if
2083
+ <em class="parameter"><code>func</code></em> takes more than <em class="parameter"><code>interval</code></em> ms to execute.
2084
+ </p>
2085
+ <p>
2086
+ See also <a class="link" href="clutter-General.html#clutter-threads-add-idle-full" title="clutter_threads_add_idle_full ()"><code class="function">clutter_threads_add_idle_full()</code></a>.
2087
+ </p>
2088
+ <p>
2089
+ Rename to: clutter_threads_add_frame_source
2090
+ </p>
2091
+ <div class="variablelist"><table border="0" class="variablelist">
2092
+ <colgroup>
2093
+ <col align="left" valign="top">
2094
+ <col>
2095
+ </colgroup>
2096
+ <tbody>
2097
+ <tr>
2098
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2099
+ <td>the priority of the frame source. Typically this will be in the
2100
+ range between <code class="literal">G_PRIORITY_DEFAULT</code> and <code class="literal">G_PRIORITY_HIGH</code>.</td>
2101
+ </tr>
2102
+ <tr>
2103
+ <td><p><span class="term"><em class="parameter"><code>fps</code></em> :</span></p></td>
2104
+ <td>the number of times per second to call the function</td>
2105
+ </tr>
2106
+ <tr>
2107
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
2108
+ <td>function to call</td>
2109
+ </tr>
2110
+ <tr>
2111
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2112
+ <td>data to pass to the function</td>
2113
+ </tr>
2114
+ <tr>
2115
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2116
+ <td>function to call when the timeout source is removed</td>
2117
+ </tr>
2118
+ <tr>
2119
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2120
+ <td>the ID (greater than 0) of the event source.</td>
2121
+ </tr>
2122
+ </tbody>
2123
+ </table></div>
2124
+ <p class="since">Since 0.8</p>
2125
+ </div>
2126
+ <hr>
2127
+ <div class="refsect2">
2128
+ <a name="clutter-threads-add-repaint-func"></a><h3>clutter_threads_add_repaint_func ()</h3>
2129
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_repaint_func (<em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
2130
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
2131
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
2132
+ <p>
2133
+ Adds a function to be called whenever Clutter is processing a new
2134
+ frame.
2135
+ </p>
2136
+ <p>
2137
+ If the function returns <code class="literal">FALSE</code> it is automatically removed from the
2138
+ list of repaint functions and will not be called again.
2139
+ </p>
2140
+ <p>
2141
+ This function is guaranteed to be called from within the same thread
2142
+ that called <a class="link" href="clutter-General.html#clutter-main" title="clutter_main ()"><code class="function">clutter_main()</code></a>, and while the Clutter lock is being held;
2143
+ the function will be called within the main loop, so it is imperative
2144
+ that it does not block, otherwise the frame time budget may be lost.
2145
+ </p>
2146
+ <p>
2147
+ A repaint function is useful to ensure that an update of the scenegraph
2148
+ is performed before the scenegraph is repainted; for instance, uploading
2149
+ a frame from a video into a <a class="link" href="ClutterTexture.html" title="ClutterTexture"><span class="type">ClutterTexture</span></a>. By default, a repaint
2150
+ function added using this function will be invoked prior to the frame
2151
+ being processed.
2152
+ </p>
2153
+ <p>
2154
+ Adding a repaint function does not automatically ensure that a new
2155
+ frame will be queued.
2156
+ </p>
2157
+ <p>
2158
+ When the repaint function is removed (either because it returned <code class="literal">FALSE</code>
2159
+ or because <a class="link" href="clutter-General.html#clutter-threads-remove-repaint-func" title="clutter_threads_remove_repaint_func ()"><code class="function">clutter_threads_remove_repaint_func()</code></a> has been called) the
2160
+ <em class="parameter"><code>notify</code></em> function will be called, if any is set.
2161
+ </p>
2162
+ <p>
2163
+ See also: <a class="link" href="clutter-General.html#clutter-threads-add-repaint-func-full" title="clutter_threads_add_repaint_func_full ()"><code class="function">clutter_threads_add_repaint_func_full()</code></a>
2164
+ </p>
2165
+ <div class="variablelist"><table border="0" class="variablelist">
2166
+ <colgroup>
2167
+ <col align="left" valign="top">
2168
+ <col>
2169
+ </colgroup>
2170
+ <tbody>
2171
+ <tr>
2172
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
2173
+ <td>the function to be called within the paint cycle</td>
2174
+ </tr>
2175
+ <tr>
2176
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2177
+ <td>data to be passed to the function, or <code class="literal">NULL</code>
2178
+ </td>
2179
+ </tr>
2180
+ <tr>
2181
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2182
+ <td>function to be called when removing the repaint
2183
+ function, or <code class="literal">NULL</code>
2184
+ </td>
2185
+ </tr>
2186
+ <tr>
2187
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2188
+ <td>the ID (greater than 0) of the repaint function. You
2189
+ can use the returned integer to remove the repaint function by
2190
+ calling <a class="link" href="clutter-General.html#clutter-threads-remove-repaint-func" title="clutter_threads_remove_repaint_func ()"><code class="function">clutter_threads_remove_repaint_func()</code></a>.</td>
2191
+ </tr>
2192
+ </tbody>
2193
+ </table></div>
2194
+ <p class="since">Since 1.0</p>
2195
+ </div>
2196
+ <hr>
2197
+ <div class="refsect2">
2198
+ <a name="ClutterRepaintFlags"></a><h3>enum ClutterRepaintFlags</h3>
2199
+ <pre class="programlisting">typedef enum {
2200
+ CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 &lt;&lt; 0,
2201
+ CLUTTER_REPAINT_FLAGS_POST_PAINT = 1 &lt;&lt; 1,
2202
+ CLUTTER_REPAINT_FLAGS_QUEUE_REDRAW_ON_ADD = 1 &lt;&lt; 2
2203
+ } ClutterRepaintFlags;
2204
+ </pre>
2205
+ <p>
2206
+ Flags to pass to <a class="link" href="clutter-General.html#clutter-threads-add-repaint-func-full" title="clutter_threads_add_repaint_func_full ()"><code class="function">clutter_threads_add_repaint_func_full()</code></a>.
2207
+ </p>
2208
+ <div class="variablelist"><table border="0" class="variablelist">
2209
+ <colgroup>
2210
+ <col align="left" valign="top">
2211
+ <col>
2212
+ </colgroup>
2213
+ <tbody>
2214
+ <tr>
2215
+ <td><p><a name="CLUTTER-REPAINT-FLAGS-PRE-PAINT:CAPS"></a><span class="term"><code class="literal">CLUTTER_REPAINT_FLAGS_PRE_PAINT</code></span></p></td>
2216
+ <td>Run the repaint function prior to
2217
+ painting the stages
2218
+ </td>
2219
+ </tr>
2220
+ <tr>
2221
+ <td><p><a name="CLUTTER-REPAINT-FLAGS-POST-PAINT:CAPS"></a><span class="term"><code class="literal">CLUTTER_REPAINT_FLAGS_POST_PAINT</code></span></p></td>
2222
+ <td>Run the repaint function after
2223
+ painting the stages
2224
+ </td>
2225
+ </tr>
2226
+ <tr>
2227
+ <td><p><a name="CLUTTER-REPAINT-FLAGS-QUEUE-REDRAW-ON-ADD:CAPS"></a><span class="term"><code class="literal">CLUTTER_REPAINT_FLAGS_QUEUE_REDRAW_ON_ADD</code></span></p></td>
2228
+ <td>Ensure that a new frame
2229
+ is queued after adding the repaint function
2230
+ </td>
2231
+ </tr>
2232
+ </tbody>
2233
+ </table></div>
2234
+ <p class="since">Since 1.10</p>
2235
+ </div>
2236
+ <hr>
2237
+ <div class="refsect2">
2238
+ <a name="clutter-threads-add-repaint-func-full"></a><h3>clutter_threads_add_repaint_func_full ()</h3>
2239
+ <pre class="programlisting"><span class="returnvalue">guint</span> clutter_threads_add_repaint_func_full
2240
+ (<em class="parameter"><code><a class="link" href="clutter-General.html#ClutterRepaintFlags" title="enum ClutterRepaintFlags"><span class="type">ClutterRepaintFlags</span></a> flags</code></em>,
2241
+ <em class="parameter"><code><span class="type">GSourceFunc</span> func</code></em>,
2242
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
2243
+ <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
2244
+ <p>
2245
+ Adds a function to be called whenever Clutter is processing a new
2246
+ frame.
2247
+ </p>
2248
+ <p>
2249
+ If the function returns <code class="literal">FALSE</code> it is automatically removed from the
2250
+ list of repaint functions and will not be called again.
2251
+ </p>
2252
+ <p>
2253
+ This function is guaranteed to be called from within the same thread
2254
+ that called <a class="link" href="clutter-General.html#clutter-main" title="clutter_main ()"><code class="function">clutter_main()</code></a>, and while the Clutter lock is being held;
2255
+ the function will be called within the main loop, so it is imperative
2256
+ that it does not block, otherwise the frame time budget may be lost.
2257
+ </p>
2258
+ <p>
2259
+ A repaint function is useful to ensure that an update of the scenegraph
2260
+ is performed before the scenegraph is repainted; for instance, uploading
2261
+ a frame from a video into a <a class="link" href="ClutterTexture.html" title="ClutterTexture"><span class="type">ClutterTexture</span></a>. The <em class="parameter"><code>flags</code></em> passed to this
2262
+ function will determine the section of the frame processing that will
2263
+ result in <em class="parameter"><code>func</code></em> being called.
2264
+ </p>
2265
+ <p>
2266
+ Adding a repaint function does not automatically ensure that a new
2267
+ frame will be queued.
2268
+ </p>
2269
+ <p>
2270
+ When the repaint function is removed (either because it returned <code class="literal">FALSE</code>
2271
+ or because <a class="link" href="clutter-General.html#clutter-threads-remove-repaint-func" title="clutter_threads_remove_repaint_func ()"><code class="function">clutter_threads_remove_repaint_func()</code></a> has been called) the
2272
+ <em class="parameter"><code>notify</code></em> function will be called, if any is set.
2273
+ </p>
2274
+ <div class="variablelist"><table border="0" class="variablelist">
2275
+ <colgroup>
2276
+ <col align="left" valign="top">
2277
+ <col>
2278
+ </colgroup>
2279
+ <tbody>
2280
+ <tr>
2281
+ <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
2282
+ <td>flags for the repaint function</td>
2283
+ </tr>
2284
+ <tr>
2285
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
2286
+ <td>the function to be called within the paint cycle</td>
2287
+ </tr>
2288
+ <tr>
2289
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2290
+ <td>data to be passed to the function, or <code class="literal">NULL</code>
2291
+ </td>
2292
+ </tr>
2293
+ <tr>
2294
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2295
+ <td>function to be called when removing the repaint
2296
+ function, or <code class="literal">NULL</code>
2297
+ </td>
2298
+ </tr>
2299
+ <tr>
2300
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2301
+ <td>the ID (greater than 0) of the repaint function. You
2302
+ can use the returned integer to remove the repaint function by
2303
+ calling <a class="link" href="clutter-General.html#clutter-threads-remove-repaint-func" title="clutter_threads_remove_repaint_func ()"><code class="function">clutter_threads_remove_repaint_func()</code></a>.</td>
2304
+ </tr>
2305
+ </tbody>
2306
+ </table></div>
2307
+ <p class="since">Since 1.10</p>
2308
+ </div>
2309
+ <hr>
2310
+ <div class="refsect2">
2311
+ <a name="clutter-threads-remove-repaint-func"></a><h3>clutter_threads_remove_repaint_func ()</h3>
2312
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_threads_remove_repaint_func (<em class="parameter"><code><span class="type">guint</span> handle_id</code></em>);</pre>
2313
+ <p>
2314
+ Removes the repaint function with <em class="parameter"><code>handle_id</code></em> as its id
2315
+ </p>
2316
+ <div class="variablelist"><table border="0" class="variablelist">
2317
+ <colgroup>
2318
+ <col align="left" valign="top">
2319
+ <col>
2320
+ </colgroup>
2321
+ <tbody><tr>
2322
+ <td><p><span class="term"><em class="parameter"><code>handle_id</code></em> :</span></p></td>
2323
+ <td>an unsigned integer greater than zero</td>
2324
+ </tr></tbody>
2325
+ </table></div>
2326
+ <p class="since">Since 1.0</p>
2327
+ </div>
2328
+ <hr>
2329
+ <div class="refsect2">
2330
+ <a name="clutter-get-keyboard-grab"></a><h3>clutter_get_keyboard_grab ()</h3>
2331
+ <pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * clutter_get_keyboard_grab (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2332
+ <p>
2333
+ Queries the current keyboard grab of clutter.
2334
+ </p>
2335
+ <div class="variablelist"><table border="0" class="variablelist">
2336
+ <colgroup>
2337
+ <col align="left" valign="top">
2338
+ <col>
2339
+ </colgroup>
2340
+ <tbody><tr>
2341
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2342
+ <td>the actor currently holding the keyboard grab, or NULL if there is no grab. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2343
+ </td>
2344
+ </tr></tbody>
2345
+ </table></div>
2346
+ <p class="since">Since 0.6</p>
2347
+ </div>
2348
+ <hr>
2349
+ <div class="refsect2">
2350
+ <a name="clutter-get-pointer-grab"></a><h3>clutter_get_pointer_grab ()</h3>
2351
+ <pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * clutter_get_pointer_grab (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2352
+ <p>
2353
+ Queries the current pointer grab of clutter.
2354
+ </p>
2355
+ <div class="variablelist"><table border="0" class="variablelist">
2356
+ <colgroup>
2357
+ <col align="left" valign="top">
2358
+ <col>
2359
+ </colgroup>
2360
+ <tbody><tr>
2361
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2362
+ <td>the actor currently holding the pointer grab, or NULL if there is no grab. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2363
+ </td>
2364
+ </tr></tbody>
2365
+ </table></div>
2366
+ <p class="since">Since 0.6</p>
2367
+ </div>
2368
+ <hr>
2369
+ <div class="refsect2">
2370
+ <a name="clutter-grab-keyboard"></a><h3>clutter_grab_keyboard ()</h3>
2371
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_grab_keyboard (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
2372
+ <p>
2373
+ Grabs keyboard events, after the grab is done keyboard
2374
+ events (<a class="link" href="ClutterActor.html#ClutterActor-key-press-event" title='The "key-press-event" signal'><span class="type">"key-press-event"</span></a> and <a class="link" href="ClutterActor.html#ClutterActor-key-release-event" title='The "key-release-event" signal'><span class="type">"key-release-event"</span></a>)
2375
+ are delivered to this actor directly. The source set in the event will be
2376
+ the actor that would have received the event if the keyboard grab was not
2377
+ in effect.
2378
+ </p>
2379
+ <p>
2380
+ Like pointer grabs, keyboard grabs should only be used as a last
2381
+ resource.
2382
+ </p>
2383
+ <p>
2384
+ See also <a class="link" href="ClutterStage.html#clutter-stage-set-key-focus" title="clutter_stage_set_key_focus ()"><code class="function">clutter_stage_set_key_focus()</code></a> and <a class="link" href="ClutterActor.html#clutter-actor-grab-key-focus" title="clutter_actor_grab_key_focus ()"><code class="function">clutter_actor_grab_key_focus()</code></a>
2385
+ to perform a "soft" key grab and assign key focus to a specific actor.
2386
+ </p>
2387
+ <div class="variablelist"><table border="0" class="variablelist">
2388
+ <colgroup>
2389
+ <col align="left" valign="top">
2390
+ <col>
2391
+ </colgroup>
2392
+ <tbody><tr>
2393
+ <td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
2394
+ <td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
2395
+ </td>
2396
+ </tr></tbody>
2397
+ </table></div>
2398
+ <p class="since">Since 0.6</p>
2399
+ </div>
2400
+ <hr>
2401
+ <div class="refsect2">
2402
+ <a name="clutter-grab-pointer"></a><h3>clutter_grab_pointer ()</h3>
2403
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_grab_pointer (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
2404
+ <p>
2405
+ Grabs pointer events, after the grab is done all pointer related events
2406
+ (press, motion, release, enter, leave and scroll) are delivered to this
2407
+ actor directly without passing through both capture and bubble phases of
2408
+ the event delivery chain. The source set in the event will be the actor
2409
+ that would have received the event if the pointer grab was not in effect.
2410
+ </p>
2411
+ <p>
2412
+ </p>
2413
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
2414
+ <h3 class="title">Note</h3>
2415
+ <p>Grabs completely override the entire event delivery chain
2416
+ done by Clutter. Pointer grabs should only be used as a last resource;
2417
+ using the <a class="link" href="ClutterActor.html#ClutterActor-captured-event" title='The "captured-event" signal'><span class="type">"captured-event"</span></a> signal should always be the
2418
+ preferred way to intercept event delivery to reactive actors.</p>
2419
+ </div>
2420
+ <p>
2421
+ </p>
2422
+ <p>
2423
+ This function should rarely be used.
2424
+ </p>
2425
+ <p>
2426
+ If a grab is required, you are strongly encouraged to use a specific
2427
+ input device by calling <a class="link" href="ClutterInputDevice.html#clutter-input-device-grab" title="clutter_input_device_grab ()"><code class="function">clutter_input_device_grab()</code></a>.
2428
+ </p>
2429
+ <div class="variablelist"><table border="0" class="variablelist">
2430
+ <colgroup>
2431
+ <col align="left" valign="top">
2432
+ <col>
2433
+ </colgroup>
2434
+ <tbody><tr>
2435
+ <td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
2436
+ <td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
2437
+ </td>
2438
+ </tr></tbody>
2439
+ </table></div>
2440
+ <p class="since">Since 0.6</p>
2441
+ </div>
2442
+ <hr>
2443
+ <div class="refsect2">
2444
+ <a name="clutter-ungrab-keyboard"></a><h3>clutter_ungrab_keyboard ()</h3>
2445
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_ungrab_keyboard (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2446
+ <p>
2447
+ Removes an existing grab of the keyboard.
2448
+ </p>
2449
+ <p class="since">Since 0.6</p>
2450
+ </div>
2451
+ <hr>
2452
+ <div class="refsect2">
2453
+ <a name="clutter-ungrab-pointer"></a><h3>clutter_ungrab_pointer ()</h3>
2454
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_ungrab_pointer (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2455
+ <p>
2456
+ Removes an existing grab of the pointer.
2457
+ </p>
2458
+ <p class="since">Since 0.6</p>
2459
+ </div>
2460
+ <hr>
2461
+ <div class="refsect2">
2462
+ <a name="clutter-grab-pointer-for-device"></a><h3>clutter_grab_pointer_for_device ()</h3>
2463
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_grab_pointer_for_device (<em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
2464
+ <em class="parameter"><code><span class="type">gint</span> id_</code></em>);</pre>
2465
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
2466
+ <h3 class="title">Warning</h3>
2467
+ <p><code class="literal">clutter_grab_pointer_for_device</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="ClutterInputDevice.html#clutter-input-device-grab" title="clutter_input_device_grab ()"><code class="function">clutter_input_device_grab()</code></a> instead.</p>
2468
+ </div>
2469
+ <p>
2470
+ Grabs all the pointer events coming from the device <em class="parameter"><code>id</code></em> for <em class="parameter"><code>actor</code></em>.
2471
+ </p>
2472
+ <p>
2473
+ If <em class="parameter"><code>id</code></em> is -1 then this function is equivalent to <a class="link" href="clutter-General.html#clutter-grab-pointer" title="clutter_grab_pointer ()"><code class="function">clutter_grab_pointer()</code></a>.
2474
+ </p>
2475
+ <div class="variablelist"><table border="0" class="variablelist">
2476
+ <colgroup>
2477
+ <col align="left" valign="top">
2478
+ <col>
2479
+ </colgroup>
2480
+ <tbody>
2481
+ <tr>
2482
+ <td><p><span class="term"><em class="parameter"><code>actor</code></em> :</span></p></td>
2483
+ <td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>
2484
+ </td>
2485
+ </tr>
2486
+ <tr>
2487
+ <td><p><span class="term"><em class="parameter"><code>id_</code></em> :</span></p></td>
2488
+ <td>a device id, or -1</td>
2489
+ </tr>
2490
+ </tbody>
2491
+ </table></div>
2492
+ <p class="since">Since 0.8</p>
2493
+ </div>
2494
+ <hr>
2495
+ <div class="refsect2">
2496
+ <a name="clutter-ungrab-pointer-for-device"></a><h3>clutter_ungrab_pointer_for_device ()</h3>
2497
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_ungrab_pointer_for_device (<em class="parameter"><code><span class="type">gint</span> id_</code></em>);</pre>
2498
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
2499
+ <h3 class="title">Warning</h3>
2500
+ <p><code class="literal">clutter_ungrab_pointer_for_device</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="ClutterInputDevice.html#clutter-input-device-ungrab" title="clutter_input_device_ungrab ()"><code class="function">clutter_input_device_ungrab()</code></a> instead.</p>
2501
+ </div>
2502
+ <p>
2503
+ Removes an existing grab of the pointer events for device <em class="parameter"><code>id_</code></em>.
2504
+ </p>
2505
+ <div class="variablelist"><table border="0" class="variablelist">
2506
+ <colgroup>
2507
+ <col align="left" valign="top">
2508
+ <col>
2509
+ </colgroup>
2510
+ <tbody><tr>
2511
+ <td><p><span class="term"><em class="parameter"><code>id_</code></em> :</span></p></td>
2512
+ <td>a device id</td>
2513
+ </tr></tbody>
2514
+ </table></div>
2515
+ <p class="since">Since 0.8</p>
2516
+ </div>
2517
+ <hr>
2518
+ <div class="refsect2">
2519
+ <a name="clutter-do-event"></a><h3>clutter_do_event ()</h3>
2520
+ <pre class="programlisting"><span class="returnvalue">void</span> clutter_do_event (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent" title="union ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
2521
+ <p>
2522
+ Processes an event.
2523
+ </p>
2524
+ <p>
2525
+ The <em class="parameter"><code>event</code></em> must be a valid <a class="link" href="clutter-Events.html#ClutterEvent" title="union ClutterEvent"><span class="type">ClutterEvent</span></a> and have a <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>
2526
+ associated to it.
2527
+ </p>
2528
+ <p>
2529
+ This function is only useful when embedding Clutter inside another
2530
+ toolkit, and it should never be called by applications.
2531
+ </p>
2532
+ <div class="variablelist"><table border="0" class="variablelist">
2533
+ <colgroup>
2534
+ <col align="left" valign="top">
2535
+ <col>
2536
+ </colgroup>
2537
+ <tbody><tr>
2538
+ <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
2539
+ <td>a <a class="link" href="clutter-Events.html#ClutterEvent" title="union ClutterEvent"><span class="type">ClutterEvent</span></a>.</td>
2540
+ </tr></tbody>
2541
+ </table></div>
2542
+ <p class="since">Since 0.4</p>
2543
+ </div>
2544
+ </div>
2545
+ </div>
2546
+ <div class="footer">
2547
+ <hr>
2548
+ Generated by GTK-Doc V1.18.1</div>
2549
+ </body>
2550
+ </html>