clutter 2.2.4-x64-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 (744) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +147 -0
  3. data/lib/clutter.rb +169 -0
  4. data/lib/clutter/actor-iter.rb +33 -0
  5. data/lib/clutter/actor.rb +34 -0
  6. data/lib/clutter/animatable.rb +26 -0
  7. data/lib/clutter/brightness-contrast-effect.rb +44 -0
  8. data/lib/clutter/cairo.rb +24 -0
  9. data/lib/clutter/clutter.rb +25 -0
  10. data/lib/clutter/color.rb +83 -0
  11. data/lib/clutter/event.rb +21 -0
  12. data/lib/clutter/point.rb +25 -0
  13. data/lib/clutter/text-buffer.rb +36 -0
  14. data/lib/clutter/text.rb +23 -0
  15. data/lib/clutter/threads.rb +38 -0
  16. data/sample/basic-actor.rb +123 -0
  17. data/sample/bin-layout.rb +213 -0
  18. data/sample/box-layout.rb +194 -0
  19. data/sample/canvas.rb +115 -0
  20. data/sample/constraints.rb +79 -0
  21. data/sample/drag-action.rb +175 -0
  22. data/sample/drop-action.rb +196 -0
  23. data/sample/easing-modes.rb +141 -0
  24. data/sample/flow-layout.rb +119 -0
  25. data/sample/grid-layout.rb +237 -0
  26. data/sample/image-content.rb +86 -0
  27. data/sample/pan-action.rb +98 -0
  28. data/sample/redhand.png +0 -0
  29. data/sample/rounded-rectangle.rb +88 -0
  30. data/sample/scroll-actor.rb +103 -0
  31. data/test/clutter-test-utils.rb +38 -0
  32. data/test/run-test.rb +59 -0
  33. data/test/test-clutter-actor.rb +242 -0
  34. data/test/test-clutter-blur-effect.rb +27 -0
  35. data/test/test-clutter-brightness-contrast-effect.rb +56 -0
  36. data/test/test-clutter-canvas.rb +43 -0
  37. data/test/test-clutter-color.rb +50 -0
  38. data/test/test-clutter-colorize-effect.rb +31 -0
  39. data/test/test-clutter-desaturate-effect.rb +30 -0
  40. data/test/test-clutter-feature.rb +34 -0
  41. data/test/test-clutter-flow-layout.rb +83 -0
  42. data/test/test-clutter-page-turn-effect.rb +46 -0
  43. data/test/test-clutter-property-transiton.rb +30 -0
  44. data/test/test-clutter-shader-effect.rb +65 -0
  45. data/test/test-clutter-text-buffer.rb +72 -0
  46. data/test/test-clutter-timeline.rb +59 -0
  47. data/vendor/local/bin/json-glib-format.exe +0 -0
  48. data/vendor/local/bin/json-glib-validate.exe +0 -0
  49. data/vendor/local/bin/libclutter-1.0-0.dll +0 -0
  50. data/vendor/local/bin/libcogl-20.dll +0 -0
  51. data/vendor/local/bin/libcogl-pango-20.dll +0 -0
  52. data/vendor/local/bin/libcogl-path-20.dll +0 -0
  53. data/vendor/local/bin/libjson-glib-1.0-0.dll +0 -0
  54. data/vendor/local/include/clutter-1.0/cally/cally-actor.h +160 -0
  55. data/vendor/local/include/clutter-1.0/cally/cally-clone.h +84 -0
  56. data/vendor/local/include/clutter-1.0/cally/cally-factory.h +117 -0
  57. data/vendor/local/include/clutter-1.0/cally/cally-group.h +87 -0
  58. data/vendor/local/include/clutter-1.0/cally/cally-main.h +44 -0
  59. data/vendor/local/include/clutter-1.0/cally/cally-rectangle.h +84 -0
  60. data/vendor/local/include/clutter-1.0/cally/cally-root.h +84 -0
  61. data/vendor/local/include/clutter-1.0/cally/cally-stage.h +84 -0
  62. data/vendor/local/include/clutter-1.0/cally/cally-text.h +84 -0
  63. data/vendor/local/include/clutter-1.0/cally/cally-texture.h +84 -0
  64. data/vendor/local/include/clutter-1.0/cally/cally-util.h +84 -0
  65. data/vendor/local/include/clutter-1.0/cally/cally.h +40 -0
  66. data/vendor/local/include/clutter-1.0/clutter/clutter-action.h +111 -0
  67. data/vendor/local/include/clutter-1.0/clutter/clutter-actor-meta.h +119 -0
  68. data/vendor/local/include/clutter-1.0/clutter/clutter-actor.h +836 -0
  69. data/vendor/local/include/clutter-1.0/clutter/clutter-align-constraint.h +77 -0
  70. data/vendor/local/include/clutter-1.0/clutter/clutter-animatable.h +121 -0
  71. data/vendor/local/include/clutter-1.0/clutter/clutter-backend.h +83 -0
  72. data/vendor/local/include/clutter-1.0/clutter/clutter-bin-layout.h +86 -0
  73. data/vendor/local/include/clutter-1.0/clutter/clutter-bind-constraint.h +77 -0
  74. data/vendor/local/include/clutter-1.0/clutter/clutter-binding-pool.h +135 -0
  75. data/vendor/local/include/clutter-1.0/clutter/clutter-blur-effect.h +59 -0
  76. data/vendor/local/include/clutter-1.0/clutter/clutter-box-layout.h +168 -0
  77. data/vendor/local/include/clutter-1.0/clutter/clutter-brightness-contrast-effect.h +88 -0
  78. data/vendor/local/include/clutter-1.0/clutter/clutter-cairo.h +61 -0
  79. data/vendor/local/include/clutter-1.0/clutter/clutter-canvas.h +106 -0
  80. data/vendor/local/include/clutter-1.0/clutter/clutter-child-meta.h +122 -0
  81. data/vendor/local/include/clutter-1.0/clutter/clutter-click-action.h +120 -0
  82. data/vendor/local/include/clutter-1.0/clutter/clutter-clone.h +94 -0
  83. data/vendor/local/include/clutter-1.0/clutter/clutter-cogl-compat.h +52 -0
  84. data/vendor/local/include/clutter-1.0/clutter/clutter-color-static.h +79 -0
  85. data/vendor/local/include/clutter-1.0/clutter/clutter-color.h +200 -0
  86. data/vendor/local/include/clutter-1.0/clutter/clutter-colorize-effect.h +67 -0
  87. data/vendor/local/include/clutter-1.0/clutter/clutter-config.h +19 -0
  88. data/vendor/local/include/clutter-1.0/clutter/clutter-constraint.h +120 -0
  89. data/vendor/local/include/clutter-1.0/clutter/clutter-container.h +196 -0
  90. data/vendor/local/include/clutter-1.0/clutter/clutter-content.h +103 -0
  91. data/vendor/local/include/clutter-1.0/clutter/clutter-deform-effect.h +117 -0
  92. data/vendor/local/include/clutter-1.0/clutter/clutter-deprecated.h +44 -0
  93. data/vendor/local/include/clutter-1.0/clutter/clutter-desaturate-effect.h +65 -0
  94. data/vendor/local/include/clutter-1.0/clutter/clutter-device-manager.h +110 -0
  95. data/vendor/local/include/clutter-1.0/clutter/clutter-drag-action.h +152 -0
  96. data/vendor/local/include/clutter-1.0/clutter/clutter-drop-action.h +115 -0
  97. data/vendor/local/include/clutter-1.0/clutter/clutter-effect.h +130 -0
  98. data/vendor/local/include/clutter-1.0/clutter/clutter-enum-types.h +190 -0
  99. data/vendor/local/include/clutter-1.0/clutter/clutter-enums.h +1385 -0
  100. data/vendor/local/include/clutter-1.0/clutter/clutter-event.h +588 -0
  101. data/vendor/local/include/clutter-1.0/clutter/clutter-feature.h +42 -0
  102. data/vendor/local/include/clutter-1.0/clutter/clutter-fixed-layout.h +82 -0
  103. data/vendor/local/include/clutter-1.0/clutter/clutter-flow-layout.h +129 -0
  104. data/vendor/local/include/clutter-1.0/clutter/clutter-gesture-action.h +179 -0
  105. data/vendor/local/include/clutter-1.0/clutter/clutter-grid-layout.h +161 -0
  106. data/vendor/local/include/clutter-1.0/clutter/clutter-group.h +96 -0
  107. data/vendor/local/include/clutter-1.0/clutter/clutter-image.h +141 -0
  108. data/vendor/local/include/clutter-1.0/clutter/clutter-input-device.h +140 -0
  109. data/vendor/local/include/clutter-1.0/clutter/clutter-interval.h +159 -0
  110. data/vendor/local/include/clutter-1.0/clutter/clutter-keyframe-transition.h +120 -0
  111. data/vendor/local/include/clutter-1.0/clutter/clutter-keysyms.h +2304 -0
  112. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-manager.h +227 -0
  113. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-meta.h +103 -0
  114. data/vendor/local/include/clutter-1.0/clutter/clutter-list-model.h +91 -0
  115. data/vendor/local/include/clutter-1.0/clutter/clutter-macros.h +327 -0
  116. data/vendor/local/include/clutter-1.0/clutter/clutter-main.h +184 -0
  117. data/vendor/local/include/clutter-1.0/clutter/clutter-marshal.h +273 -0
  118. data/vendor/local/include/clutter-1.0/clutter/clutter-model.h +422 -0
  119. data/vendor/local/include/clutter-1.0/clutter/clutter-offscreen-effect.h +122 -0
  120. data/vendor/local/include/clutter-1.0/clutter/clutter-page-turn-effect.h +80 -0
  121. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-node.h +102 -0
  122. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-nodes.h +150 -0
  123. data/vendor/local/include/clutter-1.0/clutter/clutter-pan-action.h +147 -0
  124. data/vendor/local/include/clutter-1.0/clutter/clutter-path-constraint.h +72 -0
  125. data/vendor/local/include/clutter-1.0/clutter/clutter-path.h +181 -0
  126. data/vendor/local/include/clutter-1.0/clutter/clutter-property-transition.h +91 -0
  127. data/vendor/local/include/clutter-1.0/clutter/clutter-rotate-action.h +100 -0
  128. data/vendor/local/include/clutter-1.0/clutter/clutter-script.h +220 -0
  129. data/vendor/local/include/clutter-1.0/clutter/clutter-scriptable.h +112 -0
  130. data/vendor/local/include/clutter-1.0/clutter/clutter-scroll-actor.h +97 -0
  131. data/vendor/local/include/clutter-1.0/clutter/clutter-settings.h +27 -0
  132. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-effect.h +121 -0
  133. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-types.h +104 -0
  134. data/vendor/local/include/clutter-1.0/clutter/clutter-snap-constraint.h +81 -0
  135. data/vendor/local/include/clutter-1.0/clutter/clutter-stage-manager.h +86 -0
  136. data/vendor/local/include/clutter-1.0/clutter/clutter-stage.h +250 -0
  137. data/vendor/local/include/clutter-1.0/clutter/clutter-swipe-action.h +109 -0
  138. data/vendor/local/include/clutter-1.0/clutter/clutter-tap-action.h +102 -0
  139. data/vendor/local/include/clutter-1.0/clutter/clutter-test-utils.h +164 -0
  140. data/vendor/local/include/clutter-1.0/clutter/clutter-text-buffer.h +172 -0
  141. data/vendor/local/include/clutter-1.0/clutter/clutter-text.h +307 -0
  142. data/vendor/local/include/clutter-1.0/clutter/clutter-texture.h +130 -0
  143. data/vendor/local/include/clutter-1.0/clutter/clutter-timeline.h +226 -0
  144. data/vendor/local/include/clutter-1.0/clutter/clutter-transition-group.h +91 -0
  145. data/vendor/local/include/clutter-1.0/clutter/clutter-transition.h +132 -0
  146. data/vendor/local/include/clutter-1.0/clutter/clutter-types.h +773 -0
  147. data/vendor/local/include/clutter-1.0/clutter/clutter-units.h +184 -0
  148. data/vendor/local/include/clutter-1.0/clutter/clutter-version.h +329 -0
  149. data/vendor/local/include/clutter-1.0/clutter/clutter-zoom-action.h +114 -0
  150. data/vendor/local/include/clutter-1.0/clutter/clutter.h +117 -0
  151. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-actor.h +161 -0
  152. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-alpha.h +144 -0
  153. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animatable.h +47 -0
  154. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animation.h +206 -0
  155. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animator.h +186 -0
  156. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-backend.h +64 -0
  157. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-depth.h +101 -0
  158. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-ellipse.h +159 -0
  159. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-opacity.h +115 -0
  160. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-path.h +135 -0
  161. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-rotate.h +119 -0
  162. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-scale.h +107 -0
  163. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour.h +170 -0
  164. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-bin-layout.h +56 -0
  165. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-box.h +143 -0
  166. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-cairo-texture.h +139 -0
  167. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-container.h +93 -0
  168. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-fixed.h +98 -0
  169. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-frame-source.h +49 -0
  170. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-group.h +62 -0
  171. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-input-device.h +41 -0
  172. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-keysyms.h +2306 -0
  173. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-main.h +96 -0
  174. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-media.h +121 -0
  175. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-rectangle.h +117 -0
  176. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-score.h +144 -0
  177. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-shader.h +182 -0
  178. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage-manager.h +42 -0
  179. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage.h +102 -0
  180. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-state.h +187 -0
  181. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-table-layout.h +172 -0
  182. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-texture.h +138 -0
  183. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeline.h +41 -0
  184. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeout-pool.h +69 -0
  185. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-util.h +40 -0
  186. data/vendor/local/include/clutter-1.0/clutter/win32/clutter-win32.h +63 -0
  187. data/vendor/local/include/cogl/cogl-pango/cogl-pango.h +298 -0
  188. data/vendor/local/include/cogl/cogl-path/cogl-path-enum-types.h +20 -0
  189. data/vendor/local/include/cogl/cogl-path/cogl-path-types.h +85 -0
  190. data/vendor/local/include/cogl/cogl-path/cogl-path.h +68 -0
  191. data/vendor/local/include/cogl/cogl-path/cogl1-path-functions.h +467 -0
  192. data/vendor/local/include/cogl/cogl-path/cogl2-path-functions.h +545 -0
  193. data/vendor/local/include/cogl/cogl/cogl-atlas-texture.h +258 -0
  194. data/vendor/local/include/cogl/cogl/cogl-attribute-buffer.h +152 -0
  195. data/vendor/local/include/cogl/cogl/cogl-attribute.h +558 -0
  196. data/vendor/local/include/cogl/cogl/cogl-auto-texture.h +221 -0
  197. data/vendor/local/include/cogl/cogl/cogl-bitmap.h +336 -0
  198. data/vendor/local/include/cogl/cogl/cogl-buffer.h +324 -0
  199. data/vendor/local/include/cogl/cogl/cogl-clip-state.h +266 -0
  200. data/vendor/local/include/cogl/cogl/cogl-clutter.h +54 -0
  201. data/vendor/local/include/cogl/cogl/cogl-color.h +604 -0
  202. data/vendor/local/include/cogl/cogl/cogl-context.h +401 -0
  203. data/vendor/local/include/cogl/cogl/cogl-defines.h +58 -0
  204. data/vendor/local/include/cogl/cogl/cogl-deprecated.h +43 -0
  205. data/vendor/local/include/cogl/cogl/cogl-depth-state.h +270 -0
  206. data/vendor/local/include/cogl/cogl/cogl-display.h +234 -0
  207. data/vendor/local/include/cogl/cogl/cogl-enum-types.h +99 -0
  208. data/vendor/local/include/cogl/cogl/cogl-error.h +185 -0
  209. data/vendor/local/include/cogl/cogl/cogl-euler.h +269 -0
  210. data/vendor/local/include/cogl/cogl/cogl-fence.h +143 -0
  211. data/vendor/local/include/cogl/cogl/cogl-fixed.h +811 -0
  212. data/vendor/local/include/cogl/cogl/cogl-frame-info.h +148 -0
  213. data/vendor/local/include/cogl/cogl/cogl-framebuffer-deprecated.h +264 -0
  214. data/vendor/local/include/cogl/cogl/cogl-framebuffer.h +1818 -0
  215. data/vendor/local/include/cogl/cogl/cogl-gles2-types.h +474 -0
  216. data/vendor/local/include/cogl/cogl/cogl-gles2.h +420 -0
  217. data/vendor/local/include/cogl/cogl/cogl-glib-source.h +97 -0
  218. data/vendor/local/include/cogl/cogl/cogl-index-buffer.h +107 -0
  219. data/vendor/local/include/cogl/cogl/cogl-indices.h +165 -0
  220. data/vendor/local/include/cogl/cogl/cogl-macros.h +273 -0
  221. data/vendor/local/include/cogl/cogl/cogl-material-compat.h +1391 -0
  222. data/vendor/local/include/cogl/cogl/cogl-matrix-stack.h +645 -0
  223. data/vendor/local/include/cogl/cogl/cogl-matrix.h +821 -0
  224. data/vendor/local/include/cogl/cogl/cogl-meta-texture.h +194 -0
  225. data/vendor/local/include/cogl/cogl/cogl-object.h +251 -0
  226. data/vendor/local/include/cogl/cogl/cogl-offscreen.h +172 -0
  227. data/vendor/local/include/cogl/cogl/cogl-onscreen-template.h +125 -0
  228. data/vendor/local/include/cogl/cogl/cogl-onscreen.h +1012 -0
  229. data/vendor/local/include/cogl/cogl/cogl-output.h +261 -0
  230. data/vendor/local/include/cogl/cogl/cogl-pango.h +40 -0
  231. data/vendor/local/include/cogl/cogl/cogl-pipeline-layer-state.h +620 -0
  232. data/vendor/local/include/cogl/cogl/cogl-pipeline-state.h +980 -0
  233. data/vendor/local/include/cogl/cogl/cogl-pipeline.h +194 -0
  234. data/vendor/local/include/cogl/cogl/cogl-pixel-buffer.h +138 -0
  235. data/vendor/local/include/cogl/cogl/cogl-poll.h +200 -0
  236. data/vendor/local/include/cogl/cogl/cogl-primitive-texture.h +111 -0
  237. data/vendor/local/include/cogl/cogl/cogl-primitive.h +942 -0
  238. data/vendor/local/include/cogl/cogl/cogl-primitives.h +197 -0
  239. data/vendor/local/include/cogl/cogl/cogl-quaternion.h +564 -0
  240. data/vendor/local/include/cogl/cogl/cogl-renderer.h +446 -0
  241. data/vendor/local/include/cogl/cogl/cogl-shader.h +704 -0
  242. data/vendor/local/include/cogl/cogl/cogl-snippet.h +866 -0
  243. data/vendor/local/include/cogl/cogl/cogl-sub-texture.h +136 -0
  244. data/vendor/local/include/cogl/cogl/cogl-swap-chain.h +71 -0
  245. data/vendor/local/include/cogl/cogl/cogl-texture-2d-gl.h +78 -0
  246. data/vendor/local/include/cogl/cogl/cogl-texture-2d-sliced.h +301 -0
  247. data/vendor/local/include/cogl/cogl/cogl-texture-2d.h +234 -0
  248. data/vendor/local/include/cogl/cogl/cogl-texture-3d.h +204 -0
  249. data/vendor/local/include/cogl/cogl/cogl-texture-deprecated.h +105 -0
  250. data/vendor/local/include/cogl/cogl/cogl-texture-rectangle.h +218 -0
  251. data/vendor/local/include/cogl/cogl/cogl-texture.h +524 -0
  252. data/vendor/local/include/cogl/cogl/cogl-type-casts.h +53 -0
  253. data/vendor/local/include/cogl/cogl/cogl-types.h +925 -0
  254. data/vendor/local/include/cogl/cogl/cogl-vector.h +356 -0
  255. data/vendor/local/include/cogl/cogl/cogl-version.h +348 -0
  256. data/vendor/local/include/cogl/cogl/cogl-vertex-buffer.h +451 -0
  257. data/vendor/local/include/cogl/cogl/cogl-win32-renderer.h +123 -0
  258. data/vendor/local/include/cogl/cogl/cogl.h +194 -0
  259. data/vendor/local/include/cogl/cogl/cogl1-context.h +862 -0
  260. data/vendor/local/include/cogl/cogl/cogl2-experimental.h +37 -0
  261. data/vendor/local/include/cogl/cogl/deprecated/cogl-auto-texture.h +221 -0
  262. data/vendor/local/include/cogl/cogl/deprecated/cogl-clip-state.h +266 -0
  263. data/vendor/local/include/cogl/cogl/deprecated/cogl-clutter.h +54 -0
  264. data/vendor/local/include/cogl/cogl/deprecated/cogl-fixed.h +811 -0
  265. data/vendor/local/include/cogl/cogl/deprecated/cogl-framebuffer-deprecated.h +264 -0
  266. data/vendor/local/include/cogl/cogl/deprecated/cogl-material-compat.h +1391 -0
  267. data/vendor/local/include/cogl/cogl/deprecated/cogl-shader.h +704 -0
  268. data/vendor/local/include/cogl/cogl/deprecated/cogl-texture-deprecated.h +105 -0
  269. data/vendor/local/include/cogl/cogl/deprecated/cogl-type-casts.h +53 -0
  270. data/vendor/local/include/cogl/cogl/deprecated/cogl-vertex-buffer.h +451 -0
  271. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-core-functions.h +198 -0
  272. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-gles2-functions.h +43 -0
  273. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-glsl-functions.h +286 -0
  274. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles-core-functions.h +148 -0
  275. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles2-core-functions.h +186 -0
  276. data/vendor/local/include/json-glib-1.0/json-glib/json-builder.h +120 -0
  277. data/vendor/local/include/json-glib-1.0/json-glib/json-enum-types.h +41 -0
  278. data/vendor/local/include/json-glib-1.0/json-glib/json-generator.h +120 -0
  279. data/vendor/local/include/json-glib-1.0/json-glib/json-glib.h +47 -0
  280. data/vendor/local/include/json-glib-1.0/json-glib/json-gobject.h +199 -0
  281. data/vendor/local/include/json-glib-1.0/json-glib/json-gvariant.h +53 -0
  282. data/vendor/local/include/json-glib-1.0/json-glib/json-parser.h +188 -0
  283. data/vendor/local/include/json-glib-1.0/json-glib/json-path.h +102 -0
  284. data/vendor/local/include/json-glib-1.0/json-glib/json-reader.h +171 -0
  285. data/vendor/local/include/json-glib-1.0/json-glib/json-types.h +445 -0
  286. data/vendor/local/include/json-glib-1.0/json-glib/json-version-macros.h +135 -0
  287. data/vendor/local/include/json-glib-1.0/json-glib/json-version.h +102 -0
  288. data/vendor/local/lib/girepository-1.0/Cally-1.0.typelib +0 -0
  289. data/vendor/local/lib/girepository-1.0/Clutter-1.0.typelib +0 -0
  290. data/vendor/local/lib/girepository-1.0/Cogl-1.0.typelib +0 -0
  291. data/vendor/local/lib/girepository-1.0/Cogl-2.0.typelib +0 -0
  292. data/vendor/local/lib/girepository-1.0/CoglPango-1.0.typelib +0 -0
  293. data/vendor/local/lib/girepository-1.0/CoglPango-2.0.typelib +0 -0
  294. data/vendor/local/lib/girepository-1.0/Json-1.0.typelib +0 -0
  295. data/vendor/local/lib/libclutter-1.0.dll.a +0 -0
  296. data/vendor/local/lib/libclutter-1.0.la +41 -0
  297. data/vendor/local/lib/libcogl-pango.dll.a +0 -0
  298. data/vendor/local/lib/libcogl-pango.la +41 -0
  299. data/vendor/local/lib/libcogl-path.dll.a +0 -0
  300. data/vendor/local/lib/libcogl-path.la +41 -0
  301. data/vendor/local/lib/libcogl.dll.a +0 -0
  302. data/vendor/local/lib/libcogl.la +41 -0
  303. data/vendor/local/lib/libjson-glib-1.0.dll.a +0 -0
  304. data/vendor/local/lib/libjson-glib-1.0.la +41 -0
  305. data/vendor/local/lib/pkgconfig/cally-1.0.pc +13 -0
  306. data/vendor/local/lib/pkgconfig/clutter-1.0.pc +24 -0
  307. data/vendor/local/lib/pkgconfig/clutter-win32-1.0.pc +24 -0
  308. data/vendor/local/lib/pkgconfig/cogl-1.0.pc +13 -0
  309. data/vendor/local/lib/pkgconfig/cogl-2.0-experimental.pc +13 -0
  310. data/vendor/local/lib/pkgconfig/cogl-gl-1.0.pc +13 -0
  311. data/vendor/local/lib/pkgconfig/cogl-pango-1.0.pc +13 -0
  312. data/vendor/local/lib/pkgconfig/cogl-pango-2.0-experimental.pc +13 -0
  313. data/vendor/local/lib/pkgconfig/cogl-path-1.0.pc +13 -0
  314. data/vendor/local/lib/pkgconfig/cogl-path-2.0-experimental.pc +13 -0
  315. data/vendor/local/lib/pkgconfig/json-glib-1.0.pc +11 -0
  316. data/vendor/local/share/cogl/examples-data/crate.jpg +0 -0
  317. data/vendor/local/share/gir-1.0/Cally-1.0.gir +681 -0
  318. data/vendor/local/share/gir-1.0/Clutter-1.0.gir +70493 -0
  319. data/vendor/local/share/gir-1.0/Cogl-1.0.gir +8197 -0
  320. data/vendor/local/share/gir-1.0/Cogl-2.0.gir +20369 -0
  321. data/vendor/local/share/gir-1.0/CoglPango-1.0.gir +333 -0
  322. data/vendor/local/share/gir-1.0/CoglPango-2.0.gir +331 -0
  323. data/vendor/local/share/gir-1.0/Json-1.0.gir +4742 -0
  324. data/vendor/local/share/gtk-doc/html/cally/CallyActor.html +509 -0
  325. data/vendor/local/share/gtk-doc/html/cally/CallyClone.html +155 -0
  326. data/vendor/local/share/gtk-doc/html/cally/CallyGroup.html +154 -0
  327. data/vendor/local/share/gtk-doc/html/cally/CallyRectangle.html +154 -0
  328. data/vendor/local/share/gtk-doc/html/cally/CallyRoot.html +133 -0
  329. data/vendor/local/share/gtk-doc/html/cally/CallyStage.html +159 -0
  330. data/vendor/local/share/gtk-doc/html/cally/CallyText.html +154 -0
  331. data/vendor/local/share/gtk-doc/html/cally/CallyTexture.html +154 -0
  332. data/vendor/local/share/gtk-doc/html/cally/CallyUtil.html +102 -0
  333. data/vendor/local/share/gtk-doc/html/cally/cally-General-API.html +187 -0
  334. data/vendor/local/share/gtk-doc/html/cally/cally.devhelp2 +73 -0
  335. data/vendor/local/share/gtk-doc/html/cally/callyannotationglossary.html +41 -0
  336. data/vendor/local/share/gtk-doc/html/cally/callybase.html +71 -0
  337. data/vendor/local/share/gtk-doc/html/cally/callyobjecthierarchy.html +45 -0
  338. data/vendor/local/share/gtk-doc/html/cally/callyobjectindex.html +64 -0
  339. data/vendor/local/share/gtk-doc/html/cally/callyobjects.html +39 -0
  340. data/vendor/local/share/gtk-doc/html/cally/ch01.html +53 -0
  341. data/vendor/local/share/gtk-doc/html/cally/ch02.html +41 -0
  342. data/vendor/local/share/gtk-doc/html/cally/clutter-overview.html +96 -0
  343. data/vendor/local/share/gtk-doc/html/cally/home.png +0 -0
  344. data/vendor/local/share/gtk-doc/html/cally/index.html +103 -0
  345. data/vendor/local/share/gtk-doc/html/cally/index.sgml +121 -0
  346. data/vendor/local/share/gtk-doc/html/cally/ix01.html +193 -0
  347. data/vendor/local/share/gtk-doc/html/cally/ix02.html +31 -0
  348. data/vendor/local/share/gtk-doc/html/cally/ix03.html +185 -0
  349. data/vendor/local/share/gtk-doc/html/cally/ix04.html +39 -0
  350. data/vendor/local/share/gtk-doc/html/cally/left-insensitive.png +0 -0
  351. data/vendor/local/share/gtk-doc/html/cally/left.png +0 -0
  352. data/vendor/local/share/gtk-doc/html/cally/license.html +58 -0
  353. data/vendor/local/share/gtk-doc/html/cally/right-insensitive.png +0 -0
  354. data/vendor/local/share/gtk-doc/html/cally/right.png +0 -0
  355. data/vendor/local/share/gtk-doc/html/cally/style.css +476 -0
  356. data/vendor/local/share/gtk-doc/html/cally/up-insensitive.png +0 -0
  357. data/vendor/local/share/gtk-doc/html/cally/up.png +0 -0
  358. data/vendor/local/share/gtk-doc/html/clutter/ClutterAction.html +109 -0
  359. data/vendor/local/share/gtk-doc/html/clutter/ClutterActor.html +15797 -0
  360. data/vendor/local/share/gtk-doc/html/clutter/ClutterActorMeta.html +396 -0
  361. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlignConstraint.html +494 -0
  362. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlpha.html +816 -0
  363. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimatable.html +497 -0
  364. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimator.html +1406 -0
  365. data/vendor/local/share/gtk-doc/html/clutter/ClutterBackend.html +855 -0
  366. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviour.html +802 -0
  367. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourDepth.html +313 -0
  368. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourEllipse.html +1041 -0
  369. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourOpacity.html +319 -0
  370. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourPath.html +502 -0
  371. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourRotate.html +744 -0
  372. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourScale.html +476 -0
  373. data/vendor/local/share/gtk-doc/html/clutter/ClutterBinLayout.html +481 -0
  374. data/vendor/local/share/gtk-doc/html/clutter/ClutterBindConstraint.html +598 -0
  375. data/vendor/local/share/gtk-doc/html/clutter/ClutterBlurEffect.html +116 -0
  376. data/vendor/local/share/gtk-doc/html/clutter/ClutterBox.html +726 -0
  377. data/vendor/local/share/gtk-doc/html/clutter/ClutterBoxLayout.html +1471 -0
  378. data/vendor/local/share/gtk-doc/html/clutter/ClutterBrightnessContrastEffect.html +480 -0
  379. data/vendor/local/share/gtk-doc/html/clutter/ClutterCairoTexture.html +873 -0
  380. data/vendor/local/share/gtk-doc/html/clutter/ClutterCanvas.html +488 -0
  381. data/vendor/local/share/gtk-doc/html/clutter/ClutterChildMeta.html +287 -0
  382. data/vendor/local/share/gtk-doc/html/clutter/ClutterClickAction.html +667 -0
  383. data/vendor/local/share/gtk-doc/html/clutter/ClutterClone.html +258 -0
  384. data/vendor/local/share/gtk-doc/html/clutter/ClutterColorizeEffect.html +239 -0
  385. data/vendor/local/share/gtk-doc/html/clutter/ClutterConstraint.html +208 -0
  386. data/vendor/local/share/gtk-doc/html/clutter/ClutterContainer.html +1611 -0
  387. data/vendor/local/share/gtk-doc/html/clutter/ClutterContent.html +367 -0
  388. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeformEffect.html +418 -0
  389. data/vendor/local/share/gtk-doc/html/clutter/ClutterDesaturateEffect.html +242 -0
  390. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeviceManager.html +492 -0
  391. data/vendor/local/share/gtk-doc/html/clutter/ClutterDragAction.html +1120 -0
  392. data/vendor/local/share/gtk-doc/html/clutter/ClutterDropAction.html +498 -0
  393. data/vendor/local/share/gtk-doc/html/clutter/ClutterEffect.html +469 -0
  394. data/vendor/local/share/gtk-doc/html/clutter/ClutterFixedLayout.html +125 -0
  395. data/vendor/local/share/gtk-doc/html/clutter/ClutterFlowLayout.html +928 -0
  396. data/vendor/local/share/gtk-doc/html/clutter/ClutterGestureAction.html +1321 -0
  397. data/vendor/local/share/gtk-doc/html/clutter/ClutterGridLayout.html +1020 -0
  398. data/vendor/local/share/gtk-doc/html/clutter/ClutterGroup.html +272 -0
  399. data/vendor/local/share/gtk-doc/html/clutter/ClutterImage.html +527 -0
  400. data/vendor/local/share/gtk-doc/html/clutter/ClutterInputDevice.html +1805 -0
  401. data/vendor/local/share/gtk-doc/html/clutter/ClutterKeyframeTransition.html +616 -0
  402. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutManager.html +1280 -0
  403. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutMeta.html +189 -0
  404. data/vendor/local/share/gtk-doc/html/clutter/ClutterListModel.html +222 -0
  405. data/vendor/local/share/gtk-doc/html/clutter/ClutterMedia.html +1053 -0
  406. data/vendor/local/share/gtk-doc/html/clutter/ClutterModel.html +2052 -0
  407. data/vendor/local/share/gtk-doc/html/clutter/ClutterModelIter.html +779 -0
  408. data/vendor/local/share/gtk-doc/html/clutter/ClutterOffscreenEffect.html +452 -0
  409. data/vendor/local/share/gtk-doc/html/clutter/ClutterPageTurnEffect.html +428 -0
  410. data/vendor/local/share/gtk-doc/html/clutter/ClutterPaintNode.html +671 -0
  411. data/vendor/local/share/gtk-doc/html/clutter/ClutterPanAction.html +946 -0
  412. data/vendor/local/share/gtk-doc/html/clutter/ClutterPath.html +1576 -0
  413. data/vendor/local/share/gtk-doc/html/clutter/ClutterPathConstraint.html +407 -0
  414. data/vendor/local/share/gtk-doc/html/clutter/ClutterPropertyTransition.html +261 -0
  415. data/vendor/local/share/gtk-doc/html/clutter/ClutterRectangle.html +484 -0
  416. data/vendor/local/share/gtk-doc/html/clutter/ClutterRotateAction.html +216 -0
  417. data/vendor/local/share/gtk-doc/html/clutter/ClutterScore.html +1018 -0
  418. data/vendor/local/share/gtk-doc/html/clutter/ClutterScript.html +1421 -0
  419. data/vendor/local/share/gtk-doc/html/clutter/ClutterScriptable.html +364 -0
  420. data/vendor/local/share/gtk-doc/html/clutter/ClutterScrollActor.html +385 -0
  421. data/vendor/local/share/gtk-doc/html/clutter/ClutterSettings.html +376 -0
  422. data/vendor/local/share/gtk-doc/html/clutter/ClutterShaderEffect.html +693 -0
  423. data/vendor/local/share/gtk-doc/html/clutter/ClutterSnapConstraint.html +526 -0
  424. data/vendor/local/share/gtk-doc/html/clutter/ClutterStage.html +2751 -0
  425. data/vendor/local/share/gtk-doc/html/clutter/ClutterState.html +1823 -0
  426. data/vendor/local/share/gtk-doc/html/clutter/ClutterSwipeAction.html +333 -0
  427. data/vendor/local/share/gtk-doc/html/clutter/ClutterTableLayout.html +1393 -0
  428. data/vendor/local/share/gtk-doc/html/clutter/ClutterTapAction.html +219 -0
  429. data/vendor/local/share/gtk-doc/html/clutter/ClutterText.html +3871 -0
  430. data/vendor/local/share/gtk-doc/html/clutter/ClutterTextBuffer.html +906 -0
  431. data/vendor/local/share/gtk-doc/html/clutter/ClutterTexture.html +2085 -0
  432. data/vendor/local/share/gtk-doc/html/clutter/ClutterTimeline.html +2864 -0
  433. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransition.html +684 -0
  434. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransitionGroup.html +264 -0
  435. data/vendor/local/share/gtk-doc/html/clutter/ClutterZoomAction.html +474 -0
  436. data/vendor/local/share/gtk-doc/html/clutter/actor-box.png +0 -0
  437. data/vendor/local/share/gtk-doc/html/clutter/actor-example.png +0 -0
  438. data/vendor/local/share/gtk-doc/html/clutter/animator-key-frames.png +0 -0
  439. data/vendor/local/share/gtk-doc/html/clutter/annotation-glossary.html +95 -0
  440. data/vendor/local/share/gtk-doc/html/clutter/bin-layout.png +0 -0
  441. data/vendor/local/share/gtk-doc/html/clutter/box-layout.png +0 -0
  442. data/vendor/local/share/gtk-doc/html/clutter/building-clutter.html +275 -0
  443. data/vendor/local/share/gtk-doc/html/clutter/ch01.html +65 -0
  444. data/vendor/local/share/gtk-doc/html/clutter/ch02.html +44 -0
  445. data/vendor/local/share/gtk-doc/html/clutter/ch03.html +47 -0
  446. data/vendor/local/share/gtk-doc/html/clutter/ch04.html +59 -0
  447. data/vendor/local/share/gtk-doc/html/clutter/ch05.html +44 -0
  448. data/vendor/local/share/gtk-doc/html/clutter/ch06.html +57 -0
  449. data/vendor/local/share/gtk-doc/html/clutter/ch07.html +38 -0
  450. data/vendor/local/share/gtk-doc/html/clutter/ch08.html +38 -0
  451. data/vendor/local/share/gtk-doc/html/clutter/ch09.html +53 -0
  452. data/vendor/local/share/gtk-doc/html/clutter/ch10.html +78 -0
  453. data/vendor/local/share/gtk-doc/html/clutter/ch11.html +38 -0
  454. data/vendor/local/share/gtk-doc/html/clutter/ch12.html +41 -0
  455. data/vendor/local/share/gtk-doc/html/clutter/clutter-Base-geometric-types.html +4244 -0
  456. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterGLXTexturePixmap.html +268 -0
  457. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterWaylandSurface.html +454 -0
  458. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterX11TexturePixmap.html +442 -0
  459. data/vendor/local/share/gtk-doc/html/clutter/clutter-Colors.html +1644 -0
  460. data/vendor/local/share/gtk-doc/html/clutter/clutter-EGL-Specific-Support.html +211 -0
  461. data/vendor/local/share/gtk-doc/html/clutter/clutter-Events.html +3454 -0
  462. data/vendor/local/share/gtk-doc/html/clutter/clutter-Features.html +232 -0
  463. data/vendor/local/share/gtk-doc/html/clutter/clutter-GDK-Specific-Support.html +297 -0
  464. data/vendor/local/share/gtk-doc/html/clutter/clutter-General.html +2112 -0
  465. data/vendor/local/share/gtk-doc/html/clutter/clutter-Implicit-Animations.html +2213 -0
  466. data/vendor/local/share/gtk-doc/html/clutter/clutter-Intel-CE3100-CE4100-Specific-Support.html +200 -0
  467. data/vendor/local/share/gtk-doc/html/clutter/clutter-Key-Bindings.html +992 -0
  468. data/vendor/local/share/gtk-doc/html/clutter/clutter-Paint-Nodes.html +411 -0
  469. data/vendor/local/share/gtk-doc/html/clutter/clutter-Shaders.html +1236 -0
  470. data/vendor/local/share/gtk-doc/html/clutter/clutter-Stage-Manager.html +418 -0
  471. data/vendor/local/share/gtk-doc/html/clutter/clutter-Unit-conversion.html +1006 -0
  472. data/vendor/local/share/gtk-doc/html/clutter/clutter-Utilities.html +661 -0
  473. data/vendor/local/share/gtk-doc/html/clutter/clutter-Value-intervals.html +1221 -0
  474. data/vendor/local/share/gtk-doc/html/clutter/clutter-Versioning-Macros.html +578 -0
  475. data/vendor/local/share/gtk-doc/html/clutter/clutter-Wayland-compositor-specific-support.html +106 -0
  476. data/vendor/local/share/gtk-doc/html/clutter/clutter-Wayland-specific-support.html +289 -0
  477. data/vendor/local/share/gtk-doc/html/clutter/clutter-Win32-Specific-Support.html +241 -0
  478. data/vendor/local/share/gtk-doc/html/clutter/clutter-X11-Specific-Support.html +916 -0
  479. data/vendor/local/share/gtk-doc/html/clutter/clutter-overview.html +77 -0
  480. data/vendor/local/share/gtk-doc/html/clutter/clutter.devhelp2 +2403 -0
  481. data/vendor/local/share/gtk-doc/html/clutter/clutteranimation.html +65 -0
  482. data/vendor/local/share/gtk-doc/html/clutter/clutterbackends.html +74 -0
  483. data/vendor/local/share/gtk-doc/html/clutter/clutterbase.html +195 -0
  484. data/vendor/local/share/gtk-doc/html/clutter/clutterglossary.html +37 -0
  485. data/vendor/local/share/gtk-doc/html/clutter/clutterobjecthierarchy.html +118 -0
  486. data/vendor/local/share/gtk-doc/html/clutter/clutterobjectindex.html +184 -0
  487. data/vendor/local/share/gtk-doc/html/clutter/clutterobjects.html +37 -0
  488. data/vendor/local/share/gtk-doc/html/clutter/cluttertools.html +105 -0
  489. data/vendor/local/share/gtk-doc/html/clutter/constraints-example.png +0 -0
  490. data/vendor/local/share/gtk-doc/html/clutter/deprecated.html +93 -0
  491. data/vendor/local/share/gtk-doc/html/clutter/easing-modes.png +0 -0
  492. data/vendor/local/share/gtk-doc/html/clutter/event-flow.png +0 -0
  493. data/vendor/local/share/gtk-doc/html/clutter/flow-layout.png +0 -0
  494. data/vendor/local/share/gtk-doc/html/clutter/go01.html +126 -0
  495. data/vendor/local/share/gtk-doc/html/clutter/home.png +0 -0
  496. data/vendor/local/share/gtk-doc/html/clutter/index.html +454 -0
  497. data/vendor/local/share/gtk-doc/html/clutter/index.sgml +3165 -0
  498. data/vendor/local/share/gtk-doc/html/clutter/iterating-paths.html +56 -0
  499. data/vendor/local/share/gtk-doc/html/clutter/ix01.html +8982 -0
  500. data/vendor/local/share/gtk-doc/html/clutter/ix02.html +2198 -0
  501. data/vendor/local/share/gtk-doc/html/clutter/ix03.html +457 -0
  502. data/vendor/local/share/gtk-doc/html/clutter/ix04.html +578 -0
  503. data/vendor/local/share/gtk-doc/html/clutter/ix05.html +952 -0
  504. data/vendor/local/share/gtk-doc/html/clutter/ix06.html +637 -0
  505. data/vendor/local/share/gtk-doc/html/clutter/ix07.html +1525 -0
  506. data/vendor/local/share/gtk-doc/html/clutter/ix08.html +815 -0
  507. data/vendor/local/share/gtk-doc/html/clutter/ix09.html +1000 -0
  508. data/vendor/local/share/gtk-doc/html/clutter/ix10.html +364 -0
  509. data/vendor/local/share/gtk-doc/html/clutter/ix11.html +361 -0
  510. data/vendor/local/share/gtk-doc/html/clutter/ix12.html +1085 -0
  511. data/vendor/local/share/gtk-doc/html/clutter/ix13.html +979 -0
  512. data/vendor/local/share/gtk-doc/html/clutter/ix14.html +101 -0
  513. data/vendor/local/share/gtk-doc/html/clutter/left-insensitive.png +0 -0
  514. data/vendor/local/share/gtk-doc/html/clutter/left.png +0 -0
  515. data/vendor/local/share/gtk-doc/html/clutter/license.html +58 -0
  516. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterAnimation.html +223 -0
  517. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterBehaviour.html +197 -0
  518. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterEffect.html +154 -0
  519. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterPath.html +155 -0
  520. data/vendor/local/share/gtk-doc/html/clutter/migration.html +49 -0
  521. data/vendor/local/share/gtk-doc/html/clutter/offscreen-redirect.png +0 -0
  522. data/vendor/local/share/gtk-doc/html/clutter/path-alpha-func.png +0 -0
  523. data/vendor/local/share/gtk-doc/html/clutter/pt09.html +31 -0
  524. data/vendor/local/share/gtk-doc/html/clutter/right-insensitive.png +0 -0
  525. data/vendor/local/share/gtk-doc/html/clutter/right.png +0 -0
  526. data/vendor/local/share/gtk-doc/html/clutter/running-clutter.html +378 -0
  527. data/vendor/local/share/gtk-doc/html/clutter/style.css +476 -0
  528. data/vendor/local/share/gtk-doc/html/clutter/table-layout.png +0 -0
  529. data/vendor/local/share/gtk-doc/html/clutter/up-insensitive.png +0 -0
  530. data/vendor/local/share/gtk-doc/html/clutter/up.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/clutter/using-cairo.html +36 -0
  532. data/vendor/local/share/gtk-doc/html/json-glib/JsonBuilder.html +676 -0
  533. data/vendor/local/share/gtk-doc/html/json-glib/JsonGenerator.html +660 -0
  534. data/vendor/local/share/gtk-doc/html/json-glib/JsonParser.html +1144 -0
  535. data/vendor/local/share/gtk-doc/html/json-glib/JsonPath.html +512 -0
  536. data/vendor/local/share/gtk-doc/html/json-glib/JsonReader.html +1140 -0
  537. data/vendor/local/share/gtk-doc/html/json-glib/annotation-glossary.html +66 -0
  538. data/vendor/local/share/gtk-doc/html/json-glib/ch01.html +41 -0
  539. data/vendor/local/share/gtk-doc/html/json-glib/ch02.html +41 -0
  540. data/vendor/local/share/gtk-doc/html/json-glib/ch03.html +38 -0
  541. data/vendor/local/share/gtk-doc/html/json-glib/ch05.html +40 -0
  542. data/vendor/local/share/gtk-doc/html/json-glib/home.png +0 -0
  543. data/vendor/local/share/gtk-doc/html/json-glib/index.html +134 -0
  544. data/vendor/local/share/gtk-doc/html/json-glib/index.sgml +327 -0
  545. data/vendor/local/share/gtk-doc/html/json-glib/ix01.html +965 -0
  546. data/vendor/local/share/gtk-doc/html/json-glib/ix02.html +49 -0
  547. data/vendor/local/share/gtk-doc/html/json-glib/ix03.html +56 -0
  548. data/vendor/local/share/gtk-doc/html/json-glib/ix04.html +49 -0
  549. data/vendor/local/share/gtk-doc/html/json-glib/ix05.html +181 -0
  550. data/vendor/local/share/gtk-doc/html/json-glib/ix06.html +116 -0
  551. data/vendor/local/share/gtk-doc/html/json-glib/ix07.html +156 -0
  552. data/vendor/local/share/gtk-doc/html/json-glib/ix08.html +132 -0
  553. data/vendor/local/share/gtk-doc/html/json-glib/json-advanced.html +50 -0
  554. data/vendor/local/share/gtk-doc/html/json-glib/json-base.html +61 -0
  555. data/vendor/local/share/gtk-doc/html/json-glib/json-format-tool.html +84 -0
  556. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Boxed-Types-Serialization.html +491 -0
  557. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-GObject-Serialization.html +385 -0
  558. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Array.html +1188 -0
  559. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-GVariant-Integration.html +318 -0
  560. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Node.html +1803 -0
  561. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Object.html +1369 -0
  562. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Serializable-Interface.html +582 -0
  563. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Versioning-information.html +215 -0
  564. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.devhelp2 +277 -0
  565. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.html +38 -0
  566. data/vendor/local/share/gtk-doc/html/json-glib/json-streams.html +63 -0
  567. data/vendor/local/share/gtk-doc/html/json-glib/json-tools.html +45 -0
  568. data/vendor/local/share/gtk-doc/html/json-glib/json-validate-tool.html +72 -0
  569. data/vendor/local/share/gtk-doc/html/json-glib/left-insensitive.png +0 -0
  570. data/vendor/local/share/gtk-doc/html/json-glib/left.png +0 -0
  571. data/vendor/local/share/gtk-doc/html/json-glib/license.html +58 -0
  572. data/vendor/local/share/gtk-doc/html/json-glib/right-insensitive.png +0 -0
  573. data/vendor/local/share/gtk-doc/html/json-glib/right.png +0 -0
  574. data/vendor/local/share/gtk-doc/html/json-glib/style.css +476 -0
  575. data/vendor/local/share/gtk-doc/html/json-glib/tools.html +38 -0
  576. data/vendor/local/share/gtk-doc/html/json-glib/up-insensitive.png +0 -0
  577. data/vendor/local/share/gtk-doc/html/json-glib/up.png +0 -0
  578. data/vendor/local/share/license/clutter/COPYING +502 -0
  579. data/vendor/local/share/license/cogl/COPYING +107 -0
  580. data/vendor/local/share/license/json-glib/COPYING +504 -0
  581. data/vendor/local/share/locale/an/LC_MESSAGES/clutter-1.0.mo +0 -0
  582. data/vendor/local/share/locale/an/LC_MESSAGES/cogl.mo +0 -0
  583. data/vendor/local/share/locale/ar/LC_MESSAGES/clutter-1.0.mo +0 -0
  584. data/vendor/local/share/locale/ar/LC_MESSAGES/cogl.mo +0 -0
  585. data/vendor/local/share/locale/as/LC_MESSAGES/clutter-1.0.mo +0 -0
  586. data/vendor/local/share/locale/as/LC_MESSAGES/cogl.mo +0 -0
  587. data/vendor/local/share/locale/as/LC_MESSAGES/json-glib-1.0.mo +0 -0
  588. data/vendor/local/share/locale/ast/LC_MESSAGES/clutter-1.0.mo +0 -0
  589. data/vendor/local/share/locale/ast/LC_MESSAGES/cogl.mo +0 -0
  590. data/vendor/local/share/locale/az_IR/LC_MESSAGES/clutter-1.0.mo +0 -0
  591. data/vendor/local/share/locale/be/LC_MESSAGES/clutter-1.0.mo +0 -0
  592. data/vendor/local/share/locale/be/LC_MESSAGES/cogl.mo +0 -0
  593. data/vendor/local/share/locale/bg/LC_MESSAGES/clutter-1.0.mo +0 -0
  594. data/vendor/local/share/locale/bg/LC_MESSAGES/cogl.mo +0 -0
  595. data/vendor/local/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo +0 -0
  596. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo +0 -0
  597. data/vendor/local/share/locale/ca/LC_MESSAGES/clutter-1.0.mo +0 -0
  598. data/vendor/local/share/locale/ca/LC_MESSAGES/cogl.mo +0 -0
  599. data/vendor/local/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo +0 -0
  600. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/clutter-1.0.mo +0 -0
  601. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/cogl.mo +0 -0
  602. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo +0 -0
  603. data/vendor/local/share/locale/cs/LC_MESSAGES/clutter-1.0.mo +0 -0
  604. data/vendor/local/share/locale/cs/LC_MESSAGES/cogl.mo +0 -0
  605. data/vendor/local/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo +0 -0
  606. data/vendor/local/share/locale/da/LC_MESSAGES/clutter-1.0.mo +0 -0
  607. data/vendor/local/share/locale/da/LC_MESSAGES/cogl.mo +0 -0
  608. data/vendor/local/share/locale/da/LC_MESSAGES/json-glib-1.0.mo +0 -0
  609. data/vendor/local/share/locale/de/LC_MESSAGES/clutter-1.0.mo +0 -0
  610. data/vendor/local/share/locale/de/LC_MESSAGES/cogl.mo +0 -0
  611. data/vendor/local/share/locale/de/LC_MESSAGES/json-glib-1.0.mo +0 -0
  612. data/vendor/local/share/locale/el/LC_MESSAGES/clutter-1.0.mo +0 -0
  613. data/vendor/local/share/locale/el/LC_MESSAGES/cogl.mo +0 -0
  614. data/vendor/local/share/locale/el/LC_MESSAGES/json-glib-1.0.mo +0 -0
  615. data/vendor/local/share/locale/en_CA/LC_MESSAGES/cogl.mo +0 -0
  616. data/vendor/local/share/locale/en_GB/LC_MESSAGES/clutter-1.0.mo +0 -0
  617. data/vendor/local/share/locale/en_GB/LC_MESSAGES/cogl.mo +0 -0
  618. data/vendor/local/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo +0 -0
  619. data/vendor/local/share/locale/eo/LC_MESSAGES/clutter-1.0.mo +0 -0
  620. data/vendor/local/share/locale/eo/LC_MESSAGES/cogl.mo +0 -0
  621. data/vendor/local/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo +0 -0
  622. data/vendor/local/share/locale/es/LC_MESSAGES/clutter-1.0.mo +0 -0
  623. data/vendor/local/share/locale/es/LC_MESSAGES/cogl.mo +0 -0
  624. data/vendor/local/share/locale/es/LC_MESSAGES/json-glib-1.0.mo +0 -0
  625. data/vendor/local/share/locale/et/LC_MESSAGES/json-glib-1.0.mo +0 -0
  626. data/vendor/local/share/locale/eu/LC_MESSAGES/clutter-1.0.mo +0 -0
  627. data/vendor/local/share/locale/eu/LC_MESSAGES/cogl.mo +0 -0
  628. data/vendor/local/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo +0 -0
  629. data/vendor/local/share/locale/fa/LC_MESSAGES/clutter-1.0.mo +0 -0
  630. data/vendor/local/share/locale/fa/LC_MESSAGES/cogl.mo +0 -0
  631. data/vendor/local/share/locale/fi/LC_MESSAGES/clutter-1.0.mo +0 -0
  632. data/vendor/local/share/locale/fr/LC_MESSAGES/clutter-1.0.mo +0 -0
  633. data/vendor/local/share/locale/fr/LC_MESSAGES/cogl.mo +0 -0
  634. data/vendor/local/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo +0 -0
  635. data/vendor/local/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo +0 -0
  636. data/vendor/local/share/locale/gl/LC_MESSAGES/clutter-1.0.mo +0 -0
  637. data/vendor/local/share/locale/gl/LC_MESSAGES/cogl.mo +0 -0
  638. data/vendor/local/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  639. data/vendor/local/share/locale/he/LC_MESSAGES/clutter-1.0.mo +0 -0
  640. data/vendor/local/share/locale/he/LC_MESSAGES/cogl.mo +0 -0
  641. data/vendor/local/share/locale/he/LC_MESSAGES/json-glib-1.0.mo +0 -0
  642. data/vendor/local/share/locale/hi/LC_MESSAGES/clutter-1.0.mo +0 -0
  643. data/vendor/local/share/locale/hi/LC_MESSAGES/cogl.mo +0 -0
  644. data/vendor/local/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo +0 -0
  645. data/vendor/local/share/locale/hu/LC_MESSAGES/clutter-1.0.mo +0 -0
  646. data/vendor/local/share/locale/hu/LC_MESSAGES/cogl.mo +0 -0
  647. data/vendor/local/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo +0 -0
  648. data/vendor/local/share/locale/id/LC_MESSAGES/clutter-1.0.mo +0 -0
  649. data/vendor/local/share/locale/id/LC_MESSAGES/cogl.mo +0 -0
  650. data/vendor/local/share/locale/id/LC_MESSAGES/json-glib-1.0.mo +0 -0
  651. data/vendor/local/share/locale/it/LC_MESSAGES/clutter-1.0.mo +0 -0
  652. data/vendor/local/share/locale/it/LC_MESSAGES/cogl.mo +0 -0
  653. data/vendor/local/share/locale/it/LC_MESSAGES/json-glib-1.0.mo +0 -0
  654. data/vendor/local/share/locale/ja/LC_MESSAGES/clutter-1.0.mo +0 -0
  655. data/vendor/local/share/locale/ja/LC_MESSAGES/cogl.mo +0 -0
  656. data/vendor/local/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo +0 -0
  657. data/vendor/local/share/locale/km/LC_MESSAGES/clutter-1.0.mo +0 -0
  658. data/vendor/local/share/locale/km/LC_MESSAGES/cogl.mo +0 -0
  659. data/vendor/local/share/locale/kn/LC_MESSAGES/clutter-1.0.mo +0 -0
  660. data/vendor/local/share/locale/kn/LC_MESSAGES/cogl.mo +0 -0
  661. data/vendor/local/share/locale/ko/LC_MESSAGES/clutter-1.0.mo +0 -0
  662. data/vendor/local/share/locale/ko/LC_MESSAGES/cogl.mo +0 -0
  663. data/vendor/local/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo +0 -0
  664. data/vendor/local/share/locale/ky/LC_MESSAGES/json-glib-1.0.mo +0 -0
  665. data/vendor/local/share/locale/lt/LC_MESSAGES/clutter-1.0.mo +0 -0
  666. data/vendor/local/share/locale/lt/LC_MESSAGES/cogl.mo +0 -0
  667. data/vendor/local/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo +0 -0
  668. data/vendor/local/share/locale/lv/LC_MESSAGES/clutter-1.0.mo +0 -0
  669. data/vendor/local/share/locale/lv/LC_MESSAGES/cogl.mo +0 -0
  670. data/vendor/local/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo +0 -0
  671. data/vendor/local/share/locale/mk/LC_MESSAGES/clutter-1.0.mo +0 -0
  672. data/vendor/local/share/locale/ml/LC_MESSAGES/clutter-1.0.mo +0 -0
  673. data/vendor/local/share/locale/ml/LC_MESSAGES/cogl.mo +0 -0
  674. data/vendor/local/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo +0 -0
  675. data/vendor/local/share/locale/nb/LC_MESSAGES/clutter-1.0.mo +0 -0
  676. data/vendor/local/share/locale/nb/LC_MESSAGES/cogl.mo +0 -0
  677. data/vendor/local/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo +0 -0
  678. data/vendor/local/share/locale/nl/LC_MESSAGES/clutter-1.0.mo +0 -0
  679. data/vendor/local/share/locale/nl/LC_MESSAGES/cogl.mo +0 -0
  680. data/vendor/local/share/locale/or/LC_MESSAGES/clutter-1.0.mo +0 -0
  681. data/vendor/local/share/locale/or/LC_MESSAGES/cogl.mo +0 -0
  682. data/vendor/local/share/locale/or/LC_MESSAGES/json-glib-1.0.mo +0 -0
  683. data/vendor/local/share/locale/pa/LC_MESSAGES/clutter-1.0.mo +0 -0
  684. data/vendor/local/share/locale/pa/LC_MESSAGES/cogl.mo +0 -0
  685. data/vendor/local/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo +0 -0
  686. data/vendor/local/share/locale/pl/LC_MESSAGES/clutter-1.0.mo +0 -0
  687. data/vendor/local/share/locale/pl/LC_MESSAGES/cogl.mo +0 -0
  688. data/vendor/local/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  689. data/vendor/local/share/locale/ps/LC_MESSAGES/clutter-1.0.mo +0 -0
  690. data/vendor/local/share/locale/pt/LC_MESSAGES/clutter-1.0.mo +0 -0
  691. data/vendor/local/share/locale/pt/LC_MESSAGES/cogl.mo +0 -0
  692. data/vendor/local/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo +0 -0
  693. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/clutter-1.0.mo +0 -0
  694. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/cogl.mo +0 -0
  695. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo +0 -0
  696. data/vendor/local/share/locale/ro/LC_MESSAGES/clutter-1.0.mo +0 -0
  697. data/vendor/local/share/locale/ru/LC_MESSAGES/clutter-1.0.mo +0 -0
  698. data/vendor/local/share/locale/ru/LC_MESSAGES/cogl.mo +0 -0
  699. data/vendor/local/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo +0 -0
  700. data/vendor/local/share/locale/sk/LC_MESSAGES/clutter-1.0.mo +0 -0
  701. data/vendor/local/share/locale/sk/LC_MESSAGES/cogl.mo +0 -0
  702. data/vendor/local/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo +0 -0
  703. data/vendor/local/share/locale/sl/LC_MESSAGES/clutter-1.0.mo +0 -0
  704. data/vendor/local/share/locale/sl/LC_MESSAGES/cogl.mo +0 -0
  705. data/vendor/local/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  706. data/vendor/local/share/locale/sr/LC_MESSAGES/clutter-1.0.mo +0 -0
  707. data/vendor/local/share/locale/sr/LC_MESSAGES/cogl.mo +0 -0
  708. data/vendor/local/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo +0 -0
  709. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/clutter-1.0.mo +0 -0
  710. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/cogl.mo +0 -0
  711. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo +0 -0
  712. data/vendor/local/share/locale/sv/LC_MESSAGES/clutter-1.0.mo +0 -0
  713. data/vendor/local/share/locale/sv/LC_MESSAGES/cogl.mo +0 -0
  714. data/vendor/local/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo +0 -0
  715. data/vendor/local/share/locale/ta/LC_MESSAGES/clutter-1.0.mo +0 -0
  716. data/vendor/local/share/locale/ta/LC_MESSAGES/cogl.mo +0 -0
  717. data/vendor/local/share/locale/te/LC_MESSAGES/clutter-1.0.mo +0 -0
  718. data/vendor/local/share/locale/te/LC_MESSAGES/cogl.mo +0 -0
  719. data/vendor/local/share/locale/te/LC_MESSAGES/json-glib-1.0.mo +0 -0
  720. data/vendor/local/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo +0 -0
  721. data/vendor/local/share/locale/th/LC_MESSAGES/cogl.mo +0 -0
  722. data/vendor/local/share/locale/tr/LC_MESSAGES/clutter-1.0.mo +0 -0
  723. data/vendor/local/share/locale/tr/LC_MESSAGES/cogl.mo +0 -0
  724. data/vendor/local/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo +0 -0
  725. data/vendor/local/share/locale/ug/LC_MESSAGES/clutter-1.0.mo +0 -0
  726. data/vendor/local/share/locale/ug/LC_MESSAGES/cogl.mo +0 -0
  727. data/vendor/local/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo +0 -0
  728. data/vendor/local/share/locale/uk/LC_MESSAGES/clutter-1.0.mo +0 -0
  729. data/vendor/local/share/locale/uk/LC_MESSAGES/cogl.mo +0 -0
  730. data/vendor/local/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo +0 -0
  731. data/vendor/local/share/locale/ur/LC_MESSAGES/clutter-1.0.mo +0 -0
  732. data/vendor/local/share/locale/vi/LC_MESSAGES/cogl.mo +0 -0
  733. data/vendor/local/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo +0 -0
  734. data/vendor/local/share/locale/yi/LC_MESSAGES/clutter-1.0.mo +0 -0
  735. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/clutter-1.0.mo +0 -0
  736. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/cogl.mo +0 -0
  737. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo +0 -0
  738. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/clutter-1.0.mo +0 -0
  739. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/cogl.mo +0 -0
  740. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo +0 -0
  741. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/clutter-1.0.mo +0 -0
  742. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/cogl.mo +0 -0
  743. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo +0 -0
  744. metadata +869 -0
@@ -0,0 +1,866 @@
1
+ /*
2
+ * Cogl
3
+ *
4
+ * A Low Level GPU Graphics and Utilities API
5
+ *
6
+ * Copyright (C) 2011, 2013 Intel Corporation.
7
+ *
8
+ * Permission is hereby granted, free of charge, to any person
9
+ * obtaining a copy of this software and associated documentation
10
+ * files (the "Software"), to deal in the Software without
11
+ * restriction, including without limitation the rights to use, copy,
12
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
13
+ * of the Software, and to permit persons to whom the Software is
14
+ * furnished to do so, subject to the following conditions:
15
+ *
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ * SOFTWARE.
27
+ *
28
+ *
29
+ *
30
+ * Authors:
31
+ * Neil Roberts <neil@linux.intel.com>
32
+ */
33
+
34
+ #if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
35
+ #error "Only <cogl/cogl.h> can be included directly."
36
+ #endif
37
+
38
+ #ifndef __COGL_SNIPPET_H__
39
+ #define __COGL_SNIPPET_H__
40
+
41
+ COGL_BEGIN_DECLS
42
+
43
+ /**
44
+ * SECTION:cogl-snippet
45
+ * @short_description: Functions for creating and manipulating shader snippets
46
+ *
47
+ * #CoglSnippet<!-- -->s are used to modify or replace parts of a
48
+ * #CoglPipeline using GLSL. GLSL is a programming language supported
49
+ * by OpenGL on programmable hardware to provide a more flexible
50
+ * description of what should be rendered. A description of GLSL
51
+ * itself is outside the scope of this documentation but any good
52
+ * OpenGL book should help to describe it.
53
+ *
54
+ * Unlike in OpenGL, when using GLSL with Cogl it is possible to write
55
+ * short snippets to replace small sections of the pipeline instead of
56
+ * having to replace the whole of either the vertex or fragment
57
+ * pipelines. Of course it is also possible to replace the whole of
58
+ * the pipeline if needed.
59
+ *
60
+ * Each snippet is a standalone chunk of code which would attach to
61
+ * the pipeline at a particular point. The code is split into four
62
+ * separate strings (all of which are optional):
63
+ *
64
+ * <glosslist>
65
+ * <glossentry>
66
+ * <glossterm>declarations</glossterm>
67
+ * <glossdef><para>
68
+ * The code in this string will be inserted outside of any function in
69
+ * the global scope of the shader. This can be used to declare
70
+ * uniforms, attributes, varyings and functions to be used by the
71
+ * snippet.
72
+ * </para></glossdef>
73
+ * </glossentry>
74
+ * <glossentry>
75
+ * <glossterm>pre</glossterm>
76
+ * <glossdef><para>
77
+ * The code in this string will be inserted before the hook point.
78
+ * </para></glossdef>
79
+ * </glossentry>
80
+ * <glossentry>
81
+ * <glossterm>post</glossterm>
82
+ * <glossdef><para>
83
+ * The code in this string will be inserted after the hook point. This
84
+ * can be used to modify the results of the builtin generated code for
85
+ * that hook point.
86
+ * </para></glossdef>
87
+ * </glossentry>
88
+ * <glossentry>
89
+ * <glossterm>replace</glossterm>
90
+ * <glossdef><para>
91
+ * If present the code in this string will replace the generated code
92
+ * for the hook point.
93
+ * </para></glossdef>
94
+ * </glossentry>
95
+ * </glosslist>
96
+ *
97
+ * All of the strings apart from the declarations string of a pipeline
98
+ * are generated in a single function so they can share variables
99
+ * declared from one string in another. The scope of the code is
100
+ * limited to each snippet so local variables declared in the snippet
101
+ * will not collide with variables declared in another
102
+ * snippet. However, code in the 'declarations' string is global to
103
+ * the shader so it is the application's responsibility to ensure that
104
+ * variables declared here will not collide with those from other
105
+ * snippets.
106
+ *
107
+ * The snippets can be added to a pipeline with
108
+ * cogl_pipeline_add_snippet() or
109
+ * cogl_pipeline_add_layer_snippet(). Which function to use depends on
110
+ * which hook the snippet is targetting. The snippets are all
111
+ * generated in the order they are added to the pipeline. That is, the
112
+ * post strings are executed in the order they are added to the
113
+ * pipeline and the pre strings are executed in reverse order. If any
114
+ * replace strings are given for a snippet then any other snippets
115
+ * with the same hook added before that snippet will be ignored. The
116
+ * different hooks are documented under #CoglSnippetHook.
117
+ *
118
+ * For portability with GLES2, it is recommended not to use the GLSL
119
+ * builtin names such as gl_FragColor. Instead there are replacement
120
+ * names under the cogl_* namespace which can be used instead. These
121
+ * are:
122
+ *
123
+ * <glosslist>
124
+ * <glossentry>
125
+ * <glossterm>uniform mat4
126
+ * <emphasis>cogl_modelview_matrix</emphasis></glossterm>
127
+ * <glossdef><para>
128
+ * The current modelview matrix. This is equivalent to
129
+ * #gl_ModelViewMatrix.
130
+ * </para></glossdef>
131
+ * </glossentry>
132
+ * <glossentry>
133
+ * <glossterm>uniform mat4
134
+ * <emphasis>cogl_projection_matrix</emphasis></glossterm>
135
+ * <glossdef><para>
136
+ * The current projection matrix. This is equivalent to
137
+ * #gl_ProjectionMatrix.
138
+ * </para></glossdef>
139
+ * </glossentry>
140
+ * <glossentry>
141
+ * <glossterm>uniform mat4
142
+ * <emphasis>cogl_modelview_projection_matrix</emphasis></glossterm>
143
+ * <glossdef><para>
144
+ * The combined modelview and projection matrix. A vertex shader
145
+ * would typically use this to transform the incoming vertex
146
+ * position. The separate modelview and projection matrices are
147
+ * usually only needed for lighting calculations. This is
148
+ * equivalent to #gl_ModelViewProjectionMatrix.
149
+ * </para></glossdef>
150
+ * </glossentry>
151
+ * <glossentry>
152
+ * <glossterm>uniform mat4
153
+ * <emphasis>cogl_texture_matrix</emphasis>[]</glossterm>
154
+ * <glossdef><para>
155
+ * An array of matrices for transforming the texture
156
+ * coordinates. This is equivalent to #gl_TextureMatrix.
157
+ * </para></glossdef>
158
+ * </glossentry>
159
+ * </glosslist>
160
+ *
161
+ * In a vertex shader, the following are also available:
162
+ *
163
+ * <glosslist>
164
+ * <glossentry>
165
+ * <glossterm>attribute vec4
166
+ * <emphasis>cogl_position_in</emphasis></glossterm>
167
+ * <glossdef><para>
168
+ * The incoming vertex position. This is equivalent to #gl_Vertex.
169
+ * </para></glossdef>
170
+ * </glossentry>
171
+ * <glossentry>
172
+ * <glossterm>attribute vec4
173
+ * <emphasis>cogl_color_in</emphasis></glossterm>
174
+ * <glossdef><para>
175
+ * The incoming vertex color. This is equivalent to #gl_Color.
176
+ * </para></glossdef>
177
+ * </glossentry>
178
+ * <glossentry>
179
+ * <glossterm>attribute vec4
180
+ * <emphasis>cogl_tex_coord_in</emphasis></glossterm>
181
+ * <glossdef><para>
182
+ * The texture coordinate for layer 0. This is an alternative name
183
+ * for #cogl_tex_coord0_in.
184
+ * </para></glossdef>
185
+ * </glossentry>
186
+ * <glossentry>
187
+ * <glossterm>attribute vec4
188
+ * <emphasis>cogl_tex_coord0_in</emphasis></glossterm>
189
+ * <glossdef><para>
190
+ * The texture coordinate for the layer 0. This is equivalent to
191
+ * #gl_MultiTexCoord0. There will also be #cogl_tex_coord1_in and
192
+ * so on if more layers are added to the pipeline.
193
+ * </para></glossdef>
194
+ * </glossentry>
195
+ * <glossentry>
196
+ * <glossterm>attribute vec3
197
+ * <emphasis>cogl_normal_in</emphasis></glossterm>
198
+ * <glossdef><para>
199
+ * The normal of the vertex. This is equivalent to #gl_Normal.
200
+ * </para></glossdef>
201
+ * </glossentry>
202
+ * <glossentry>
203
+ * <glossterm>vec4
204
+ * <emphasis>cogl_position_out</emphasis></glossterm>
205
+ * <glossdef><para>
206
+ * The calculated position of the vertex. This must be written to
207
+ * in all vertex shaders. This is equivalent to #gl_Position.
208
+ * </para></glossdef>
209
+ * </glossentry>
210
+ * <glossentry>
211
+ * <glossterm>float
212
+ * <emphasis>cogl_point_size_in</emphasis></glossterm>
213
+ * <glossdef><para>
214
+ * The incoming point size from the cogl_point_size_in attribute.
215
+ * This is only available if
216
+ * cogl_pipeline_set_per_vertex_point_size() is set on the
217
+ * pipeline.
218
+ * </para></glossdef>
219
+ * </glossentry>
220
+ * <glossentry>
221
+ * <glossterm>float
222
+ * <emphasis>cogl_point_size_out</emphasis></glossterm>
223
+ * <glossdef><para>
224
+ * The calculated size of a point. This is equivalent to #gl_PointSize.
225
+ * </para></glossdef>
226
+ * </glossentry>
227
+ * <glossentry>
228
+ * <glossterm>varying vec4
229
+ * <emphasis>cogl_color_out</emphasis></glossterm>
230
+ * <glossdef><para>
231
+ * The calculated color of a vertex. This is equivalent to #gl_FrontColor.
232
+ * </para></glossdef>
233
+ * </glossentry>
234
+ * <glossentry>
235
+ * <glossterm>varying vec4
236
+ * <emphasis>cogl_tex_coord0_out</emphasis></glossterm>
237
+ * <glossdef><para>
238
+ * The calculated texture coordinate for layer 0 of the pipeline.
239
+ * This is equivalent to #gl_TexCoord[0]. There will also be
240
+ * #cogl_tex_coord1_out and so on if more layers are added to the
241
+ * pipeline. In the fragment shader, this varying is called
242
+ * #cogl_tex_coord0_in.
243
+ * </para></glossdef>
244
+ * </glossentry>
245
+ * </glosslist>
246
+ *
247
+ * In a fragment shader, the following are also available:
248
+ *
249
+ * <glosslist>
250
+ * <glossentry>
251
+ * <glossterm>varying vec4 <emphasis>cogl_color_in</emphasis></glossterm>
252
+ * <glossdef><para>
253
+ * The calculated color of a vertex. This is equivalent to #gl_FrontColor.
254
+ * </para></glossdef>
255
+ * </glossentry>
256
+ * <glossentry>
257
+ * <glossterm>varying vec4
258
+ * <emphasis>cogl_tex_coord0_in</emphasis></glossterm>
259
+ * <glossdef><para>
260
+ * The texture coordinate for layer 0. This is equivalent to
261
+ * #gl_TexCoord[0]. There will also be #cogl_tex_coord1_in and so
262
+ * on if more layers are added to the pipeline.
263
+ * </para></glossdef>
264
+ * </glossentry>
265
+ * <glossentry>
266
+ * <glossterm>vec4 <emphasis>cogl_color_out</emphasis></glossterm>
267
+ * <glossdef><para>
268
+ * The final calculated color of the fragment. All fragment shaders
269
+ * must write to this variable. This is equivalent to
270
+ * #gl_FrontColor.
271
+ * </para></glossdef>
272
+ * </glossentry>
273
+ * <glossentry>
274
+ * <glossterm>float <emphasis>cogl_depth_out</emphasis></glossterm>
275
+ * <glossdef><para>
276
+ * An optional output variable specifying the depth value to use
277
+ * for this fragment. This is equivalent to #gl_FragDepth.
278
+ * </para></glossdef>
279
+ * </glossentry>
280
+ * <glossentry>
281
+ * <glossterm>bool <emphasis>cogl_front_facing</emphasis></glossterm>
282
+ * <glossdef><para>
283
+ * A readonly variable that will be true if the current primitive
284
+ * is front facing. This can be used to implement two-sided
285
+ * coloring algorithms. This is equivalent to #gl_FrontFacing.
286
+ * </para></glossdef>
287
+ * </glossentry>
288
+ * <glossentry>
289
+ * <glossterm>vec2 <emphasis>cogl_point_coord</emphasis></glossterm>
290
+ * <glossdef><para>
291
+ * When rendering points, this will contain a vec2 which represents
292
+ * the position within the point of the current fragment.
293
+ * vec2(0.0,0.0) will be the topleft of the point and vec2(1.0,1.0)
294
+ * will be the bottom right. Note that there is currently a bug in
295
+ * Cogl where when rendering to an offscreen buffer these
296
+ * coordinates will be upside-down. The value is undefined when not
297
+ * rendering points. This builtin can only be used if the
298
+ * %COGL_FEATURE_ID_POINT_SPRITE feature is available.
299
+ * </para></glossdef>
300
+ * </glossentry>
301
+ * </glosslist>
302
+ *
303
+ * Here is an example of using a snippet to add a desaturate effect to the
304
+ * generated color on a pipeline.
305
+ *
306
+ * <programlisting>
307
+ * CoglPipeline *pipeline = cogl_pipeline_new ();
308
+ *
309
+ * /<!-- -->* Set up the pipeline here, ie by adding a texture or other
310
+ * layers *<!-- -->/
311
+ *
312
+ * /<!-- -->* Create the snippet. The first string is the declarations which
313
+ * we will use to add a uniform. The second is the 'post' string which
314
+ * will contain the code to perform the desaturation. *<!-- -->/
315
+ * CoglSnippet *snippet =
316
+ * cogl_snippet_new (COGL_SNIPPET_HOOK_FRAGMENT,
317
+ * "uniform float factor;",
318
+ * "float gray = dot (vec3 (0.299, 0.587, 0.114), "
319
+ * " cogl_color_out.rgb);"
320
+ * "cogl_color_out.rgb = mix (vec3 (gray),"
321
+ * " cogl_color_out.rgb,"
322
+ * " factor);");
323
+ *
324
+ * /<!-- -->* Add it to the pipeline *<!-- -->/
325
+ * cogl_pipeline_add_snippet (pipeline, snippet);
326
+ * /<!-- -->* The pipeline keeps a reference to the snippet
327
+ * so we don't need to *<!-- -->/
328
+ * cogl_object_unref (snippet);
329
+ *
330
+ * /<!-- -->* Update the custom uniform on the pipeline *<!-- -->/
331
+ * int location = cogl_pipeline_get_uniform_location (pipeline, "factor");
332
+ * cogl_pipeline_set_uniform_1f (pipeline, location, 0.5f);
333
+ *
334
+ * /<!-- -->* Now we can render with the snippet as usual *<!-- -->/
335
+ * cogl_push_source (pipeline);
336
+ * cogl_rectangle (0, 0, 10, 10);
337
+ * cogl_pop_source ();
338
+ * </programlisting>
339
+ */
340
+ typedef struct _CoglSnippet CoglSnippet;
341
+
342
+ #define COGL_SNIPPET(OBJECT) ((CoglSnippet *)OBJECT)
343
+
344
+ #ifdef COGL_HAS_GTYPE_SUPPORT
345
+ /**
346
+ * cogl_snippet_get_gtype:
347
+ *
348
+ * Returns: a #GType that can be used with the GLib type system.
349
+ */
350
+ GType cogl_snippet_get_gtype (void);
351
+ #endif
352
+
353
+ /* Enumeration of all the hook points that a snippet can be attached
354
+ to within a pipeline. */
355
+ /**
356
+ * CoglSnippetHook:
357
+ * @COGL_SNIPPET_HOOK_VERTEX_GLOBALS: A hook for declaring global data
358
+ * that can be shared with all other snippets that are on a vertex
359
+ * hook.
360
+ * @COGL_SNIPPET_HOOK_FRAGMENT_GLOBALS: A hook for declaring global
361
+ * data wthat can be shared with all other snippets that are on a
362
+ * fragment hook.
363
+ * @COGL_SNIPPET_HOOK_VERTEX: A hook for the entire vertex processing
364
+ * stage of the pipeline.
365
+ * @COGL_SNIPPET_HOOK_VERTEX_TRANSFORM: A hook for the vertex transformation.
366
+ * @COGL_SNIPPET_HOOK_POINT_SIZE: A hook for manipulating the point
367
+ * size of a vertex. This is only used if
368
+ * cogl_pipeline_set_per_vertex_point_size() is enabled on the
369
+ * pipeline.
370
+ * @COGL_SNIPPET_HOOK_FRAGMENT: A hook for the entire fragment
371
+ * processing stage of the pipeline.
372
+ * @COGL_SNIPPET_HOOK_TEXTURE_COORD_TRANSFORM: A hook for applying the
373
+ * layer matrix to a texture coordinate for a layer.
374
+ * @COGL_SNIPPET_HOOK_LAYER_FRAGMENT: A hook for the fragment
375
+ * processing of a particular layer.
376
+ * @COGL_SNIPPET_HOOK_TEXTURE_LOOKUP: A hook for the texture lookup
377
+ * stage of a given layer in a pipeline.
378
+ *
379
+ * #CoglSnippetHook is used to specify a location within a
380
+ * #CoglPipeline where the code of the snippet should be used when it
381
+ * is attached to a pipeline.
382
+ *
383
+ * <glosslist>
384
+ * <glossentry>
385
+ * <glossterm>%COGL_SNIPPET_HOOK_VERTEX_GLOBALS</glossterm>
386
+ * <glossdef>
387
+ * <para>
388
+ * Adds a shader snippet at the beginning of the global section of the
389
+ * shader for the vertex processing. Any declarations here can be
390
+ * shared with all other snippets that are attached to a vertex hook.
391
+ * Only the ‘declarations’ string is used and the other strings are
392
+ * ignored.
393
+ * </para>
394
+ * </glossdef>
395
+ * </glossentry>
396
+ * <glossentry>
397
+ * <glossterm>%COGL_SNIPPET_HOOK_FRAGMENT_GLOBALS</glossterm>
398
+ * <glossdef>
399
+ * <para>
400
+ * Adds a shader snippet at the beginning of the global section of the
401
+ * shader for the fragment processing. Any declarations here can be
402
+ * shared with all other snippets that are attached to a fragment
403
+ * hook. Only the ‘declarations’ string is used and the other strings
404
+ * are ignored.
405
+ * </para>
406
+ * </glossdef>
407
+ * </glossentry>
408
+ * <glossentry>
409
+ * <glossterm>%COGL_SNIPPET_HOOK_VERTEX</glossterm>
410
+ * <glossdef>
411
+ * <para>
412
+ * Adds a shader snippet that will hook on to the vertex processing
413
+ * stage of the pipeline. This gives a chance for the application to
414
+ * modify the vertex attributes generated by the shader. Typically the
415
+ * snippet will modify cogl_color_out or cogl_position_out builtins.
416
+ * </para>
417
+ * <para>
418
+ * The ‘declarations’ string in @snippet will be inserted in the
419
+ * global scope of the shader. Use this to declare any uniforms,
420
+ * attributes or functions that the snippet requires.
421
+ * </para>
422
+ * <para>
423
+ * The ‘pre’ string in @snippet will be inserted at the top of the
424
+ * main() function before any vertex processing is done.
425
+ * </para>
426
+ * <para>
427
+ * The ‘replace’ string in @snippet will be used instead of the
428
+ * generated vertex processing if it is present. This can be used if
429
+ * the application wants to provide a complete vertex shader and
430
+ * doesn't need the generated output from Cogl.
431
+ * </para>
432
+ * <para>
433
+ * The ‘post’ string in @snippet will be inserted after all of the
434
+ * standard vertex processing is done. This can be used to modify the
435
+ * outputs.
436
+ * </para>
437
+ * </glossdef>
438
+ * </glossentry>
439
+ * <glossentry>
440
+ * <glossterm>%COGL_SNIPPET_HOOK_VERTEX_TRANSFORM</glossterm>
441
+ * <glossdef>
442
+ * <para>
443
+ * Adds a shader snippet that will hook on to the vertex transform stage.
444
+ * Typically the snippet will use the cogl_modelview_matrix,
445
+ * cogl_projection_matrix and cogl_modelview_projection_matrix matrices and the
446
+ * cogl_position_in attribute. The hook must write to cogl_position_out.
447
+ * The default processing for this hook will multiply cogl_position_in by
448
+ * the combined modelview-projection matrix and store it on cogl_position_out.
449
+ * </para>
450
+ * <para>
451
+ * The ‘declarations’ string in @snippet will be inserted in the
452
+ * global scope of the shader. Use this to declare any uniforms,
453
+ * attributes or functions that the snippet requires.
454
+ * </para>
455
+ * <para>
456
+ * The ‘pre’ string in @snippet will be inserted at the top of the
457
+ * main() function before the vertex transform is done.
458
+ * </para>
459
+ * <para>
460
+ * The ‘replace’ string in @snippet will be used instead of the
461
+ * generated vertex transform if it is present.
462
+ * </para>
463
+ * <para>
464
+ * The ‘post’ string in @snippet will be inserted after all of the
465
+ * standard vertex transformation is done. This can be used to modify the
466
+ * cogl_position_out in addition to the default processing.
467
+ * </para>
468
+ * </glossdef>
469
+ * </glossentry>
470
+ * <glossentry>
471
+ * <glossterm>%COGL_SNIPPET_HOOK_POINT_SIZE</glossterm>
472
+ * <glossdef>
473
+ * <para>
474
+ * Adds a shader snippet that will hook on to the point size
475
+ * calculation step within the vertex shader stage. The snippet should
476
+ * write to the builtin cogl_point_size_out with the new point size.
477
+ * The snippet can either read cogl_point_size_in directly and write a
478
+ * new value or first read an existing value in cogl_point_size_out
479
+ * that would be set by a previous snippet. Note that this hook is
480
+ * only used if cogl_pipeline_set_per_vertex_point_size() is enabled
481
+ * on the pipeline.
482
+ * </para>
483
+ * <para>
484
+ * The ‘declarations’ string in @snippet will be inserted in the
485
+ * global scope of the shader. Use this to declare any uniforms,
486
+ * attributes or functions that the snippet requires.
487
+ * </para>
488
+ * <para>
489
+ * The ‘pre’ string in @snippet will be inserted just before
490
+ * calculating the point size.
491
+ * </para>
492
+ * <para>
493
+ * The ‘replace’ string in @snippet will be used instead of the
494
+ * generated point size calculation if it is present.
495
+ * </para>
496
+ * <para>
497
+ * The ‘post’ string in @snippet will be inserted after the
498
+ * standard point size calculation is done. This can be used to modify
499
+ * cogl_point_size_out in addition to the default processing.
500
+ * </para>
501
+ * </glossdef>
502
+ * </glossentry>
503
+ * <glossentry>
504
+ * <glossterm>%COGL_SNIPPET_HOOK_FRAGMENT</glossterm>
505
+ * <glossdef>
506
+ * <para>
507
+ * Adds a shader snippet that will hook on to the fragment processing
508
+ * stage of the pipeline. This gives a chance for the application to
509
+ * modify the fragment color generated by the shader. Typically the
510
+ * snippet will modify cogl_color_out.
511
+ * </para>
512
+ * <para>
513
+ * The ‘declarations’ string in @snippet will be inserted in the
514
+ * global scope of the shader. Use this to declare any uniforms,
515
+ * attributes or functions that the snippet requires.
516
+ * </para>
517
+ * <para>
518
+ * The ‘pre’ string in @snippet will be inserted at the top of the
519
+ * main() function before any fragment processing is done.
520
+ * </para>
521
+ * <para>
522
+ * The ‘replace’ string in @snippet will be used instead of the
523
+ * generated fragment processing if it is present. This can be used if
524
+ * the application wants to provide a complete fragment shader and
525
+ * doesn't need the generated output from Cogl.
526
+ * </para>
527
+ * <para>
528
+ * The ‘post’ string in @snippet will be inserted after all of the
529
+ * standard fragment processing is done. At this point the generated
530
+ * value for the rest of the pipeline state will already be in
531
+ * cogl_color_out so the application can modify the result by altering
532
+ * this variable.
533
+ * </para>
534
+ * </glossdef>
535
+ * </glossentry>
536
+ * <glossentry>
537
+ * <glossterm>%COGL_SNIPPET_HOOK_TEXTURE_COORD_TRANSFORM</glossterm>
538
+ * <glossdef>
539
+ * <para>
540
+ * Adds a shader snippet that will hook on to the texture coordinate
541
+ * transformation of a particular layer. This can be used to replace
542
+ * the processing for a layer or to modify the results.
543
+ * </para>
544
+ * <para>
545
+ * Within the snippet code for this hook there are two extra
546
+ * variables. The first is a mat4 called cogl_matrix which represents
547
+ * the user matrix for this layer. The second is called cogl_tex_coord
548
+ * and represents the incoming and outgoing texture coordinate. On
549
+ * entry to the hook, cogl_tex_coord contains the value of the
550
+ * corresponding texture coordinate attribute for this layer. The hook
551
+ * is expected to modify this variable. The output will be passed as a
552
+ * varying to the fragment processing stage. The default code will
553
+ * just multiply cogl_matrix by cogl_tex_coord and store the result in
554
+ * cogl_tex_coord.
555
+ * </para>
556
+ * <para>
557
+ * The ‘declarations’ string in @snippet will be inserted in the
558
+ * global scope of the shader. Use this to declare any uniforms,
559
+ * attributes or functions that the snippet requires.
560
+ * </para>
561
+ * <para>
562
+ * The ‘pre’ string in @snippet will be inserted just before the
563
+ * fragment processing for this layer. At this point cogl_tex_coord
564
+ * still contains the value of the texture coordinate attribute.
565
+ * </para>
566
+ * <para>
567
+ * If a ‘replace’ string is given then this will be used instead of
568
+ * the default fragment processing for this layer. The snippet can
569
+ * modify cogl_tex_coord or leave it as is to apply no transformation.
570
+ * </para>
571
+ * <para>
572
+ * The ‘post’ string in @snippet will be inserted just after the
573
+ * transformation. At this point cogl_tex_coord will contain the
574
+ * results of the transformation but it can be further modified by the
575
+ * snippet.
576
+ * </para>
577
+ * </glossdef>
578
+ * </glossentry>
579
+ * <glossentry>
580
+ * <glossterm>%COGL_SNIPPET_HOOK_LAYER_FRAGMENT</glossterm>
581
+ * <glossdef>
582
+ * <para>
583
+ * Adds a shader snippet that will hook on to the fragment processing
584
+ * of a particular layer. This can be used to replace the processing
585
+ * for a layer or to modify the results.
586
+ * </para>
587
+ * <para>
588
+ * Within the snippet code for this hook there is an extra vec4
589
+ * variable called ‘cogl_layer’. This contains the resulting color
590
+ * that will be used for the layer. This can be modified in the ‘post’
591
+ * section or it the default processing can be replaced entirely using
592
+ * the ‘replace’ section.
593
+ * </para>
594
+ * <para>
595
+ * The ‘declarations’ string in @snippet will be inserted in the
596
+ * global scope of the shader. Use this to declare any uniforms,
597
+ * attributes or functions that the snippet requires.
598
+ * </para>
599
+ * <para>
600
+ * The ‘pre’ string in @snippet will be inserted just before the
601
+ * fragment processing for this layer.
602
+ * </para>
603
+ * <para>
604
+ * If a ‘replace’ string is given then this will be used instead of
605
+ * the default fragment processing for this layer. The snippet must write to
606
+ * the ‘cogl_layer’ variable in that case.
607
+ * </para>
608
+ * <para>
609
+ * The ‘post’ string in @snippet will be inserted just after the
610
+ * fragment processing for the layer. The results can be modified by changing
611
+ * the value of the ‘cogl_layer’ variable.
612
+ * </para>
613
+ * </glossdef>
614
+ * </glossentry>
615
+ * <glossentry>
616
+ * <glossterm>%COGL_SNIPPET_HOOK_TEXTURE_LOOKUP</glossterm>
617
+ * <glossdef>
618
+ * <para>
619
+ * Adds a shader snippet that will hook on to the texture lookup part
620
+ * of a given layer. This gives a chance for the application to modify
621
+ * the coordinates that will be used for the texture lookup or to
622
+ * alter the returned texel.
623
+ * </para>
624
+ * <para>
625
+ * Within the snippet code for this hook there are three extra
626
+ * variables available. ‘cogl_sampler’ is a sampler object
627
+ * representing the sampler for the layer where the snippet is
628
+ * attached. ‘cogl_tex_coord’ is a vec4 which contains the texture
629
+ * coordinates that will be used for the texture lookup. This can be
630
+ * modified. ‘cogl_texel’ will contain the result of the texture
631
+ * lookup. This can also be modified.
632
+ * </para>
633
+ * <para>
634
+ * The ‘declarations’ string in @snippet will be inserted in the
635
+ * global scope of the shader. Use this to declare any uniforms,
636
+ * attributes or functions that the snippet requires.
637
+ * </para>
638
+ * <para>
639
+ * The ‘pre’ string in @snippet will be inserted at the top of the
640
+ * main() function before any fragment processing is done. This is a
641
+ * good place to modify the cogl_tex_coord variable.
642
+ * </para>
643
+ * <para>
644
+ * If a ‘replace’ string is given then this will be used instead of a
645
+ * the default texture lookup. The snippet would typically use its own
646
+ * sampler in this case.
647
+ * </para>
648
+ * <para>
649
+ * The ‘post’ string in @snippet will be inserted after texture lookup
650
+ * has been preformed. Here the snippet can modify the cogl_texel
651
+ * variable to alter the returned texel.
652
+ * </para>
653
+ * </glossdef>
654
+ * </glossentry>
655
+ * </glosslist>
656
+ *
657
+ * Since: 1.10
658
+ * Stability: Unstable
659
+ */
660
+ typedef enum {
661
+ /* Per pipeline vertex hooks */
662
+ COGL_SNIPPET_HOOK_VERTEX = 0,
663
+ COGL_SNIPPET_HOOK_VERTEX_TRANSFORM,
664
+ COGL_SNIPPET_HOOK_VERTEX_GLOBALS,
665
+ COGL_SNIPPET_HOOK_POINT_SIZE,
666
+
667
+ /* Per pipeline fragment hooks */
668
+ COGL_SNIPPET_HOOK_FRAGMENT = 2048,
669
+ COGL_SNIPPET_HOOK_FRAGMENT_GLOBALS,
670
+
671
+ /* Per layer vertex hooks */
672
+ COGL_SNIPPET_HOOK_TEXTURE_COORD_TRANSFORM = 4096,
673
+
674
+ /* Per layer fragment hooks */
675
+ COGL_SNIPPET_HOOK_LAYER_FRAGMENT = 6144,
676
+ COGL_SNIPPET_HOOK_TEXTURE_LOOKUP
677
+ } CoglSnippetHook;
678
+
679
+ /**
680
+ * cogl_snippet_new:
681
+ * @hook: The point in the pipeline that this snippet will wrap around
682
+ * or replace.
683
+ * @declarations: The source code for the declarations for this
684
+ * snippet or %NULL. See cogl_snippet_set_declarations().
685
+ * @post: The source code to run after the hook point where this
686
+ * shader snippet is attached or %NULL. See cogl_snippet_set_post().
687
+ *
688
+ * Allocates and initializes a new snippet with the given source strings.
689
+ *
690
+ * Return value: a pointer to a new #CoglSnippet
691
+ *
692
+ * Since: 1.10
693
+ * Stability: Unstable
694
+ */
695
+ CoglSnippet *
696
+ cogl_snippet_new (CoglSnippetHook hook,
697
+ const char *declarations,
698
+ const char *post);
699
+
700
+ /**
701
+ * cogl_snippet_get_hook:
702
+ * @snippet: A #CoglSnippet
703
+ *
704
+ * Return value: the hook that was set when cogl_snippet_new() was
705
+ * called.
706
+ * Since: 1.10
707
+ * Stability: Unstable
708
+ */
709
+ CoglSnippetHook
710
+ cogl_snippet_get_hook (CoglSnippet *snippet);
711
+
712
+ /**
713
+ * cogl_is_snippet:
714
+ * @object: A #CoglObject pointer
715
+ *
716
+ * Gets whether the given @object references an existing snippet object.
717
+ *
718
+ * Return value: %TRUE if the @object references a #CoglSnippet,
719
+ * %FALSE otherwise
720
+ *
721
+ * Since: 1.10
722
+ * Stability: Unstable
723
+ */
724
+ CoglBool
725
+ cogl_is_snippet (void *object);
726
+
727
+ /**
728
+ * cogl_snippet_set_declarations:
729
+ * @snippet: A #CoglSnippet
730
+ * @declarations: The new source string for the declarations section
731
+ * of this snippet.
732
+ *
733
+ * Sets a source string that will be inserted in the global scope of
734
+ * the generated shader when this snippet is used on a pipeline. This
735
+ * string is typically used to declare uniforms, attributes or
736
+ * functions that will be used by the other parts of the snippets.
737
+ *
738
+ * This function should only be called before the snippet is attached
739
+ * to its first pipeline. After that the snippet should be considered
740
+ * immutable.
741
+ *
742
+ * Since: 1.10
743
+ * Stability: Unstable
744
+ */
745
+ void
746
+ cogl_snippet_set_declarations (CoglSnippet *snippet,
747
+ const char *declarations);
748
+
749
+ /**
750
+ * cogl_snippet_get_declarations:
751
+ * @snippet: A #CoglSnippet
752
+ *
753
+ * Return value: the source string that was set with
754
+ * cogl_snippet_set_declarations() or %NULL if none was set.
755
+ *
756
+ * Since: 1.10
757
+ * Stability: Unstable
758
+ */
759
+ const char *
760
+ cogl_snippet_get_declarations (CoglSnippet *snippet);
761
+
762
+ /**
763
+ * cogl_snippet_set_pre:
764
+ * @snippet: A #CoglSnippet
765
+ * @pre: The new source string for the pre section of this snippet.
766
+ *
767
+ * Sets a source string that will be inserted before the hook point in
768
+ * the generated shader for the pipeline that this snippet is attached
769
+ * to. Please see the documentation of each hook point in
770
+ * #CoglPipeline for a description of how this string should be used.
771
+ *
772
+ * This function should only be called before the snippet is attached
773
+ * to its first pipeline. After that the snippet should be considered
774
+ * immutable.
775
+ *
776
+ * Since: 1.10
777
+ * Stability: Unstable
778
+ */
779
+ void
780
+ cogl_snippet_set_pre (CoglSnippet *snippet,
781
+ const char *pre);
782
+
783
+ /**
784
+ * cogl_snippet_get_pre:
785
+ * @snippet: A #CoglSnippet
786
+ *
787
+ * Return value: the source string that was set with
788
+ * cogl_snippet_set_pre() or %NULL if none was set.
789
+ *
790
+ * Since: 1.10
791
+ * Stability: Unstable
792
+ */
793
+ const char *
794
+ cogl_snippet_get_pre (CoglSnippet *snippet);
795
+
796
+ /**
797
+ * cogl_snippet_set_replace:
798
+ * @snippet: A #CoglSnippet
799
+ * @replace: The new source string for the replace section of this snippet.
800
+ *
801
+ * Sets a source string that will be used instead of any generated
802
+ * source code or any previous snippets for this hook point. Please
803
+ * see the documentation of each hook point in #CoglPipeline for a
804
+ * description of how this string should be used.
805
+ *
806
+ * This function should only be called before the snippet is attached
807
+ * to its first pipeline. After that the snippet should be considered
808
+ * immutable.
809
+ *
810
+ * Since: 1.10
811
+ * Stability: Unstable
812
+ */
813
+ void
814
+ cogl_snippet_set_replace (CoglSnippet *snippet,
815
+ const char *replace);
816
+
817
+ /**
818
+ * cogl_snippet_get_replace:
819
+ * @snippet: A #CoglSnippet
820
+ *
821
+ * Return value: the source string that was set with
822
+ * cogl_snippet_set_replace() or %NULL if none was set.
823
+ *
824
+ * Since: 1.10
825
+ * Stability: Unstable
826
+ */
827
+ const char *
828
+ cogl_snippet_get_replace (CoglSnippet *snippet);
829
+
830
+ /**
831
+ * cogl_snippet_set_post:
832
+ * @snippet: A #CoglSnippet
833
+ * @post: The new source string for the post section of this snippet.
834
+ *
835
+ * Sets a source string that will be inserted after the hook point in
836
+ * the generated shader for the pipeline that this snippet is attached
837
+ * to. Please see the documentation of each hook point in
838
+ * #CoglPipeline for a description of how this string should be used.
839
+ *
840
+ * This function should only be called before the snippet is attached
841
+ * to its first pipeline. After that the snippet should be considered
842
+ * immutable.
843
+ *
844
+ * Since: 1.10
845
+ * Stability: Unstable
846
+ */
847
+ void
848
+ cogl_snippet_set_post (CoglSnippet *snippet,
849
+ const char *post);
850
+
851
+ /**
852
+ * cogl_snippet_get_post:
853
+ * @snippet: A #CoglSnippet
854
+ *
855
+ * Return value: the source string that was set with
856
+ * cogl_snippet_set_post() or %NULL if none was set.
857
+ *
858
+ * Since: 1.10
859
+ * Stability: Unstable
860
+ */
861
+ const char *
862
+ cogl_snippet_get_post (CoglSnippet *snippet);
863
+
864
+ COGL_END_DECLS
865
+
866
+ #endif /* __COGL_SNIPPET_H__ */