clutter 2.0.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>