clutter 2.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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__ */