clutter 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (656) hide show
  1. data/Rakefile +129 -0
  2. data/lib/clutter.rb +145 -0
  3. data/lib/clutter/actor-iter.rb +33 -0
  4. data/lib/clutter/actor.rb +34 -0
  5. data/lib/clutter/animatable.rb +26 -0
  6. data/lib/clutter/cairo.rb +24 -0
  7. data/lib/clutter/color.rb +55 -0
  8. data/lib/clutter/event.rb +21 -0
  9. data/lib/clutter/point.rb +25 -0
  10. data/lib/clutter/text.rb +23 -0
  11. data/lib/clutter/threads.rb +38 -0
  12. data/sample/basic-actor.rb +125 -0
  13. data/sample/bin-layout.rb +215 -0
  14. data/sample/box-layout.rb +196 -0
  15. data/sample/canvas.rb +117 -0
  16. data/sample/constraints.rb +81 -0
  17. data/sample/drag-action.rb +177 -0
  18. data/sample/drop-action.rb +198 -0
  19. data/sample/easing-modes.rb +145 -0
  20. data/sample/flow-layout.rb +121 -0
  21. data/sample/grid-layout.rb +239 -0
  22. data/sample/image-content.rb +88 -0
  23. data/sample/pan-action.rb +100 -0
  24. data/sample/redhand.png +0 -0
  25. data/sample/rounded-rectangle.rb +90 -0
  26. data/sample/scroll-actor.rb +105 -0
  27. data/test/clutter-test-utils.rb +21 -0
  28. data/test/run-test.rb +50 -0
  29. data/vendor/local/bin/libclutter-1.0-0.dll +0 -0
  30. data/vendor/local/bin/libcogl-12.dll +0 -0
  31. data/vendor/local/bin/libcogl-pango-12.dll +0 -0
  32. data/vendor/local/bin/libglut-0.dll +0 -0
  33. data/vendor/local/bin/libjson-glib-1.0-0.dll +0 -0
  34. data/vendor/local/include/GL/freeglut.h +22 -0
  35. data/vendor/local/include/GL/freeglut_ext.h +239 -0
  36. data/vendor/local/include/GL/freeglut_std.h +636 -0
  37. data/vendor/local/include/GL/glut.h +21 -0
  38. data/vendor/local/include/clutter-1.0/cally/cally-actor.h +155 -0
  39. data/vendor/local/include/clutter-1.0/cally/cally-clone.h +82 -0
  40. data/vendor/local/include/clutter-1.0/cally/cally-factory.h +117 -0
  41. data/vendor/local/include/clutter-1.0/cally/cally-group.h +85 -0
  42. data/vendor/local/include/clutter-1.0/cally/cally-main.h +39 -0
  43. data/vendor/local/include/clutter-1.0/cally/cally-rectangle.h +82 -0
  44. data/vendor/local/include/clutter-1.0/cally/cally-root.h +82 -0
  45. data/vendor/local/include/clutter-1.0/cally/cally-stage.h +82 -0
  46. data/vendor/local/include/clutter-1.0/cally/cally-text.h +82 -0
  47. data/vendor/local/include/clutter-1.0/cally/cally-texture.h +82 -0
  48. data/vendor/local/include/clutter-1.0/cally/cally-util.h +80 -0
  49. data/vendor/local/include/clutter-1.0/cally/cally.h +40 -0
  50. data/vendor/local/include/clutter-1.0/clutter/clutter-action.h +103 -0
  51. data/vendor/local/include/clutter-1.0/clutter/clutter-actor-meta.h +113 -0
  52. data/vendor/local/include/clutter-1.0/clutter/clutter-actor.h +735 -0
  53. data/vendor/local/include/clutter-1.0/clutter/clutter-align-constraint.h +69 -0
  54. data/vendor/local/include/clutter-1.0/clutter/clutter-animatable.h +116 -0
  55. data/vendor/local/include/clutter-1.0/clutter/clutter-backend.h +74 -0
  56. data/vendor/local/include/clutter-1.0/clutter/clutter-bin-layout.h +84 -0
  57. data/vendor/local/include/clutter-1.0/clutter/clutter-bind-constraint.h +69 -0
  58. data/vendor/local/include/clutter-1.0/clutter/clutter-binding-pool.h +122 -0
  59. data/vendor/local/include/clutter-1.0/clutter/clutter-blur-effect.h +57 -0
  60. data/vendor/local/include/clutter-1.0/clutter/clutter-box-layout.h +159 -0
  61. data/vendor/local/include/clutter-1.0/clutter/clutter-brightness-contrast-effect.h +80 -0
  62. data/vendor/local/include/clutter-1.0/clutter/clutter-cairo.h +59 -0
  63. data/vendor/local/include/clutter-1.0/clutter/clutter-canvas.h +100 -0
  64. data/vendor/local/include/clutter-1.0/clutter/clutter-child-meta.h +120 -0
  65. data/vendor/local/include/clutter-1.0/clutter/clutter-click-action.h +114 -0
  66. data/vendor/local/include/clutter-1.0/clutter/clutter-clone.h +90 -0
  67. data/vendor/local/include/clutter-1.0/clutter/clutter-cogl-compat.h +52 -0
  68. data/vendor/local/include/clutter-1.0/clutter/clutter-color-static.h +79 -0
  69. data/vendor/local/include/clutter-1.0/clutter/clutter-color.h +175 -0
  70. data/vendor/local/include/clutter-1.0/clutter/clutter-colorize-effect.h +63 -0
  71. data/vendor/local/include/clutter-1.0/clutter/clutter-config.h +19 -0
  72. data/vendor/local/include/clutter-1.0/clutter/clutter-constraint.h +108 -0
  73. data/vendor/local/include/clutter-1.0/clutter/clutter-container.h +184 -0
  74. data/vendor/local/include/clutter-1.0/clutter/clutter-content.h +103 -0
  75. data/vendor/local/include/clutter-1.0/clutter/clutter-deform-effect.h +111 -0
  76. data/vendor/local/include/clutter-1.0/clutter/clutter-deprecated.h +43 -0
  77. data/vendor/local/include/clutter-1.0/clutter/clutter-desaturate-effect.h +61 -0
  78. data/vendor/local/include/clutter-1.0/clutter/clutter-device-manager.h +104 -0
  79. data/vendor/local/include/clutter-1.0/clutter/clutter-drag-action.h +142 -0
  80. data/vendor/local/include/clutter-1.0/clutter/clutter-drop-action.h +113 -0
  81. data/vendor/local/include/clutter-1.0/clutter/clutter-effect.h +120 -0
  82. data/vendor/local/include/clutter-1.0/clutter/clutter-enum-types.h +183 -0
  83. data/vendor/local/include/clutter-1.0/clutter/clutter-enums.h +1362 -0
  84. data/vendor/local/include/clutter-1.0/clutter/clutter-event.h +509 -0
  85. data/vendor/local/include/clutter-1.0/clutter/clutter-feature.h +40 -0
  86. data/vendor/local/include/clutter-1.0/clutter/clutter-fixed-layout.h +80 -0
  87. data/vendor/local/include/clutter-1.0/clutter/clutter-flow-layout.h +110 -0
  88. data/vendor/local/include/clutter-1.0/clutter/clutter-gesture-action.h +154 -0
  89. data/vendor/local/include/clutter-1.0/clutter/clutter-grid-layout.h +161 -0
  90. data/vendor/local/include/clutter-1.0/clutter/clutter-group.h +95 -0
  91. data/vendor/local/include/clutter-1.0/clutter/clutter-image.h +141 -0
  92. data/vendor/local/include/clutter-1.0/clutter/clutter-input-device.h +118 -0
  93. data/vendor/local/include/clutter-1.0/clutter/clutter-interval.h +141 -0
  94. data/vendor/local/include/clutter-1.0/clutter/clutter-keyframe-transition.h +120 -0
  95. data/vendor/local/include/clutter-1.0/clutter/clutter-keysyms.h +2304 -0
  96. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-manager.h +215 -0
  97. data/vendor/local/include/clutter-1.0/clutter/clutter-layout-meta.h +101 -0
  98. data/vendor/local/include/clutter-1.0/clutter/clutter-list-model.h +88 -0
  99. data/vendor/local/include/clutter-1.0/clutter/clutter-macros.h +279 -0
  100. data/vendor/local/include/clutter-1.0/clutter/clutter-main.h +148 -0
  101. data/vendor/local/include/clutter-1.0/clutter/clutter-marshal.h +273 -0
  102. data/vendor/local/include/clutter-1.0/clutter/clutter-model.h +381 -0
  103. data/vendor/local/include/clutter-1.0/clutter/clutter-offscreen-effect.h +112 -0
  104. data/vendor/local/include/clutter-1.0/clutter/clutter-page-turn-effect.h +72 -0
  105. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-node.h +102 -0
  106. data/vendor/local/include/clutter-1.0/clutter/clutter-paint-nodes.h +150 -0
  107. data/vendor/local/include/clutter-1.0/clutter/clutter-pan-action.h +147 -0
  108. data/vendor/local/include/clutter-1.0/clutter/clutter-path-constraint.h +66 -0
  109. data/vendor/local/include/clutter-1.0/clutter/clutter-path.h +155 -0
  110. data/vendor/local/include/clutter-1.0/clutter/clutter-property-transition.h +91 -0
  111. data/vendor/local/include/clutter-1.0/clutter/clutter-rotate-action.h +100 -0
  112. data/vendor/local/include/clutter-1.0/clutter/clutter-script.h +204 -0
  113. data/vendor/local/include/clutter-1.0/clutter/clutter-scriptable.h +107 -0
  114. data/vendor/local/include/clutter-1.0/clutter/clutter-scroll-actor.h +97 -0
  115. data/vendor/local/include/clutter-1.0/clutter/clutter-settings.h +25 -0
  116. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-effect.h +114 -0
  117. data/vendor/local/include/clutter-1.0/clutter/clutter-shader-types.h +95 -0
  118. data/vendor/local/include/clutter-1.0/clutter/clutter-snap-constraint.h +73 -0
  119. data/vendor/local/include/clutter-1.0/clutter/clutter-stage-manager.h +81 -0
  120. data/vendor/local/include/clutter-1.0/clutter/clutter-stage.h +215 -0
  121. data/vendor/local/include/clutter-1.0/clutter/clutter-swipe-action.h +107 -0
  122. data/vendor/local/include/clutter-1.0/clutter/clutter-table-layout.h +157 -0
  123. data/vendor/local/include/clutter-1.0/clutter/clutter-tap-action.h +102 -0
  124. data/vendor/local/include/clutter-1.0/clutter/clutter-text-buffer.h +172 -0
  125. data/vendor/local/include/clutter-1.0/clutter/clutter-text.h +237 -0
  126. data/vendor/local/include/clutter-1.0/clutter/clutter-texture.h +128 -0
  127. data/vendor/local/include/clutter-1.0/clutter/clutter-timeline.h +201 -0
  128. data/vendor/local/include/clutter-1.0/clutter/clutter-transition-group.h +91 -0
  129. data/vendor/local/include/clutter-1.0/clutter/clutter-transition.h +132 -0
  130. data/vendor/local/include/clutter-1.0/clutter/clutter-types.h +715 -0
  131. data/vendor/local/include/clutter-1.0/clutter/clutter-units.h +166 -0
  132. data/vendor/local/include/clutter-1.0/clutter/clutter-version.h +302 -0
  133. data/vendor/local/include/clutter-1.0/clutter/clutter-zoom-action.h +114 -0
  134. data/vendor/local/include/clutter-1.0/clutter/clutter.h +118 -0
  135. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-actor.h +161 -0
  136. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-alpha.h +144 -0
  137. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animatable.h +47 -0
  138. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animation.h +206 -0
  139. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-animator.h +186 -0
  140. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-backend.h +64 -0
  141. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-depth.h +101 -0
  142. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-ellipse.h +159 -0
  143. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-opacity.h +115 -0
  144. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-path.h +135 -0
  145. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-rotate.h +119 -0
  146. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour-scale.h +107 -0
  147. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-behaviour.h +170 -0
  148. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-bin-layout.h +56 -0
  149. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-box.h +143 -0
  150. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-cairo-texture.h +139 -0
  151. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-container.h +93 -0
  152. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-fixed.h +97 -0
  153. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-frame-source.h +49 -0
  154. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-group.h +62 -0
  155. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-input-device.h +41 -0
  156. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-keysyms.h +2306 -0
  157. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-main.h +96 -0
  158. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-media.h +121 -0
  159. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-rectangle.h +117 -0
  160. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-score.h +144 -0
  161. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-shader.h +182 -0
  162. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage-manager.h +42 -0
  163. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-stage.h +102 -0
  164. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-state.h +187 -0
  165. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-texture.h +138 -0
  166. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeline.h +41 -0
  167. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-timeout-pool.h +69 -0
  168. data/vendor/local/include/clutter-1.0/clutter/deprecated/clutter-util.h +40 -0
  169. data/vendor/local/include/clutter-1.0/clutter/win32/clutter-win32.h +58 -0
  170. data/vendor/local/include/cogl/cogl-pango/cogl-pango.h +245 -0
  171. data/vendor/local/include/cogl/cogl/cogl-attribute-buffer.h +131 -0
  172. data/vendor/local/include/cogl/cogl/cogl-attribute.h +532 -0
  173. data/vendor/local/include/cogl/cogl/cogl-bitmap.h +314 -0
  174. data/vendor/local/include/cogl/cogl/cogl-buffer.h +309 -0
  175. data/vendor/local/include/cogl/cogl/cogl-clip-state.h +50 -0
  176. data/vendor/local/include/cogl/cogl/cogl-clutter.h +47 -0
  177. data/vendor/local/include/cogl/cogl/cogl-color.h +543 -0
  178. data/vendor/local/include/cogl/cogl/cogl-context.h +350 -0
  179. data/vendor/local/include/cogl/cogl/cogl-defines.h +50 -0
  180. data/vendor/local/include/cogl/cogl/cogl-deprecated.h +36 -0
  181. data/vendor/local/include/cogl/cogl/cogl-depth-state.h +264 -0
  182. data/vendor/local/include/cogl/cogl/cogl-display.h +192 -0
  183. data/vendor/local/include/cogl/cogl/cogl-enum-types.h +100 -0
  184. data/vendor/local/include/cogl/cogl/cogl-error.h +176 -0
  185. data/vendor/local/include/cogl/cogl/cogl-euler.h +251 -0
  186. data/vendor/local/include/cogl/cogl/cogl-fixed.h +804 -0
  187. data/vendor/local/include/cogl/cogl/cogl-frame-info.h +129 -0
  188. data/vendor/local/include/cogl/cogl/cogl-framebuffer.h +1829 -0
  189. data/vendor/local/include/cogl/cogl/cogl-gles2-types.h +474 -0
  190. data/vendor/local/include/cogl/cogl/cogl-gles2.h +374 -0
  191. data/vendor/local/include/cogl/cogl/cogl-glib-source.h +59 -0
  192. data/vendor/local/include/cogl/cogl/cogl-index-buffer.h +85 -0
  193. data/vendor/local/include/cogl/cogl/cogl-indices.h +145 -0
  194. data/vendor/local/include/cogl/cogl/cogl-material-compat.h +1276 -0
  195. data/vendor/local/include/cogl/cogl/cogl-matrix-stack.h +620 -0
  196. data/vendor/local/include/cogl/cogl/cogl-matrix.h +798 -0
  197. data/vendor/local/include/cogl/cogl/cogl-meta-texture.h +181 -0
  198. data/vendor/local/include/cogl/cogl/cogl-object.h +219 -0
  199. data/vendor/local/include/cogl/cogl/cogl-offscreen.h +117 -0
  200. data/vendor/local/include/cogl/cogl/cogl-onscreen-template.h +106 -0
  201. data/vendor/local/include/cogl/cogl/cogl-onscreen.h +741 -0
  202. data/vendor/local/include/cogl/cogl/cogl-output.h +242 -0
  203. data/vendor/local/include/cogl/cogl/cogl-pango.h +33 -0
  204. data/vendor/local/include/cogl/cogl/cogl-path-functions.h +430 -0
  205. data/vendor/local/include/cogl/cogl/cogl-path.h +102 -0
  206. data/vendor/local/include/cogl/cogl/cogl-pipeline-layer-state.h +613 -0
  207. data/vendor/local/include/cogl/cogl/cogl-pipeline-state.h +924 -0
  208. data/vendor/local/include/cogl/cogl/cogl-pipeline.h +173 -0
  209. data/vendor/local/include/cogl/cogl/cogl-pixel-buffer.h +114 -0
  210. data/vendor/local/include/cogl/cogl/cogl-poll.h +174 -0
  211. data/vendor/local/include/cogl/cogl/cogl-primitive-texture.h +98 -0
  212. data/vendor/local/include/cogl/cogl/cogl-primitive.h +866 -0
  213. data/vendor/local/include/cogl/cogl/cogl-primitives.h +190 -0
  214. data/vendor/local/include/cogl/cogl/cogl-quaternion.h +545 -0
  215. data/vendor/local/include/cogl/cogl/cogl-renderer.h +423 -0
  216. data/vendor/local/include/cogl/cogl/cogl-shader.h +654 -0
  217. data/vendor/local/include/cogl/cogl/cogl-snippet.h +786 -0
  218. data/vendor/local/include/cogl/cogl/cogl-sub-texture.h +122 -0
  219. data/vendor/local/include/cogl/cogl/cogl-swap-chain.h +51 -0
  220. data/vendor/local/include/cogl/cogl/cogl-texture-2d-gl.h +73 -0
  221. data/vendor/local/include/cogl/cogl/cogl-texture-2d-sliced.h +130 -0
  222. data/vendor/local/include/cogl/cogl/cogl-texture-2d.h +191 -0
  223. data/vendor/local/include/cogl/cogl/cogl-texture-3d.h +187 -0
  224. data/vendor/local/include/cogl/cogl/cogl-texture-rectangle.h +204 -0
  225. data/vendor/local/include/cogl/cogl/cogl-texture.h +611 -0
  226. data/vendor/local/include/cogl/cogl/cogl-types.h +912 -0
  227. data/vendor/local/include/cogl/cogl/cogl-vector.h +351 -0
  228. data/vendor/local/include/cogl/cogl/cogl-version.h +185 -0
  229. data/vendor/local/include/cogl/cogl/cogl-vertex-buffer.h +409 -0
  230. data/vendor/local/include/cogl/cogl/cogl-win32-renderer.h +99 -0
  231. data/vendor/local/include/cogl/cogl/cogl.h +151 -0
  232. data/vendor/local/include/cogl/cogl/cogl1-context.h +1169 -0
  233. data/vendor/local/include/cogl/cogl/cogl2-compatibility.h +55 -0
  234. data/vendor/local/include/cogl/cogl/cogl2-experimental.h +31 -0
  235. data/vendor/local/include/cogl/cogl/cogl2-path.h +506 -0
  236. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-core-functions.h +191 -0
  237. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-gles2-functions.h +36 -0
  238. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-glsl-functions.h +279 -0
  239. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles-core-functions.h +141 -0
  240. data/vendor/local/include/cogl/cogl/gl-prototypes/cogl-in-gles2-core-functions.h +179 -0
  241. data/vendor/local/include/json-glib-1.0/json-glib/json-builder.h +106 -0
  242. data/vendor/local/include/json-glib-1.0/json-glib/json-enum-types.h +36 -0
  243. data/vendor/local/include/json-glib-1.0/json-glib/json-generator.h +107 -0
  244. data/vendor/local/include/json-glib-1.0/json-glib/json-glib.h +46 -0
  245. data/vendor/local/include/json-glib-1.0/json-glib/json-gobject.h +182 -0
  246. data/vendor/local/include/json-glib-1.0/json-glib/json-gvariant.h +46 -0
  247. data/vendor/local/include/json-glib-1.0/json-glib/json-parser.h +173 -0
  248. data/vendor/local/include/json-glib-1.0/json-glib/json-path.h +97 -0
  249. data/vendor/local/include/json-glib-1.0/json-glib/json-reader.h +150 -0
  250. data/vendor/local/include/json-glib-1.0/json-glib/json-types.h +334 -0
  251. data/vendor/local/include/json-glib-1.0/json-glib/json-version.h +100 -0
  252. data/vendor/local/lib/girepository-1.0/Cally-1.0.typelib +0 -0
  253. data/vendor/local/lib/girepository-1.0/Clutter-1.0.typelib +0 -0
  254. data/vendor/local/lib/girepository-1.0/Cogl-1.0.typelib +0 -0
  255. data/vendor/local/lib/girepository-1.0/CoglPango-1.0.typelib +0 -0
  256. data/vendor/local/lib/girepository-1.0/Json-1.0.typelib +0 -0
  257. data/vendor/local/lib/libclutter-1.0.dll.a +0 -0
  258. data/vendor/local/lib/libclutter-1.0.la +41 -0
  259. data/vendor/local/lib/libcogl-pango.dll.a +0 -0
  260. data/vendor/local/lib/libcogl-pango.la +41 -0
  261. data/vendor/local/lib/libcogl.dll.a +0 -0
  262. data/vendor/local/lib/libcogl.la +41 -0
  263. data/vendor/local/lib/libglut.a +0 -0
  264. data/vendor/local/lib/libglut.dll.a +0 -0
  265. data/vendor/local/lib/libglut.la +41 -0
  266. data/vendor/local/lib/libjson-glib-1.0.dll.a +0 -0
  267. data/vendor/local/lib/libjson-glib-1.0.la +41 -0
  268. data/vendor/local/lib/pkgconfig/cally-1.0.pc +13 -0
  269. data/vendor/local/lib/pkgconfig/clutter-1.0.pc +24 -0
  270. data/vendor/local/lib/pkgconfig/clutter-win32-1.0.pc +24 -0
  271. data/vendor/local/lib/pkgconfig/cogl-1.0.pc +13 -0
  272. data/vendor/local/lib/pkgconfig/cogl-2.0-experimental.pc +13 -0
  273. data/vendor/local/lib/pkgconfig/cogl-gl-1.0.pc +13 -0
  274. data/vendor/local/lib/pkgconfig/cogl-pango-1.0.pc +13 -0
  275. data/vendor/local/lib/pkgconfig/cogl-pango-2.0-experimental.pc +13 -0
  276. data/vendor/local/lib/pkgconfig/json-glib-1.0.pc +11 -0
  277. data/vendor/local/share/cogl/examples-data/crate.jpg +0 -0
  278. data/vendor/local/share/gir-1.0/Cally-1.0.gir +679 -0
  279. data/vendor/local/share/gir-1.0/Clutter-1.0.gir +67473 -0
  280. data/vendor/local/share/gir-1.0/Cogl-1.0.gir +8383 -0
  281. data/vendor/local/share/gir-1.0/CoglPango-1.0.gir +306 -0
  282. data/vendor/local/share/gir-1.0/Json-1.0.gir +4333 -0
  283. data/vendor/local/share/gtk-doc/html/cally/CallyActor.html +415 -0
  284. data/vendor/local/share/gtk-doc/html/cally/CallyClone.html +136 -0
  285. data/vendor/local/share/gtk-doc/html/cally/CallyGroup.html +139 -0
  286. data/vendor/local/share/gtk-doc/html/cally/CallyRectangle.html +135 -0
  287. data/vendor/local/share/gtk-doc/html/cally/CallyRoot.html +123 -0
  288. data/vendor/local/share/gtk-doc/html/cally/CallyStage.html +140 -0
  289. data/vendor/local/share/gtk-doc/html/cally/CallyText.html +133 -0
  290. data/vendor/local/share/gtk-doc/html/cally/CallyTexture.html +135 -0
  291. data/vendor/local/share/gtk-doc/html/cally/CallyUtil.html +100 -0
  292. data/vendor/local/share/gtk-doc/html/cally/cally-General-API.html +167 -0
  293. data/vendor/local/share/gtk-doc/html/cally/cally.devhelp2 +73 -0
  294. data/vendor/local/share/gtk-doc/html/cally/callyannotationglossary.html +43 -0
  295. data/vendor/local/share/gtk-doc/html/cally/callybase.html +71 -0
  296. data/vendor/local/share/gtk-doc/html/cally/callyobjecthierarchy.html +45 -0
  297. data/vendor/local/share/gtk-doc/html/cally/callyobjectindex.html +64 -0
  298. data/vendor/local/share/gtk-doc/html/cally/callyobjects.html +39 -0
  299. data/vendor/local/share/gtk-doc/html/cally/ch01.html +53 -0
  300. data/vendor/local/share/gtk-doc/html/cally/ch02.html +41 -0
  301. data/vendor/local/share/gtk-doc/html/cally/clutter-overview.html +96 -0
  302. data/vendor/local/share/gtk-doc/html/cally/home.png +0 -0
  303. data/vendor/local/share/gtk-doc/html/cally/index.html +103 -0
  304. data/vendor/local/share/gtk-doc/html/cally/index.sgml +103 -0
  305. data/vendor/local/share/gtk-doc/html/cally/ix01.html +198 -0
  306. data/vendor/local/share/gtk-doc/html/cally/ix02.html +31 -0
  307. data/vendor/local/share/gtk-doc/html/cally/ix03.html +190 -0
  308. data/vendor/local/share/gtk-doc/html/cally/ix04.html +42 -0
  309. data/vendor/local/share/gtk-doc/html/cally/left.png +0 -0
  310. data/vendor/local/share/gtk-doc/html/cally/license.html +58 -0
  311. data/vendor/local/share/gtk-doc/html/cally/right.png +0 -0
  312. data/vendor/local/share/gtk-doc/html/cally/style.css +266 -0
  313. data/vendor/local/share/gtk-doc/html/cally/up.png +0 -0
  314. data/vendor/local/share/gtk-doc/html/clutter/ClutterAction.html +110 -0
  315. data/vendor/local/share/gtk-doc/html/clutter/ClutterActor.html +13714 -0
  316. data/vendor/local/share/gtk-doc/html/clutter/ClutterActorMeta.html +322 -0
  317. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlignConstraint.html +404 -0
  318. data/vendor/local/share/gtk-doc/html/clutter/ClutterAlpha.html +747 -0
  319. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimatable.html +432 -0
  320. data/vendor/local/share/gtk-doc/html/clutter/ClutterAnimator.html +1218 -0
  321. data/vendor/local/share/gtk-doc/html/clutter/ClutterBackend.html +684 -0
  322. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviour.html +697 -0
  323. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourDepth.html +278 -0
  324. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourEllipse.html +844 -0
  325. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourOpacity.html +283 -0
  326. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourPath.html +450 -0
  327. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourRotate.html +608 -0
  328. data/vendor/local/share/gtk-doc/html/clutter/ClutterBehaviourScale.html +432 -0
  329. data/vendor/local/share/gtk-doc/html/clutter/ClutterBinLayout.html +1056 -0
  330. data/vendor/local/share/gtk-doc/html/clutter/ClutterBindConstraint.html +780 -0
  331. data/vendor/local/share/gtk-doc/html/clutter/ClutterBlurEffect.html +109 -0
  332. data/vendor/local/share/gtk-doc/html/clutter/ClutterBox.html +657 -0
  333. data/vendor/local/share/gtk-doc/html/clutter/ClutterBoxLayout.html +1232 -0
  334. data/vendor/local/share/gtk-doc/html/clutter/ClutterBrightnessContrastEffect.html +410 -0
  335. data/vendor/local/share/gtk-doc/html/clutter/ClutterCairoTexture.html +1018 -0
  336. data/vendor/local/share/gtk-doc/html/clutter/ClutterCanvas.html +469 -0
  337. data/vendor/local/share/gtk-doc/html/clutter/ClutterChildMeta.html +253 -0
  338. data/vendor/local/share/gtk-doc/html/clutter/ClutterClickAction.html +587 -0
  339. data/vendor/local/share/gtk-doc/html/clutter/ClutterClone.html +219 -0
  340. data/vendor/local/share/gtk-doc/html/clutter/ClutterColorizeEffect.html +193 -0
  341. data/vendor/local/share/gtk-doc/html/clutter/ClutterConstraint.html +336 -0
  342. data/vendor/local/share/gtk-doc/html/clutter/ClutterContainer.html +1346 -0
  343. data/vendor/local/share/gtk-doc/html/clutter/ClutterContent.html +309 -0
  344. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeformEffect.html +353 -0
  345. data/vendor/local/share/gtk-doc/html/clutter/ClutterDesaturateEffect.html +200 -0
  346. data/vendor/local/share/gtk-doc/html/clutter/ClutterDeviceManager.html +408 -0
  347. data/vendor/local/share/gtk-doc/html/clutter/ClutterDragAction.html +1224 -0
  348. data/vendor/local/share/gtk-doc/html/clutter/ClutterDropAction.html +965 -0
  349. data/vendor/local/share/gtk-doc/html/clutter/ClutterEffect.html +386 -0
  350. data/vendor/local/share/gtk-doc/html/clutter/ClutterFixedLayout.html +115 -0
  351. data/vendor/local/share/gtk-doc/html/clutter/ClutterFlowLayout.html +1016 -0
  352. data/vendor/local/share/gtk-doc/html/clutter/ClutterGestureAction.html +867 -0
  353. data/vendor/local/share/gtk-doc/html/clutter/ClutterGridLayout.html +808 -0
  354. data/vendor/local/share/gtk-doc/html/clutter/ClutterGroup.html +231 -0
  355. data/vendor/local/share/gtk-doc/html/clutter/ClutterImage.html +674 -0
  356. data/vendor/local/share/gtk-doc/html/clutter/ClutterInputDevice.html +1488 -0
  357. data/vendor/local/share/gtk-doc/html/clutter/ClutterKeyframeTransition.html +525 -0
  358. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutManager.html +1376 -0
  359. data/vendor/local/share/gtk-doc/html/clutter/ClutterLayoutMeta.html +161 -0
  360. data/vendor/local/share/gtk-doc/html/clutter/ClutterListModel.html +211 -0
  361. data/vendor/local/share/gtk-doc/html/clutter/ClutterMedia.html +900 -0
  362. data/vendor/local/share/gtk-doc/html/clutter/ClutterModel.html +1715 -0
  363. data/vendor/local/share/gtk-doc/html/clutter/ClutterModelIter.html +644 -0
  364. data/vendor/local/share/gtk-doc/html/clutter/ClutterOffscreenEffect.html +350 -0
  365. data/vendor/local/share/gtk-doc/html/clutter/ClutterPageTurnEffect.html +333 -0
  366. data/vendor/local/share/gtk-doc/html/clutter/ClutterPaintNode.html +534 -0
  367. data/vendor/local/share/gtk-doc/html/clutter/ClutterPanAction.html +785 -0
  368. data/vendor/local/share/gtk-doc/html/clutter/ClutterPath.html +1327 -0
  369. data/vendor/local/share/gtk-doc/html/clutter/ClutterPathConstraint.html +321 -0
  370. data/vendor/local/share/gtk-doc/html/clutter/ClutterPropertyTransition.html +216 -0
  371. data/vendor/local/share/gtk-doc/html/clutter/ClutterRectangle.html +369 -0
  372. data/vendor/local/share/gtk-doc/html/clutter/ClutterRotateAction.html +183 -0
  373. data/vendor/local/share/gtk-doc/html/clutter/ClutterScore.html +881 -0
  374. data/vendor/local/share/gtk-doc/html/clutter/ClutterScript.html +1365 -0
  375. data/vendor/local/share/gtk-doc/html/clutter/ClutterScriptable.html +311 -0
  376. data/vendor/local/share/gtk-doc/html/clutter/ClutterScrollActor.html +731 -0
  377. data/vendor/local/share/gtk-doc/html/clutter/ClutterSettings.html +301 -0
  378. data/vendor/local/share/gtk-doc/html/clutter/ClutterShaderEffect.html +595 -0
  379. data/vendor/local/share/gtk-doc/html/clutter/ClutterSnapConstraint.html +421 -0
  380. data/vendor/local/share/gtk-doc/html/clutter/ClutterStage.html +2252 -0
  381. data/vendor/local/share/gtk-doc/html/clutter/ClutterState.html +1558 -0
  382. data/vendor/local/share/gtk-doc/html/clutter/ClutterSwipeAction.html +280 -0
  383. data/vendor/local/share/gtk-doc/html/clutter/ClutterTableLayout.html +1146 -0
  384. data/vendor/local/share/gtk-doc/html/clutter/ClutterTapAction.html +192 -0
  385. data/vendor/local/share/gtk-doc/html/clutter/ClutterText.html +3058 -0
  386. data/vendor/local/share/gtk-doc/html/clutter/ClutterTextBuffer.html +736 -0
  387. data/vendor/local/share/gtk-doc/html/clutter/ClutterTexture.html +1829 -0
  388. data/vendor/local/share/gtk-doc/html/clutter/ClutterTimeline.html +2441 -0
  389. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransition.html +574 -0
  390. data/vendor/local/share/gtk-doc/html/clutter/ClutterTransitionGroup.html +227 -0
  391. data/vendor/local/share/gtk-doc/html/clutter/ClutterZoomAction.html +400 -0
  392. data/vendor/local/share/gtk-doc/html/clutter/actor-box.png +0 -0
  393. data/vendor/local/share/gtk-doc/html/clutter/actor-example.png +0 -0
  394. data/vendor/local/share/gtk-doc/html/clutter/animator-key-frames.png +0 -0
  395. data/vendor/local/share/gtk-doc/html/clutter/annotation-glossary.html +111 -0
  396. data/vendor/local/share/gtk-doc/html/clutter/bin-layout.png +0 -0
  397. data/vendor/local/share/gtk-doc/html/clutter/box-layout.png +0 -0
  398. data/vendor/local/share/gtk-doc/html/clutter/building-clutter.html +275 -0
  399. data/vendor/local/share/gtk-doc/html/clutter/ch01.html +65 -0
  400. data/vendor/local/share/gtk-doc/html/clutter/ch02.html +47 -0
  401. data/vendor/local/share/gtk-doc/html/clutter/ch03.html +51 -0
  402. data/vendor/local/share/gtk-doc/html/clutter/ch04.html +59 -0
  403. data/vendor/local/share/gtk-doc/html/clutter/ch05.html +44 -0
  404. data/vendor/local/share/gtk-doc/html/clutter/ch06.html +57 -0
  405. data/vendor/local/share/gtk-doc/html/clutter/ch07.html +38 -0
  406. data/vendor/local/share/gtk-doc/html/clutter/ch08.html +38 -0
  407. data/vendor/local/share/gtk-doc/html/clutter/ch09.html +53 -0
  408. data/vendor/local/share/gtk-doc/html/clutter/ch10.html +78 -0
  409. data/vendor/local/share/gtk-doc/html/clutter/ch11.html +38 -0
  410. data/vendor/local/share/gtk-doc/html/clutter/ch12.html +41 -0
  411. data/vendor/local/share/gtk-doc/html/clutter/clutter-Base-geometric-types.html +3471 -0
  412. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterGLXTexturePixmap.html +225 -0
  413. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterWaylandSurface.html +314 -0
  414. data/vendor/local/share/gtk-doc/html/clutter/clutter-ClutterX11TexturePixmap.html +361 -0
  415. data/vendor/local/share/gtk-doc/html/clutter/clutter-Colors.html +1363 -0
  416. data/vendor/local/share/gtk-doc/html/clutter/clutter-EGL-Specific-Support.html +129 -0
  417. data/vendor/local/share/gtk-doc/html/clutter/clutter-Events.html +2653 -0
  418. data/vendor/local/share/gtk-doc/html/clutter/clutter-Features.html +200 -0
  419. data/vendor/local/share/gtk-doc/html/clutter/clutter-GDK-Specific-Support.html +249 -0
  420. data/vendor/local/share/gtk-doc/html/clutter/clutter-General.html +2550 -0
  421. data/vendor/local/share/gtk-doc/html/clutter/clutter-Implicit-Animations.html +2571 -0
  422. data/vendor/local/share/gtk-doc/html/clutter/clutter-Intel-CE3100-CE4100-Specific-Support.html +181 -0
  423. data/vendor/local/share/gtk-doc/html/clutter/clutter-Key-Bindings.html +890 -0
  424. data/vendor/local/share/gtk-doc/html/clutter/clutter-Paint-Nodes.html +351 -0
  425. data/vendor/local/share/gtk-doc/html/clutter/clutter-Shaders.html +1004 -0
  426. data/vendor/local/share/gtk-doc/html/clutter/clutter-Stage-Manager.html +341 -0
  427. data/vendor/local/share/gtk-doc/html/clutter/clutter-Unit-conversion.html +843 -0
  428. data/vendor/local/share/gtk-doc/html/clutter/clutter-Utilities.html +549 -0
  429. data/vendor/local/share/gtk-doc/html/clutter/clutter-Value-intervals.html +1023 -0
  430. data/vendor/local/share/gtk-doc/html/clutter/clutter-Versioning-Macros.html +525 -0
  431. data/vendor/local/share/gtk-doc/html/clutter/clutter-Wayland-compositor-specific-support.html +83 -0
  432. data/vendor/local/share/gtk-doc/html/clutter/clutter-Win32-Specific-Support.html +201 -0
  433. data/vendor/local/share/gtk-doc/html/clutter/clutter-X11-Specific-Support.html +806 -0
  434. data/vendor/local/share/gtk-doc/html/clutter/clutter-overview.html +77 -0
  435. data/vendor/local/share/gtk-doc/html/clutter/clutter.devhelp2 +2715 -0
  436. data/vendor/local/share/gtk-doc/html/clutter/clutteranimation.html +65 -0
  437. data/vendor/local/share/gtk-doc/html/clutter/clutterbackends.html +71 -0
  438. data/vendor/local/share/gtk-doc/html/clutter/clutterbase.html +202 -0
  439. data/vendor/local/share/gtk-doc/html/clutter/clutterglossary.html +37 -0
  440. data/vendor/local/share/gtk-doc/html/clutter/clutterobjecthierarchy.html +118 -0
  441. data/vendor/local/share/gtk-doc/html/clutter/clutterobjectindex.html +184 -0
  442. data/vendor/local/share/gtk-doc/html/clutter/clutterobjects.html +37 -0
  443. data/vendor/local/share/gtk-doc/html/clutter/cluttertools.html +105 -0
  444. data/vendor/local/share/gtk-doc/html/clutter/constraints-example.png +0 -0
  445. data/vendor/local/share/gtk-doc/html/clutter/deprecated.html +86 -0
  446. data/vendor/local/share/gtk-doc/html/clutter/easing-modes.png +0 -0
  447. data/vendor/local/share/gtk-doc/html/clutter/event-flow.png +0 -0
  448. data/vendor/local/share/gtk-doc/html/clutter/flow-layout.png +0 -0
  449. data/vendor/local/share/gtk-doc/html/clutter/go01.html +114 -0
  450. data/vendor/local/share/gtk-doc/html/clutter/home.png +0 -0
  451. data/vendor/local/share/gtk-doc/html/clutter/index.html +451 -0
  452. data/vendor/local/share/gtk-doc/html/clutter/index.sgml +3272 -0
  453. data/vendor/local/share/gtk-doc/html/clutter/iterating-paths.html +56 -0
  454. data/vendor/local/share/gtk-doc/html/clutter/ix01.html +8815 -0
  455. data/vendor/local/share/gtk-doc/html/clutter/ix02.html +1961 -0
  456. data/vendor/local/share/gtk-doc/html/clutter/ix03.html +454 -0
  457. data/vendor/local/share/gtk-doc/html/clutter/ix04.html +583 -0
  458. data/vendor/local/share/gtk-doc/html/clutter/ix05.html +957 -0
  459. data/vendor/local/share/gtk-doc/html/clutter/ix06.html +642 -0
  460. data/vendor/local/share/gtk-doc/html/clutter/ix07.html +1530 -0
  461. data/vendor/local/share/gtk-doc/html/clutter/ix08.html +820 -0
  462. data/vendor/local/share/gtk-doc/html/clutter/ix09.html +1005 -0
  463. data/vendor/local/share/gtk-doc/html/clutter/ix10.html +369 -0
  464. data/vendor/local/share/gtk-doc/html/clutter/ix11.html +366 -0
  465. data/vendor/local/share/gtk-doc/html/clutter/ix12.html +1078 -0
  466. data/vendor/local/share/gtk-doc/html/clutter/ix13.html +984 -0
  467. data/vendor/local/share/gtk-doc/html/clutter/ix14.html +99 -0
  468. data/vendor/local/share/gtk-doc/html/clutter/left.png +0 -0
  469. data/vendor/local/share/gtk-doc/html/clutter/license.html +58 -0
  470. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterAnimation.html +223 -0
  471. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterBehaviour.html +197 -0
  472. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterEffect.html +154 -0
  473. data/vendor/local/share/gtk-doc/html/clutter/migrating-ClutterPath.html +156 -0
  474. data/vendor/local/share/gtk-doc/html/clutter/migration.html +49 -0
  475. data/vendor/local/share/gtk-doc/html/clutter/offscreen-redirect.png +0 -0
  476. data/vendor/local/share/gtk-doc/html/clutter/path-alpha-func.png +0 -0
  477. data/vendor/local/share/gtk-doc/html/clutter/pt09.html +31 -0
  478. data/vendor/local/share/gtk-doc/html/clutter/right.png +0 -0
  479. data/vendor/local/share/gtk-doc/html/clutter/running-clutter.html +373 -0
  480. data/vendor/local/share/gtk-doc/html/clutter/style.css +266 -0
  481. data/vendor/local/share/gtk-doc/html/clutter/table-layout.png +0 -0
  482. data/vendor/local/share/gtk-doc/html/clutter/up.png +0 -0
  483. data/vendor/local/share/gtk-doc/html/clutter/using-cairo.html +36 -0
  484. data/vendor/local/share/gtk-doc/html/json-glib/JsonBuilder.html +513 -0
  485. data/vendor/local/share/gtk-doc/html/json-glib/JsonGenerator.html +492 -0
  486. data/vendor/local/share/gtk-doc/html/json-glib/JsonParser.html +871 -0
  487. data/vendor/local/share/gtk-doc/html/json-glib/JsonPath.html +464 -0
  488. data/vendor/local/share/gtk-doc/html/json-glib/JsonReader.html +898 -0
  489. data/vendor/local/share/gtk-doc/html/json-glib/annotation-glossary.html +87 -0
  490. data/vendor/local/share/gtk-doc/html/json-glib/ch01.html +41 -0
  491. data/vendor/local/share/gtk-doc/html/json-glib/ch02.html +41 -0
  492. data/vendor/local/share/gtk-doc/html/json-glib/ch03.html +38 -0
  493. data/vendor/local/share/gtk-doc/html/json-glib/ch04.html +38 -0
  494. data/vendor/local/share/gtk-doc/html/json-glib/home.png +0 -0
  495. data/vendor/local/share/gtk-doc/html/json-glib/index.html +125 -0
  496. data/vendor/local/share/gtk-doc/html/json-glib/index.sgml +308 -0
  497. data/vendor/local/share/gtk-doc/html/json-glib/ix01.html +926 -0
  498. data/vendor/local/share/gtk-doc/html/json-glib/ix02.html +54 -0
  499. data/vendor/local/share/gtk-doc/html/json-glib/ix03.html +61 -0
  500. data/vendor/local/share/gtk-doc/html/json-glib/ix04.html +54 -0
  501. data/vendor/local/share/gtk-doc/html/json-glib/ix05.html +186 -0
  502. data/vendor/local/share/gtk-doc/html/json-glib/ix06.html +121 -0
  503. data/vendor/local/share/gtk-doc/html/json-glib/ix07.html +161 -0
  504. data/vendor/local/share/gtk-doc/html/json-glib/ix08.html +137 -0
  505. data/vendor/local/share/gtk-doc/html/json-glib/json-advanced.html +47 -0
  506. data/vendor/local/share/gtk-doc/html/json-glib/json-base.html +61 -0
  507. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Boxed-Types-Serialization.html +382 -0
  508. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-GObject-Serialization.html +310 -0
  509. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Array.html +850 -0
  510. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-GVariant-Integration.html +272 -0
  511. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Node.html +942 -0
  512. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-JSON-Object.html +993 -0
  513. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Serializable-Interface.html +476 -0
  514. data/vendor/local/share/gtk-doc/html/json-glib/json-glib-Versioning-information.html +148 -0
  515. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.devhelp2 +281 -0
  516. data/vendor/local/share/gtk-doc/html/json-glib/json-glib.html +38 -0
  517. data/vendor/local/share/gtk-doc/html/json-glib/json-streams.html +63 -0
  518. data/vendor/local/share/gtk-doc/html/json-glib/json-tools.html +39 -0
  519. data/vendor/local/share/gtk-doc/html/json-glib/left.png +0 -0
  520. data/vendor/local/share/gtk-doc/html/json-glib/license.html +58 -0
  521. data/vendor/local/share/gtk-doc/html/json-glib/right.png +0 -0
  522. data/vendor/local/share/gtk-doc/html/json-glib/style.css +266 -0
  523. data/vendor/local/share/gtk-doc/html/json-glib/up.png +0 -0
  524. data/vendor/local/share/license/clutter/COPYING +502 -0
  525. data/vendor/local/share/license/cogl/COPYING +502 -0
  526. data/vendor/local/share/license/freeglut/AUTHORS +39 -0
  527. data/vendor/local/share/license/freeglut/COPYING +27 -0
  528. data/vendor/local/share/license/json-glib/COPYING +504 -0
  529. data/vendor/local/share/locale/an/LC_MESSAGES/cogl.mo +0 -0
  530. data/vendor/local/share/locale/ar/LC_MESSAGES/clutter-1.0.mo +0 -0
  531. data/vendor/local/share/locale/ar/LC_MESSAGES/cogl.mo +0 -0
  532. data/vendor/local/share/locale/as/LC_MESSAGES/clutter-1.0.mo +0 -0
  533. data/vendor/local/share/locale/as/LC_MESSAGES/cogl.mo +0 -0
  534. data/vendor/local/share/locale/ast/LC_MESSAGES/clutter-1.0.mo +0 -0
  535. data/vendor/local/share/locale/ast/LC_MESSAGES/cogl.mo +0 -0
  536. data/vendor/local/share/locale/az_IR/LC_MESSAGES/clutter-1.0.mo +0 -0
  537. data/vendor/local/share/locale/be/LC_MESSAGES/clutter-1.0.mo +0 -0
  538. data/vendor/local/share/locale/be/LC_MESSAGES/cogl.mo +0 -0
  539. data/vendor/local/share/locale/bg/LC_MESSAGES/clutter-1.0.mo +0 -0
  540. data/vendor/local/share/locale/bg/LC_MESSAGES/cogl.mo +0 -0
  541. data/vendor/local/share/locale/ca/LC_MESSAGES/clutter-1.0.mo +0 -0
  542. data/vendor/local/share/locale/ca/LC_MESSAGES/cogl.mo +0 -0
  543. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/clutter-1.0.mo +0 -0
  544. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/cogl.mo +0 -0
  545. data/vendor/local/share/locale/cs/LC_MESSAGES/clutter-1.0.mo +0 -0
  546. data/vendor/local/share/locale/cs/LC_MESSAGES/cogl.mo +0 -0
  547. data/vendor/local/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo +0 -0
  548. data/vendor/local/share/locale/da/LC_MESSAGES/clutter-1.0.mo +0 -0
  549. data/vendor/local/share/locale/da/LC_MESSAGES/cogl.mo +0 -0
  550. data/vendor/local/share/locale/de/LC_MESSAGES/clutter-1.0.mo +0 -0
  551. data/vendor/local/share/locale/de/LC_MESSAGES/cogl.mo +0 -0
  552. data/vendor/local/share/locale/de/LC_MESSAGES/json-glib-1.0.mo +0 -0
  553. data/vendor/local/share/locale/el/LC_MESSAGES/clutter-1.0.mo +0 -0
  554. data/vendor/local/share/locale/el/LC_MESSAGES/cogl.mo +0 -0
  555. data/vendor/local/share/locale/el/LC_MESSAGES/json-glib-1.0.mo +0 -0
  556. data/vendor/local/share/locale/en_CA/LC_MESSAGES/cogl.mo +0 -0
  557. data/vendor/local/share/locale/en_GB/LC_MESSAGES/clutter-1.0.mo +0 -0
  558. data/vendor/local/share/locale/en_GB/LC_MESSAGES/cogl.mo +0 -0
  559. data/vendor/local/share/locale/eo/LC_MESSAGES/clutter-1.0.mo +0 -0
  560. data/vendor/local/share/locale/eo/LC_MESSAGES/cogl.mo +0 -0
  561. data/vendor/local/share/locale/es/LC_MESSAGES/clutter-1.0.mo +0 -0
  562. data/vendor/local/share/locale/es/LC_MESSAGES/cogl.mo +0 -0
  563. data/vendor/local/share/locale/es/LC_MESSAGES/json-glib-1.0.mo +0 -0
  564. data/vendor/local/share/locale/eu/LC_MESSAGES/cogl.mo +0 -0
  565. data/vendor/local/share/locale/fa/LC_MESSAGES/clutter-1.0.mo +0 -0
  566. data/vendor/local/share/locale/fa/LC_MESSAGES/cogl.mo +0 -0
  567. data/vendor/local/share/locale/fi/LC_MESSAGES/clutter-1.0.mo +0 -0
  568. data/vendor/local/share/locale/fr/LC_MESSAGES/clutter-1.0.mo +0 -0
  569. data/vendor/local/share/locale/fr/LC_MESSAGES/cogl.mo +0 -0
  570. data/vendor/local/share/locale/gl/LC_MESSAGES/clutter-1.0.mo +0 -0
  571. data/vendor/local/share/locale/gl/LC_MESSAGES/cogl.mo +0 -0
  572. data/vendor/local/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  573. data/vendor/local/share/locale/he/LC_MESSAGES/clutter-1.0.mo +0 -0
  574. data/vendor/local/share/locale/he/LC_MESSAGES/cogl.mo +0 -0
  575. data/vendor/local/share/locale/hi/LC_MESSAGES/clutter-1.0.mo +0 -0
  576. data/vendor/local/share/locale/hi/LC_MESSAGES/cogl.mo +0 -0
  577. data/vendor/local/share/locale/hu/LC_MESSAGES/cogl.mo +0 -0
  578. data/vendor/local/share/locale/id/LC_MESSAGES/clutter-1.0.mo +0 -0
  579. data/vendor/local/share/locale/id/LC_MESSAGES/cogl.mo +0 -0
  580. data/vendor/local/share/locale/id/LC_MESSAGES/json-glib-1.0.mo +0 -0
  581. data/vendor/local/share/locale/it/LC_MESSAGES/clutter-1.0.mo +0 -0
  582. data/vendor/local/share/locale/it/LC_MESSAGES/cogl.mo +0 -0
  583. data/vendor/local/share/locale/it/LC_MESSAGES/json-glib-1.0.mo +0 -0
  584. data/vendor/local/share/locale/ja/LC_MESSAGES/clutter-1.0.mo +0 -0
  585. data/vendor/local/share/locale/ja/LC_MESSAGES/cogl.mo +0 -0
  586. data/vendor/local/share/locale/km/LC_MESSAGES/clutter-1.0.mo +0 -0
  587. data/vendor/local/share/locale/km/LC_MESSAGES/cogl.mo +0 -0
  588. data/vendor/local/share/locale/kn/LC_MESSAGES/clutter-1.0.mo +0 -0
  589. data/vendor/local/share/locale/kn/LC_MESSAGES/cogl.mo +0 -0
  590. data/vendor/local/share/locale/ko/LC_MESSAGES/cogl.mo +0 -0
  591. data/vendor/local/share/locale/lt/LC_MESSAGES/clutter-1.0.mo +0 -0
  592. data/vendor/local/share/locale/lt/LC_MESSAGES/cogl.mo +0 -0
  593. data/vendor/local/share/locale/lv/LC_MESSAGES/clutter-1.0.mo +0 -0
  594. data/vendor/local/share/locale/lv/LC_MESSAGES/cogl.mo +0 -0
  595. data/vendor/local/share/locale/mk/LC_MESSAGES/clutter-1.0.mo +0 -0
  596. data/vendor/local/share/locale/ml/LC_MESSAGES/clutter-1.0.mo +0 -0
  597. data/vendor/local/share/locale/ml/LC_MESSAGES/cogl.mo +0 -0
  598. data/vendor/local/share/locale/nb/LC_MESSAGES/clutter-1.0.mo +0 -0
  599. data/vendor/local/share/locale/nb/LC_MESSAGES/cogl.mo +0 -0
  600. data/vendor/local/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo +0 -0
  601. data/vendor/local/share/locale/nl/LC_MESSAGES/clutter-1.0.mo +0 -0
  602. data/vendor/local/share/locale/nl/LC_MESSAGES/cogl.mo +0 -0
  603. data/vendor/local/share/locale/or/LC_MESSAGES/clutter-1.0.mo +0 -0
  604. data/vendor/local/share/locale/or/LC_MESSAGES/cogl.mo +0 -0
  605. data/vendor/local/share/locale/pa/LC_MESSAGES/clutter-1.0.mo +0 -0
  606. data/vendor/local/share/locale/pa/LC_MESSAGES/cogl.mo +0 -0
  607. data/vendor/local/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo +0 -0
  608. data/vendor/local/share/locale/pl/LC_MESSAGES/clutter-1.0.mo +0 -0
  609. data/vendor/local/share/locale/pl/LC_MESSAGES/cogl.mo +0 -0
  610. data/vendor/local/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  611. data/vendor/local/share/locale/ps/LC_MESSAGES/clutter-1.0.mo +0 -0
  612. data/vendor/local/share/locale/pt/LC_MESSAGES/clutter-1.0.mo +0 -0
  613. data/vendor/local/share/locale/pt/LC_MESSAGES/cogl.mo +0 -0
  614. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/clutter-1.0.mo +0 -0
  615. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/cogl.mo +0 -0
  616. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo +0 -0
  617. data/vendor/local/share/locale/ro/LC_MESSAGES/clutter-1.0.mo +0 -0
  618. data/vendor/local/share/locale/ru/LC_MESSAGES/clutter-1.0.mo +0 -0
  619. data/vendor/local/share/locale/ru/LC_MESSAGES/cogl.mo +0 -0
  620. data/vendor/local/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo +0 -0
  621. data/vendor/local/share/locale/sk/LC_MESSAGES/clutter-1.0.mo +0 -0
  622. data/vendor/local/share/locale/sk/LC_MESSAGES/cogl.mo +0 -0
  623. data/vendor/local/share/locale/sl/LC_MESSAGES/clutter-1.0.mo +0 -0
  624. data/vendor/local/share/locale/sl/LC_MESSAGES/cogl.mo +0 -0
  625. data/vendor/local/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo +0 -0
  626. data/vendor/local/share/locale/sr/LC_MESSAGES/clutter-1.0.mo +0 -0
  627. data/vendor/local/share/locale/sr/LC_MESSAGES/cogl.mo +0 -0
  628. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/clutter-1.0.mo +0 -0
  629. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/cogl.mo +0 -0
  630. data/vendor/local/share/locale/sv/LC_MESSAGES/clutter-1.0.mo +0 -0
  631. data/vendor/local/share/locale/sv/LC_MESSAGES/cogl.mo +0 -0
  632. data/vendor/local/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo +0 -0
  633. data/vendor/local/share/locale/ta/LC_MESSAGES/clutter-1.0.mo +0 -0
  634. data/vendor/local/share/locale/ta/LC_MESSAGES/cogl.mo +0 -0
  635. data/vendor/local/share/locale/te/LC_MESSAGES/clutter-1.0.mo +0 -0
  636. data/vendor/local/share/locale/te/LC_MESSAGES/cogl.mo +0 -0
  637. data/vendor/local/share/locale/tg/LC_MESSAGES/clutter-1.0.mo +0 -0
  638. data/vendor/local/share/locale/th/LC_MESSAGES/cogl.mo +0 -0
  639. data/vendor/local/share/locale/tr/LC_MESSAGES/clutter-1.0.mo +0 -0
  640. data/vendor/local/share/locale/tr/LC_MESSAGES/cogl.mo +0 -0
  641. data/vendor/local/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo +0 -0
  642. data/vendor/local/share/locale/ug/LC_MESSAGES/clutter-1.0.mo +0 -0
  643. data/vendor/local/share/locale/ug/LC_MESSAGES/cogl.mo +0 -0
  644. data/vendor/local/share/locale/uk/LC_MESSAGES/clutter-1.0.mo +0 -0
  645. data/vendor/local/share/locale/uk/LC_MESSAGES/cogl.mo +0 -0
  646. data/vendor/local/share/locale/ur/LC_MESSAGES/clutter-1.0.mo +0 -0
  647. data/vendor/local/share/locale/vi/LC_MESSAGES/cogl.mo +0 -0
  648. data/vendor/local/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo +0 -0
  649. data/vendor/local/share/locale/yi/LC_MESSAGES/clutter-1.0.mo +0 -0
  650. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/clutter-1.0.mo +0 -0
  651. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/cogl.mo +0 -0
  652. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/clutter-1.0.mo +0 -0
  653. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/cogl.mo +0 -0
  654. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/clutter-1.0.mo +0 -0
  655. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/cogl.mo +0 -0
  656. metadata +747 -0
@@ -0,0 +1,145 @@
1
+ /*
2
+ * Cogl
3
+ *
4
+ * An object oriented GL/GLES Abstraction/Utility Layer
5
+ *
6
+ * Copyright (C) 2010 Intel Corporation.
7
+ *
8
+ * This library is free software; you can redistribute it and/or
9
+ * modify it under the terms of the GNU Lesser General Public
10
+ * License as published by the Free Software Foundation; either
11
+ * version 2 of the License, or (at your option) any later version.
12
+ *
13
+ * This library is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ * Lesser General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU Lesser General Public License
19
+ * along with this library. If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ *
22
+ *
23
+ * Authors:
24
+ * Robert Bragg <robert@linux.intel.com>
25
+ */
26
+
27
+ #if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
28
+ #error "Only <cogl/cogl.h> can be included directly."
29
+ #endif
30
+
31
+ #ifndef __COGL_INDICES_H__
32
+ #define __COGL_INDICES_H__
33
+
34
+ /* We forward declare the CoglIndices type here to avoid some circular
35
+ * dependency issues with the following headers.
36
+ */
37
+ typedef struct _CoglIndices CoglIndices;
38
+
39
+ #include <cogl/cogl-index-buffer.h>
40
+
41
+ COGL_BEGIN_DECLS
42
+
43
+ /**
44
+ * SECTION:cogl-indices
45
+ * @short_description: Describe vertex indices stored in a #CoglIndexBuffer.
46
+ *
47
+ * Indices allow you to avoid duplicating vertices in your vertex data
48
+ * by virtualizing your data and instead providing a sequence of index
49
+ * values that tell the GPU which data should be used for each vertex.
50
+ *
51
+ * If the GPU is given a sequence of indices it doesn't simply walk
52
+ * through each vertex of your data in order it will instead walk
53
+ * through the indices which can provide random access to the
54
+ * underlying data.
55
+ *
56
+ * Since it's very common to have duplicate vertices when describing a
57
+ * shape as a list of triangles it can often be a significant space
58
+ * saving to describe geometry using indices. Reducing the size of
59
+ * your models can make it cheaper to map them into the GPU by
60
+ * reducing the demand on memory bandwidth and may help to make better
61
+ * use of your GPUs internal vertex caching.
62
+ *
63
+ * For example, to describe a quadrilateral as 2 triangles for the GPU
64
+ * you could either provide data with 6 vertices or instead with
65
+ * indices you can provide vertex data for just 4 vertices and an
66
+ * index buffer that specfies the 6 vertices by indexing the shared
67
+ * vertices multiple times.
68
+ *
69
+ * |[
70
+ * CoglVertex2f quad_vertices[] = {
71
+ * {x0, y0}, //0 = top left
72
+ * {x1, y1}, //1 = bottom left
73
+ * {x2, y2}, //2 = bottom right
74
+ * {x3, y3}, //3 = top right
75
+ * };
76
+ * //tell the gpu how to interpret the quad as 2 triangles...
77
+ * unsigned char indices[] = {0, 1, 2, 0, 2, 3};
78
+ * ]|
79
+ *
80
+ * Even in the above illustration we see a saving of 10bytes for one
81
+ * quad compared to having data for 6 vertices and no indices but if
82
+ * you need to draw 100s or 1000s of quads then its really quite
83
+ * significant.
84
+ *
85
+ * Something else to consider is that often indices can be defined
86
+ * once and remain static while the vertex data may change for
87
+ * animations perhaps. That means you may be able to ignore the
88
+ * negligable cost of mapping your indices into the GPU if they don't
89
+ * ever change.
90
+ *
91
+ * The above illustration is actually a good example of static indices
92
+ * because it's really common that developers have quad mesh data that
93
+ * they need to display and we know exactly what that indices array
94
+ * needs to look like depending on the number of quads that need to be
95
+ * drawn. It doesn't matter how the quads might be animated and
96
+ * changed the indices will remain the same. Cogl even has a utility
97
+ * (cogl_get_rectangle_indices()) to get access to re-useable indices
98
+ * for drawing quads as above.
99
+ */
100
+
101
+ CoglIndices *
102
+ cogl_indices_new (CoglContext *context,
103
+ CoglIndicesType type,
104
+ const void *indices_data,
105
+ int n_indices);
106
+
107
+ CoglIndices *
108
+ cogl_indices_new_for_buffer (CoglIndicesType type,
109
+ CoglIndexBuffer *buffer,
110
+ size_t offset);
111
+
112
+ CoglIndexBuffer *
113
+ cogl_indices_get_buffer (CoglIndices *indices);
114
+
115
+ CoglIndicesType
116
+ cogl_indices_get_type (CoglIndices *indices);
117
+
118
+ size_t
119
+ cogl_indices_get_offset (CoglIndices *indices);
120
+
121
+ void
122
+ cogl_indices_set_offset (CoglIndices *indices,
123
+ size_t offset);
124
+
125
+ CoglIndices *
126
+ cogl_get_rectangle_indices (CoglContext *context, int n_rectangles);
127
+
128
+ /**
129
+ * cogl_is_indices:
130
+ * @object: A #CoglObject pointer
131
+ *
132
+ * Gets whether the given object references a #CoglIndices.
133
+ *
134
+ * Return value: %TRUE if the object references a #CoglIndices
135
+ * and %FALSE otherwise.
136
+ * Since: 1.10
137
+ * Stability: unstable
138
+ */
139
+ CoglBool
140
+ cogl_is_indices (void *object);
141
+
142
+ COGL_END_DECLS
143
+
144
+ #endif /* __COGL_INDICES_H__ */
145
+
@@ -0,0 +1,1276 @@
1
+ /*
2
+ * Cogl
3
+ *
4
+ * An object oriented GL/GLES Abstraction/Utility Layer
5
+ *
6
+ * Copyright (C) 2007,2008,2009 Intel Corporation.
7
+ *
8
+ * This library is free software; you can redistribute it and/or
9
+ * modify it under the terms of the GNU Lesser General Public
10
+ * License as published by the Free Software Foundation; either
11
+ * version 2 of the License, or (at your option) any later version.
12
+ *
13
+ * This library is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ * Lesser General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU Lesser General Public
19
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ *
22
+ */
23
+
24
+ #if !defined(__COGL_H_INSIDE__) && !defined(COGL_COMPILATION)
25
+ #error "Only <cogl/cogl.h> can be included directly."
26
+ #endif
27
+
28
+ #ifndef __COGL_MATERIAL_H__
29
+ #define __COGL_MATERIAL_H__
30
+
31
+ #include <cogl/cogl-types.h>
32
+ #include <cogl/cogl-matrix.h>
33
+ #include <cogl/cogl-depth-state.h>
34
+ #include <cogl/cogl-error.h>
35
+
36
+ G_BEGIN_DECLS
37
+
38
+ /**
39
+ * SECTION:cogl-material
40
+ * @short_description: Fuctions for creating and manipulating materials
41
+ *
42
+ * COGL allows creating and manipulating materials used to fill in
43
+ * geometry. Materials may simply be lighting attributes (such as an
44
+ * ambient and diffuse colour) or might represent one or more textures
45
+ * blended together.
46
+ */
47
+
48
+ typedef struct _CoglMaterial CoglMaterial;
49
+ typedef struct _CoglMaterialLayer CoglMaterialLayer;
50
+
51
+ #define COGL_MATERIAL(OBJECT) ((CoglMaterial *)OBJECT)
52
+
53
+ /**
54
+ * CoglMaterialFilter:
55
+ * @COGL_MATERIAL_FILTER_NEAREST: Measuring in manhatten distance from the,
56
+ * current pixel center, use the nearest texture texel
57
+ * @COGL_MATERIAL_FILTER_LINEAR: Use the weighted average of the 4 texels
58
+ * nearest the current pixel center
59
+ * @COGL_MATERIAL_FILTER_NEAREST_MIPMAP_NEAREST: Select the mimap level whose
60
+ * texel size most closely matches the current pixel, and use the
61
+ * %COGL_MATERIAL_FILTER_NEAREST criterion
62
+ * @COGL_MATERIAL_FILTER_LINEAR_MIPMAP_NEAREST: Select the mimap level whose
63
+ * texel size most closely matches the current pixel, and use the
64
+ * %COGL_MATERIAL_FILTER_LINEAR criterion
65
+ * @COGL_MATERIAL_FILTER_NEAREST_MIPMAP_LINEAR: Select the two mimap levels
66
+ * whose texel size most closely matches the current pixel, use
67
+ * the %COGL_MATERIAL_FILTER_NEAREST criterion on each one and take
68
+ * their weighted average
69
+ * @COGL_MATERIAL_FILTER_LINEAR_MIPMAP_LINEAR: Select the two mimap levels
70
+ * whose texel size most closely matches the current pixel, use
71
+ * the %COGL_MATERIAL_FILTER_LINEAR criterion on each one and take
72
+ * their weighted average
73
+ *
74
+ * Texture filtering is used whenever the current pixel maps either to more
75
+ * than one texture element (texel) or less than one. These filter enums
76
+ * correspond to different strategies used to come up with a pixel color, by
77
+ * possibly referring to multiple neighbouring texels and taking a weighted
78
+ * average or simply using the nearest texel.
79
+ */
80
+ typedef enum {
81
+ COGL_MATERIAL_FILTER_NEAREST = 0x2600,
82
+ COGL_MATERIAL_FILTER_LINEAR = 0x2601,
83
+ COGL_MATERIAL_FILTER_NEAREST_MIPMAP_NEAREST = 0x2700,
84
+ COGL_MATERIAL_FILTER_LINEAR_MIPMAP_NEAREST = 0x2701,
85
+ COGL_MATERIAL_FILTER_NEAREST_MIPMAP_LINEAR = 0x2702,
86
+ COGL_MATERIAL_FILTER_LINEAR_MIPMAP_LINEAR = 0x2703
87
+ } CoglMaterialFilter;
88
+ /* NB: these values come from the equivalents in gl.h */
89
+
90
+ /**
91
+ * CoglMaterialWrapMode:
92
+ * @COGL_MATERIAL_WRAP_MODE_REPEAT: The texture will be repeated. This
93
+ * is useful for example to draw a tiled background.
94
+ * @COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE: The coordinates outside the
95
+ * range 0→1 will sample copies of the edge pixels of the
96
+ * texture. This is useful to avoid artifacts if only one copy of
97
+ * the texture is being rendered.
98
+ * @COGL_MATERIAL_WRAP_MODE_AUTOMATIC: Cogl will try to automatically
99
+ * decide which of the above two to use. For cogl_rectangle(), it
100
+ * will use repeat mode if any of the texture coordinates are
101
+ * outside the range 0→1, otherwise it will use clamp to edge. For
102
+ * cogl_polygon() it will always use repeat mode. For
103
+ * cogl_vertex_buffer_draw() it will use repeat mode except for
104
+ * layers that have point sprite coordinate generation enabled. This
105
+ * is the default value.
106
+ *
107
+ * The wrap mode specifies what happens when texture coordinates
108
+ * outside the range 0→1 are used. Note that if the filter mode is
109
+ * anything but %COGL_MATERIAL_FILTER_NEAREST then texels outside the
110
+ * range 0→1 might be used even when the coordinate is exactly 0 or 1
111
+ * because OpenGL will try to sample neighbouring pixels. For example
112
+ * if you are trying to render the full texture then you may get
113
+ * artifacts around the edges when the pixels from the other side are
114
+ * merged in if the wrap mode is set to repeat.
115
+ *
116
+ * Since: 1.4
117
+ */
118
+ /* GL_ALWAYS is just used here as a value that is known not to clash
119
+ * with any valid GL wrap modes
120
+ *
121
+ * XXX: keep the values in sync with the CoglMaterialWrapModeInternal
122
+ * enum so no conversion is actually needed.
123
+ */
124
+ typedef enum {
125
+ COGL_MATERIAL_WRAP_MODE_REPEAT = 0x2901,
126
+ COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE = 0x812F,
127
+ COGL_MATERIAL_WRAP_MODE_AUTOMATIC = 0x0207
128
+ } CoglMaterialWrapMode;
129
+ /* NB: these values come from the equivalents in gl.h */
130
+
131
+ /**
132
+ * cogl_material_new:
133
+ *
134
+ * Allocates and initializes a blank white material
135
+ *
136
+ * Return value: a pointer to a new #CoglMaterial
137
+ */
138
+ CoglMaterial *
139
+ cogl_material_new (void);
140
+
141
+ /**
142
+ * cogl_material_copy:
143
+ * @source: a #CoglMaterial object to copy
144
+ *
145
+ * Creates a new material with the configuration copied from the
146
+ * source material.
147
+ *
148
+ * We would strongly advise developers to always aim to use
149
+ * cogl_material_copy() instead of cogl_material_new() whenever there will
150
+ * be any similarity between two materials. Copying a material helps Cogl
151
+ * keep track of a materials ancestry which we may use to help minimize GPU
152
+ * state changes.
153
+ *
154
+ * Returns: a pointer to the newly allocated #CoglMaterial
155
+ *
156
+ * Since: 1.2
157
+ */
158
+ CoglMaterial *
159
+ cogl_material_copy (CoglMaterial *source);
160
+
161
+ #ifndef COGL_DISABLE_DEPRECATED
162
+
163
+ /**
164
+ * cogl_material_ref:
165
+ * @material: a #CoglMaterial object.
166
+ *
167
+ * Increment the reference count for a #CoglMaterial.
168
+ *
169
+ * Return value: the @material.
170
+ *
171
+ * Since: 1.0
172
+ *
173
+ * Deprecated: 1.2: Use cogl_object_ref() instead
174
+ */
175
+ CoglHandle
176
+ cogl_material_ref (CoglHandle material) G_GNUC_DEPRECATED;
177
+
178
+ /**
179
+ * cogl_material_unref:
180
+ * @material: a #CoglMaterial object.
181
+ *
182
+ * Decrement the reference count for a #CoglMaterial.
183
+ *
184
+ * Since: 1.0
185
+ *
186
+ * Deprecated: 1.2: Use cogl_object_unref() instead
187
+ */
188
+ void
189
+ cogl_material_unref (CoglHandle material) G_GNUC_DEPRECATED;
190
+
191
+ #endif /* COGL_DISABLE_DEPRECATED */
192
+
193
+ /**
194
+ * cogl_is_material:
195
+ * @handle: A CoglHandle
196
+ *
197
+ * Gets whether the given handle references an existing material object.
198
+ *
199
+ * Return value: %TRUE if the handle references a #CoglMaterial,
200
+ * %FALSE otherwise
201
+ */
202
+ CoglBool
203
+ cogl_is_material (CoglHandle handle);
204
+
205
+ /**
206
+ * cogl_material_set_color:
207
+ * @material: A #CoglMaterial object
208
+ * @color: The components of the color
209
+ *
210
+ * Sets the basic color of the material, used when no lighting is enabled.
211
+ *
212
+ * Note that if you don't add any layers to the material then the color
213
+ * will be blended unmodified with the destination; the default blend
214
+ * expects premultiplied colors: for example, use (0.5, 0.0, 0.0, 0.5) for
215
+ * semi-transparent red. See cogl_color_premultiply().
216
+ *
217
+ * The default value is (1.0, 1.0, 1.0, 1.0)
218
+ *
219
+ * Since: 1.0
220
+ */
221
+ void
222
+ cogl_material_set_color (CoglMaterial *material,
223
+ const CoglColor *color);
224
+
225
+ /**
226
+ * cogl_material_set_color4ub:
227
+ * @material: A #CoglMaterial object
228
+ * @red: The red component
229
+ * @green: The green component
230
+ * @blue: The blue component
231
+ * @alpha: The alpha component
232
+ *
233
+ * Sets the basic color of the material, used when no lighting is enabled.
234
+ *
235
+ * The default value is (0xff, 0xff, 0xff, 0xff)
236
+ *
237
+ * Since: 1.0
238
+ */
239
+ void
240
+ cogl_material_set_color4ub (CoglMaterial *material,
241
+ uint8_t red,
242
+ uint8_t green,
243
+ uint8_t blue,
244
+ uint8_t alpha);
245
+
246
+ /**
247
+ * cogl_material_set_color4f:
248
+ * @material: A #CoglMaterial object
249
+ * @red: The red component
250
+ * @green: The green component
251
+ * @blue: The blue component
252
+ * @alpha: The alpha component
253
+ *
254
+ * Sets the basic color of the material, used when no lighting is enabled.
255
+ *
256
+ * The default value is (1.0, 1.0, 1.0, 1.0)
257
+ *
258
+ * Since: 1.0
259
+ */
260
+ void
261
+ cogl_material_set_color4f (CoglMaterial *material,
262
+ float red,
263
+ float green,
264
+ float blue,
265
+ float alpha);
266
+
267
+ /**
268
+ * cogl_material_get_color:
269
+ * @material: A #CoglMaterial object
270
+ * @color: (out): The location to store the color
271
+ *
272
+ * Retrieves the current material color.
273
+ *
274
+ * Since: 1.0
275
+ */
276
+ void
277
+ cogl_material_get_color (CoglMaterial *material,
278
+ CoglColor *color);
279
+
280
+ /**
281
+ * cogl_material_set_ambient:
282
+ * @material: A #CoglMaterial object
283
+ * @ambient: The components of the desired ambient color
284
+ *
285
+ * Sets the material's ambient color, in the standard OpenGL lighting
286
+ * model. The ambient color affects the overall color of the object.
287
+ *
288
+ * Since the diffuse color will be intense when the light hits the surface
289
+ * directly, the ambient will be most apparent where the light hits at a
290
+ * slant.
291
+ *
292
+ * The default value is (0.2, 0.2, 0.2, 1.0)
293
+ *
294
+ * Since: 1.0
295
+ */
296
+ void
297
+ cogl_material_set_ambient (CoglMaterial *material,
298
+ const CoglColor *ambient);
299
+
300
+ /**
301
+ * cogl_material_get_ambient:
302
+ * @material: A #CoglMaterial object
303
+ * @ambient: The location to store the ambient color
304
+ *
305
+ * Retrieves the current ambient color for @material
306
+ *
307
+ * Since: 1.0
308
+ */
309
+ void
310
+ cogl_material_get_ambient (CoglMaterial *material,
311
+ CoglColor *ambient);
312
+
313
+ /**
314
+ * cogl_material_set_diffuse:
315
+ * @material: A #CoglMaterial object
316
+ * @diffuse: The components of the desired diffuse color
317
+ *
318
+ * Sets the material's diffuse color, in the standard OpenGL lighting
319
+ * model. The diffuse color is most intense where the light hits the
320
+ * surface directly - perpendicular to the surface.
321
+ *
322
+ * The default value is (0.8, 0.8, 0.8, 1.0)
323
+ *
324
+ * Since: 1.0
325
+ */
326
+ void
327
+ cogl_material_set_diffuse (CoglMaterial *material,
328
+ const CoglColor *diffuse);
329
+
330
+ /**
331
+ * cogl_material_get_diffuse:
332
+ * @material: A #CoglMaterial object
333
+ * @diffuse: The location to store the diffuse color
334
+ *
335
+ * Retrieves the current diffuse color for @material
336
+ *
337
+ * Since: 1.0
338
+ */
339
+ void
340
+ cogl_material_get_diffuse (CoglMaterial *material,
341
+ CoglColor *diffuse);
342
+
343
+ /**
344
+ * cogl_material_set_ambient_and_diffuse:
345
+ * @material: A #CoglMaterial object
346
+ * @color: The components of the desired ambient and diffuse colors
347
+ *
348
+ * Conveniently sets the diffuse and ambient color of @material at the same
349
+ * time. See cogl_material_set_ambient() and cogl_material_set_diffuse().
350
+ *
351
+ * The default ambient color is (0.2, 0.2, 0.2, 1.0)
352
+ *
353
+ * The default diffuse color is (0.8, 0.8, 0.8, 1.0)
354
+ *
355
+ * Since: 1.0
356
+ */
357
+ void
358
+ cogl_material_set_ambient_and_diffuse (CoglMaterial *material,
359
+ const CoglColor *color);
360
+
361
+ /**
362
+ * cogl_material_set_specular:
363
+ * @material: A #CoglMaterial object
364
+ * @specular: The components of the desired specular color
365
+ *
366
+ * Sets the material's specular color, in the standard OpenGL lighting
367
+ * model. The intensity of the specular color depends on the viewport
368
+ * position, and is brightest along the lines of reflection.
369
+ *
370
+ * The default value is (0.0, 0.0, 0.0, 1.0)
371
+ *
372
+ * Since: 1.0
373
+ */
374
+ void
375
+ cogl_material_set_specular (CoglMaterial *material,
376
+ const CoglColor *specular);
377
+
378
+ /**
379
+ * cogl_material_get_specular:
380
+ * @material: A #CoglMaterial object
381
+ * @specular: The location to store the specular color
382
+ *
383
+ * Retrieves the materials current specular color.
384
+ *
385
+ * Since: 1.0
386
+ */
387
+ void
388
+ cogl_material_get_specular (CoglMaterial *material,
389
+ CoglColor *specular);
390
+
391
+ /**
392
+ * cogl_material_set_shininess:
393
+ * @material: A #CoglMaterial object
394
+ * @shininess: The desired shininess; must be >= 0.0
395
+ *
396
+ * Sets the shininess of the material, in the standard OpenGL lighting
397
+ * model, which determines the size of the specular highlights. A
398
+ * higher @shininess will produce smaller highlights which makes the
399
+ * object appear more shiny.
400
+ *
401
+ * The default value is 0.0
402
+ *
403
+ * Since: 1.0
404
+ */
405
+ void
406
+ cogl_material_set_shininess (CoglMaterial *material,
407
+ float shininess);
408
+
409
+ /**
410
+ * cogl_material_get_shininess:
411
+ * @material: A #CoglMaterial object
412
+ *
413
+ * Retrieves the materials current emission color.
414
+ *
415
+ * Return value: The materials current shininess value
416
+ *
417
+ * Since: 1.0
418
+ */
419
+ float
420
+ cogl_material_get_shininess (CoglMaterial *material);
421
+
422
+ /**
423
+ * cogl_material_set_emission:
424
+ * @material: A #CoglMaterial object
425
+ * @emission: The components of the desired emissive color
426
+ *
427
+ * Sets the material's emissive color, in the standard OpenGL lighting
428
+ * model. It will look like the surface is a light source emitting this
429
+ * color.
430
+ *
431
+ * The default value is (0.0, 0.0, 0.0, 1.0)
432
+ *
433
+ * Since: 1.0
434
+ */
435
+ void
436
+ cogl_material_set_emission (CoglMaterial *material,
437
+ const CoglColor *emission);
438
+
439
+ /**
440
+ * cogl_material_get_emission:
441
+ * @material: A #CoglMaterial object
442
+ * @emission: The location to store the emission color
443
+ *
444
+ * Retrieves the materials current emission color.
445
+ *
446
+ * Since: 1.0
447
+ */
448
+ void
449
+ cogl_material_get_emission (CoglMaterial *material,
450
+ CoglColor *emission);
451
+
452
+ /**
453
+ * CoglMaterialAlphaFunc:
454
+ * @COGL_MATERIAL_ALPHA_FUNC_NEVER: Never let the fragment through.
455
+ * @COGL_MATERIAL_ALPHA_FUNC_LESS: Let the fragment through if the incoming
456
+ * alpha value is less than the reference alpha value
457
+ * @COGL_MATERIAL_ALPHA_FUNC_EQUAL: Let the fragment through if the incoming
458
+ * alpha value equals the reference alpha value
459
+ * @COGL_MATERIAL_ALPHA_FUNC_LEQUAL: Let the fragment through if the incoming
460
+ * alpha value is less than or equal to the reference alpha value
461
+ * @COGL_MATERIAL_ALPHA_FUNC_GREATER: Let the fragment through if the incoming
462
+ * alpha value is greater than the reference alpha value
463
+ * @COGL_MATERIAL_ALPHA_FUNC_NOTEQUAL: Let the fragment through if the incoming
464
+ * alpha value does not equal the reference alpha value
465
+ * @COGL_MATERIAL_ALPHA_FUNC_GEQUAL: Let the fragment through if the incoming
466
+ * alpha value is greater than or equal to the reference alpha value.
467
+ * @COGL_MATERIAL_ALPHA_FUNC_ALWAYS: Always let the fragment through.
468
+ *
469
+ * Alpha testing happens before blending primitives with the framebuffer and
470
+ * gives an opportunity to discard fragments based on a comparison with the
471
+ * incoming alpha value and a reference alpha value. The #CoglMaterialAlphaFunc
472
+ * determines how the comparison is done.
473
+ */
474
+ typedef enum {
475
+ COGL_MATERIAL_ALPHA_FUNC_NEVER = 0x0200,
476
+ COGL_MATERIAL_ALPHA_FUNC_LESS = 0x0201,
477
+ COGL_MATERIAL_ALPHA_FUNC_EQUAL = 0x0202,
478
+ COGL_MATERIAL_ALPHA_FUNC_LEQUAL = 0x0203,
479
+ COGL_MATERIAL_ALPHA_FUNC_GREATER = 0x0204,
480
+ COGL_MATERIAL_ALPHA_FUNC_NOTEQUAL = 0x0205,
481
+ COGL_MATERIAL_ALPHA_FUNC_GEQUAL = 0x0206,
482
+ COGL_MATERIAL_ALPHA_FUNC_ALWAYS = 0x0207
483
+ } CoglMaterialAlphaFunc;
484
+
485
+ /**
486
+ * cogl_material_set_alpha_test_function:
487
+ * @material: A #CoglMaterial object
488
+ * @alpha_func: A @CoglMaterialAlphaFunc constant
489
+ * @alpha_reference: A reference point that the chosen alpha function uses
490
+ * to compare incoming fragments to.
491
+ *
492
+ * Before a primitive is blended with the framebuffer, it goes through an
493
+ * alpha test stage which lets you discard fragments based on the current
494
+ * alpha value. This function lets you change the function used to evaluate
495
+ * the alpha channel, and thus determine which fragments are discarded
496
+ * and which continue on to the blending stage.
497
+ *
498
+ * The default is %COGL_MATERIAL_ALPHA_FUNC_ALWAYS
499
+ *
500
+ * Since: 1.0
501
+ */
502
+ void
503
+ cogl_material_set_alpha_test_function (CoglMaterial *material,
504
+ CoglMaterialAlphaFunc alpha_func,
505
+ float alpha_reference);
506
+
507
+ /**
508
+ * cogl_material_set_blend:
509
+ * @material: A #CoglMaterial object
510
+ * @blend_string: A <link linkend="cogl-Blend-Strings">Cogl blend string</link>
511
+ * describing the desired blend function.
512
+ * @error: return location for a #CoglError that may report lack of driver
513
+ * support if you give separate blend string statements for the alpha
514
+ * channel and RGB channels since some drivers, or backends such as
515
+ * GLES 1.1, don't support this feature. May be %NULL, in which case a
516
+ * warning will be printed out using GLib's logging facilities if an
517
+ * error is encountered.
518
+ *
519
+ * If not already familiar; please refer <link linkend="cogl-Blend-Strings">here</link>
520
+ * for an overview of what blend strings are, and their syntax.
521
+ *
522
+ * Blending occurs after the alpha test function, and combines fragments with
523
+ * the framebuffer.
524
+
525
+ * Currently the only blend function Cogl exposes is ADD(). So any valid
526
+ * blend statements will be of the form:
527
+ *
528
+ * |[
529
+ * &lt;channel-mask&gt;=ADD(SRC_COLOR*(&lt;factor&gt;), DST_COLOR*(&lt;factor&gt;))
530
+ * ]|
531
+ *
532
+ * <warning>The brackets around blend factors are currently not
533
+ * optional!</warning>
534
+ *
535
+ * This is the list of source-names usable as blend factors:
536
+ * <itemizedlist>
537
+ * <listitem><para>SRC_COLOR: The color of the in comming fragment</para></listitem>
538
+ * <listitem><para>DST_COLOR: The color of the framebuffer</para></listitem>
539
+ * <listitem><para>CONSTANT: The constant set via cogl_material_set_blend_constant()</para></listitem>
540
+ * </itemizedlist>
541
+ *
542
+ * The source names can be used according to the
543
+ * <link linkend="cogl-Blend-String-syntax">color-source and factor syntax</link>,
544
+ * so for example "(1-SRC_COLOR[A])" would be a valid factor, as would
545
+ * "(CONSTANT[RGB])"
546
+ *
547
+ * These can also be used as factors:
548
+ * <itemizedlist>
549
+ * <listitem>0: (0, 0, 0, 0)</listitem>
550
+ * <listitem>1: (1, 1, 1, 1)</listitem>
551
+ * <listitem>SRC_ALPHA_SATURATE_FACTOR: (f,f,f,1) where f = MIN(SRC_COLOR[A],1-DST_COLOR[A])</listitem>
552
+ * </itemizedlist>
553
+ *
554
+ * <note>Remember; all color components are normalized to the range [0, 1]
555
+ * before computing the result of blending.</note>
556
+ *
557
+ * <example id="cogl-Blend-Strings-blend-unpremul">
558
+ * <title>Blend Strings/1</title>
559
+ * <para>Blend a non-premultiplied source over a destination with
560
+ * premultiplied alpha:</para>
561
+ * <programlisting>
562
+ * "RGB = ADD(SRC_COLOR*(SRC_COLOR[A]), DST_COLOR*(1-SRC_COLOR[A]))"
563
+ * "A = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))"
564
+ * </programlisting>
565
+ * </example>
566
+ *
567
+ * <example id="cogl-Blend-Strings-blend-premul">
568
+ * <title>Blend Strings/2</title>
569
+ * <para>Blend a premultiplied source over a destination with
570
+ * premultiplied alpha</para>
571
+ * <programlisting>
572
+ * "RGBA = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))"
573
+ * </programlisting>
574
+ * </example>
575
+ *
576
+ * The default blend string is:
577
+ * |[
578
+ * RGBA = ADD (SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))
579
+ * ]|
580
+ *
581
+ * That gives normal alpha-blending when the calculated color for the material
582
+ * is in premultiplied form.
583
+ *
584
+ * Return value: %TRUE if the blend string was successfully parsed, and the
585
+ * described blending is supported by the underlying driver/hardware. If
586
+ * there was an error, %FALSE is returned and @error is set accordingly (if
587
+ * present).
588
+ *
589
+ * Since: 1.0
590
+ */
591
+ CoglBool
592
+ cogl_material_set_blend (CoglMaterial *material,
593
+ const char *blend_string,
594
+ CoglError **error);
595
+
596
+ /**
597
+ * cogl_material_set_blend_constant:
598
+ * @material: A #CoglMaterial object
599
+ * @constant_color: The constant color you want
600
+ *
601
+ * When blending is setup to reference a CONSTANT blend factor then
602
+ * blending will depend on the constant set with this function.
603
+ *
604
+ * Since: 1.0
605
+ */
606
+ void
607
+ cogl_material_set_blend_constant (CoglMaterial *material,
608
+ const CoglColor *constant_color);
609
+
610
+ /**
611
+ * cogl_material_set_point_size:
612
+ * @material: a material.
613
+ * @point_size: the new point size.
614
+ *
615
+ * Changes the size of points drawn when %COGL_VERTICES_MODE_POINTS is
616
+ * used with the vertex buffer API. Note that typically the GPU will
617
+ * only support a limited minimum and maximum range of point sizes. If
618
+ * the chosen point size is outside that range then the nearest value
619
+ * within that range will be used instead. The size of a point is in
620
+ * screen space so it will be the same regardless of any
621
+ * transformations. The default point size is 1.0.
622
+ *
623
+ * Since: 1.4
624
+ */
625
+ void
626
+ cogl_material_set_point_size (CoglMaterial *material,
627
+ float point_size);
628
+
629
+ /**
630
+ * cogl_material_get_point_size:
631
+ * @material: a #CoglHandle to a material.
632
+ *
633
+ * Get the size of points drawn when %COGL_VERTICES_MODE_POINTS is
634
+ * used with the vertex buffer API.
635
+ *
636
+ * Return value: the point size of the material.
637
+ *
638
+ * Since: 1.4
639
+ */
640
+ float
641
+ cogl_material_get_point_size (CoglMaterial *material);
642
+
643
+ /**
644
+ * cogl_material_get_user_program:
645
+ * @material: a #CoglMaterial object.
646
+ *
647
+ * Queries what user program has been associated with the given
648
+ * @material using cogl_material_set_user_program().
649
+ *
650
+ * Return value: (transfer none): The current user program
651
+ * or %COGL_INVALID_HANDLE.
652
+ *
653
+ * Since: 1.4
654
+ */
655
+ CoglHandle
656
+ cogl_material_get_user_program (CoglMaterial *material);
657
+
658
+ /**
659
+ * cogl_material_set_user_program:
660
+ * @material: a #CoglMaterial object.
661
+ * @program: A #CoglHandle to a linked CoglProgram
662
+ *
663
+ * Associates a linked CoglProgram with the given material so that the
664
+ * program can take full control of vertex and/or fragment processing.
665
+ *
666
+ * This is an example of how it can be used to associate an ARBfp
667
+ * program with a #CoglMaterial:
668
+ * |[
669
+ * CoglHandle shader;
670
+ * CoglHandle program;
671
+ * CoglMaterial *material;
672
+ *
673
+ * shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT);
674
+ * cogl_shader_source (shader,
675
+ * "!!ARBfp1.0\n"
676
+ * "MOV result.color,fragment.color;\n"
677
+ * "END\n");
678
+ * cogl_shader_compile (shader);
679
+ *
680
+ * program = cogl_create_program ();
681
+ * cogl_program_attach_shader (program, shader);
682
+ * cogl_program_link (program);
683
+ *
684
+ * material = cogl_material_new ();
685
+ * cogl_material_set_user_program (material, program);
686
+ *
687
+ * cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff);
688
+ * cogl_rectangle (0, 0, 100, 100);
689
+ * ]|
690
+ *
691
+ * It is possibly worth keeping in mind that this API is not part of
692
+ * the long term design for how we want to expose shaders to Cogl
693
+ * developers (We are planning on deprecating the cogl_program and
694
+ * cogl_shader APIs in favour of a "snippet" framework) but in the
695
+ * meantime we hope this will handle most practical GLSL and ARBfp
696
+ * requirements.
697
+ *
698
+ * Also remember you need to check for either the
699
+ * %COGL_FEATURE_SHADERS_GLSL or %COGL_FEATURE_SHADERS_ARBFP before
700
+ * using the cogl_program or cogl_shader API.
701
+ *
702
+ * Since: 1.4
703
+ */
704
+ void
705
+ cogl_material_set_user_program (CoglMaterial *material,
706
+ CoglHandle program);
707
+
708
+ /**
709
+ * cogl_material_set_layer:
710
+ * @material: A #CoglMaterial object
711
+ * @layer_index: the index of the layer
712
+ * @texture: a #CoglHandle for the layer object
713
+ *
714
+ * In addition to the standard OpenGL lighting model a Cogl material may have
715
+ * one or more layers comprised of textures that can be blended together in
716
+ * order, with a number of different texture combine modes. This function
717
+ * defines a new texture layer.
718
+ *
719
+ * The index values of multiple layers do not have to be consecutive; it is
720
+ * only their relative order that is important.
721
+ *
722
+ * <note>In the future, we may define other types of material layers, such
723
+ * as purely GLSL based layers.</note>
724
+ *
725
+ * Since: 1.0
726
+ */
727
+ void
728
+ cogl_material_set_layer (CoglMaterial *material,
729
+ int layer_index,
730
+ CoglHandle texture);
731
+
732
+ /**
733
+ * cogl_material_remove_layer:
734
+ * @material: A #CoglMaterial object
735
+ * @layer_index: Specifies the layer you want to remove
736
+ *
737
+ * This function removes a layer from your material
738
+ */
739
+ void
740
+ cogl_material_remove_layer (CoglMaterial *material,
741
+ int layer_index);
742
+
743
+
744
+ /**
745
+ * cogl_material_set_layer_combine:
746
+ * @material: A #CoglMaterial object
747
+ * @layer_index: Specifies the layer you want define a combine function for
748
+ * @blend_string: A <link linkend="cogl-Blend-Strings">Cogl blend string</link>
749
+ * describing the desired texture combine function.
750
+ * @error: A #CoglError that may report parse errors or lack of GPU/driver
751
+ * support. May be %NULL, in which case a warning will be printed out if an
752
+ * error is encountered.
753
+ *
754
+ * If not already familiar; you can refer
755
+ * <link linkend="cogl-Blend-Strings">here</link> for an overview of what blend
756
+ * strings are and there syntax.
757
+ *
758
+ * These are all the functions available for texture combining:
759
+ * <itemizedlist>
760
+ * <listitem>REPLACE(arg0) = arg0</listitem>
761
+ * <listitem>MODULATE(arg0, arg1) = arg0 x arg1</listitem>
762
+ * <listitem>ADD(arg0, arg1) = arg0 + arg1</listitem>
763
+ * <listitem>ADD_SIGNED(arg0, arg1) = arg0 + arg1 - 0.5</listitem>
764
+ * <listitem>INTERPOLATE(arg0, arg1, arg2) = arg0 x arg2 + arg1 x (1 - arg2)</listitem>
765
+ * <listitem>SUBTRACT(arg0, arg1) = arg0 - arg1</listitem>
766
+ * <listitem>
767
+ * <programlisting>
768
+ * DOT3_RGB(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
769
+ * (arg0[G] - 0.5)) * (arg1[G] - 0.5) +
770
+ * (arg0[B] - 0.5)) * (arg1[B] - 0.5))
771
+ * </programlisting>
772
+ * </listitem>
773
+ * <listitem>
774
+ * <programlisting>
775
+ * DOT3_RGBA(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
776
+ * (arg0[G] - 0.5)) * (arg1[G] - 0.5) +
777
+ * (arg0[B] - 0.5)) * (arg1[B] - 0.5))
778
+ * </programlisting>
779
+ * </listitem>
780
+ * </itemizedlist>
781
+ *
782
+ * Refer to the
783
+ * <link linkend="cogl-Blend-String-syntax">color-source syntax</link> for
784
+ * describing the arguments. The valid source names for texture combining
785
+ * are:
786
+ * <variablelist>
787
+ * <varlistentry>
788
+ * <term>TEXTURE</term>
789
+ * <listitem>Use the color from the current texture layer</listitem>
790
+ * </varlistentry>
791
+ * <varlistentry>
792
+ * <term>TEXTURE_0, TEXTURE_1, etc</term>
793
+ * <listitem>Use the color from the specified texture layer</listitem>
794
+ * </varlistentry>
795
+ * <varlistentry>
796
+ * <term>CONSTANT</term>
797
+ * <listitem>Use the color from the constant given with
798
+ * cogl_material_set_layer_constant()</listitem>
799
+ * </varlistentry>
800
+ * <varlistentry>
801
+ * <term>PRIMARY</term>
802
+ * <listitem>Use the color of the material as set with
803
+ * cogl_material_set_color()</listitem>
804
+ * </varlistentry>
805
+ * <varlistentry>
806
+ * <term>PREVIOUS</term>
807
+ * <listitem>Either use the texture color from the previous layer, or
808
+ * if this is layer 0, use the color of the material as set with
809
+ * cogl_material_set_color()</listitem>
810
+ * </varlistentry>
811
+ * </variablelist>
812
+ *
813
+ * <refsect2 id="cogl-Layer-Combine-Examples">
814
+ * <title>Layer Combine Examples</title>
815
+ * <para>This is effectively what the default blending is:</para>
816
+ * <informalexample><programlisting>
817
+ * RGBA = MODULATE (PREVIOUS, TEXTURE)
818
+ * </programlisting></informalexample>
819
+ * <para>This could be used to cross-fade between two images, using
820
+ * the alpha component of a constant as the interpolator. The constant
821
+ * color is given by calling cogl_material_set_layer_constant.</para>
822
+ * <informalexample><programlisting>
823
+ * RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A])
824
+ * </programlisting></informalexample>
825
+ * </refsect2>
826
+ *
827
+ * <note>You can't give a multiplication factor for arguments as you can
828
+ * with blending.</note>
829
+ *
830
+ * Return value: %TRUE if the blend string was successfully parsed, and the
831
+ * described texture combining is supported by the underlying driver and
832
+ * or hardware. On failure, %FALSE is returned and @error is set
833
+ *
834
+ * Since: 1.0
835
+ */
836
+ CoglBool
837
+ cogl_material_set_layer_combine (CoglMaterial *material,
838
+ int layer_index,
839
+ const char *blend_string,
840
+ CoglError **error);
841
+
842
+ /**
843
+ * cogl_material_set_layer_combine_constant:
844
+ * @material: A #CoglMaterial object
845
+ * @layer_index: Specifies the layer you want to specify a constant used
846
+ * for texture combining
847
+ * @constant: The constant color you want
848
+ *
849
+ * When you are using the 'CONSTANT' color source in a layer combine
850
+ * description then you can use this function to define its value.
851
+ *
852
+ * Since: 1.0
853
+ */
854
+ void
855
+ cogl_material_set_layer_combine_constant (CoglMaterial *material,
856
+ int layer_index,
857
+ const CoglColor *constant);
858
+
859
+ /**
860
+ * cogl_material_set_layer_matrix:
861
+ * @material: A #CoglMaterial object
862
+ * @layer_index: the index for the layer inside @material
863
+ * @matrix: the transformation matrix for the layer
864
+ *
865
+ * This function lets you set a matrix that can be used to e.g. translate
866
+ * and rotate a single layer of a material used to fill your geometry.
867
+ */
868
+ void
869
+ cogl_material_set_layer_matrix (CoglMaterial *material,
870
+ int layer_index,
871
+ const CoglMatrix *matrix);
872
+
873
+ /**
874
+ * cogl_material_get_layers:
875
+ * @material: A #CoglMaterial object
876
+ *
877
+ * This function lets you access a material's internal list of layers
878
+ * for iteration.
879
+ *
880
+ * <note>You should avoid using this API if possible since it was only
881
+ * made public by mistake and will be deprecated when we have
882
+ * suitable alternative.</note>
883
+ *
884
+ * <note>It's important to understand that the list returned may not
885
+ * remain valid if you modify the material or any of the layers in any
886
+ * way and so you would have to re-get the list in that
887
+ * situation.</note>
888
+ *
889
+ * Return value: (element-type CoglMaterialLayer) (transfer none): A
890
+ * list of #CoglMaterialLayer<!-- -->'s that can be passed to the
891
+ * cogl_material_layer_* functions. The list is owned by Cogl and it
892
+ * should not be modified or freed
893
+ */
894
+ const GList *
895
+ cogl_material_get_layers (CoglMaterial *material);
896
+
897
+ /**
898
+ * cogl_material_get_n_layers:
899
+ * @material: A #CoglMaterial object
900
+ *
901
+ * Retrieves the number of layers defined for the given @material
902
+ *
903
+ * Return value: the number of layers
904
+ *
905
+ * Since: 1.0
906
+ */
907
+ int
908
+ cogl_material_get_n_layers (CoglMaterial *material);
909
+
910
+ /**
911
+ * CoglMaterialLayerType:
912
+ * @COGL_MATERIAL_LAYER_TYPE_TEXTURE: The layer represents a
913
+ * <link linkend="cogl-Textures">texture</link>
914
+ *
915
+ * Available types of layers for a #CoglMaterial. This enumeration
916
+ * might be expanded in later versions.
917
+ *
918
+ * Since: 1.0
919
+ */
920
+ typedef enum {
921
+ COGL_MATERIAL_LAYER_TYPE_TEXTURE
922
+ } CoglMaterialLayerType;
923
+
924
+
925
+ /**
926
+ * cogl_material_layer_get_type:
927
+ * @layer: A #CoglMaterialLayer object
928
+ *
929
+ * Retrieves the type of the layer
930
+ *
931
+ * Currently there is only one type of layer defined:
932
+ * %COGL_MATERIAL_LAYER_TYPE_TEXTURE, but considering we may add purely GLSL
933
+ * based layers in the future, you should write code that checks the type
934
+ * first.
935
+ *
936
+ * Return value: the type of the layer
937
+ */
938
+ CoglMaterialLayerType
939
+ cogl_material_layer_get_type (CoglMaterialLayer *layer);
940
+
941
+ /**
942
+ * cogl_material_layer_get_texture:
943
+ * @layer: A #CoglMaterialLayer object
944
+ *
945
+ * Extracts a texture handle for a specific layer.
946
+ *
947
+ * <note>In the future Cogl may support purely GLSL based layers; for those
948
+ * layers this function which will likely return %COGL_INVALID_HANDLE if you
949
+ * try to get the texture handle from them. Considering this scenario, you
950
+ * should call cogl_material_layer_get_type() first in order check it is of
951
+ * type %COGL_MATERIAL_LAYER_TYPE_TEXTURE before calling this function.</note>
952
+ *
953
+ * Return value: (transfer none): a #CoglHandle for the texture inside the layer
954
+ */
955
+ CoglHandle
956
+ cogl_material_layer_get_texture (CoglMaterialLayer *layer);
957
+
958
+ /**
959
+ * cogl_material_layer_get_min_filter:
960
+ * @layer: a #CoglHandle for a material layer
961
+ *
962
+ * Queries the currently set downscaling filter for a material layer
963
+ *
964
+ * Return value: the current downscaling filter
965
+ */
966
+ CoglMaterialFilter
967
+ cogl_material_layer_get_min_filter (CoglMaterialLayer *layer);
968
+
969
+ /**
970
+ * cogl_material_layer_get_mag_filter:
971
+ * @layer: A #CoglMaterialLayer object
972
+ *
973
+ * Queries the currently set downscaling filter for a material later
974
+ *
975
+ * Return value: the current downscaling filter
976
+ */
977
+ CoglMaterialFilter
978
+ cogl_material_layer_get_mag_filter (CoglMaterialLayer *layer);
979
+
980
+ /**
981
+ * cogl_material_set_layer_filters:
982
+ * @material: A #CoglMaterial object
983
+ * @layer_index: the layer number to change.
984
+ * @min_filter: the filter used when scaling a texture down.
985
+ * @mag_filter: the filter used when magnifying a texture.
986
+ *
987
+ * Changes the decimation and interpolation filters used when a texture is
988
+ * drawn at other scales than 100%.
989
+ */
990
+ void
991
+ cogl_material_set_layer_filters (CoglMaterial *material,
992
+ int layer_index,
993
+ CoglMaterialFilter min_filter,
994
+ CoglMaterialFilter mag_filter);
995
+
996
+ /**
997
+ * cogl_material_set_layer_point_sprite_coords_enabled:
998
+ * @material: a #CoglHandle to a material.
999
+ * @layer_index: the layer number to change.
1000
+ * @enable: whether to enable point sprite coord generation.
1001
+ * @error: A return location for a CoglError, or NULL to ignore errors.
1002
+ *
1003
+ * When rendering points, if @enable is %TRUE then the texture
1004
+ * coordinates for this layer will be replaced with coordinates that
1005
+ * vary from 0.0 to 1.0 across the primitive. The top left of the
1006
+ * point will have the coordinates 0.0,0.0 and the bottom right will
1007
+ * have 1.0,1.0. If @enable is %FALSE then the coordinates will be
1008
+ * fixed for the entire point.
1009
+ *
1010
+ * This function will only work if %COGL_FEATURE_POINT_SPRITE is
1011
+ * available. If the feature is not available then the function will
1012
+ * return %FALSE and set @error.
1013
+ *
1014
+ * Return value: %TRUE if the function succeeds, %FALSE otherwise.
1015
+ * Since: 1.4
1016
+ */
1017
+ CoglBool
1018
+ cogl_material_set_layer_point_sprite_coords_enabled (CoglMaterial *material,
1019
+ int layer_index,
1020
+ CoglBool enable,
1021
+ CoglError **error);
1022
+
1023
+ /**
1024
+ * cogl_material_get_layer_point_sprite_coords_enabled:
1025
+ * @material: a #CoglHandle to a material.
1026
+ * @layer_index: the layer number to check.
1027
+ *
1028
+ * Gets whether point sprite coordinate generation is enabled for this
1029
+ * texture layer.
1030
+ *
1031
+ * Return value: whether the texture coordinates will be replaced with
1032
+ * point sprite coordinates.
1033
+ *
1034
+ * Since: 1.4
1035
+ */
1036
+ CoglBool
1037
+ cogl_material_get_layer_point_sprite_coords_enabled (CoglMaterial *material,
1038
+ int layer_index);
1039
+
1040
+ /**
1041
+ * cogl_material_get_layer_wrap_mode_s:
1042
+ * @material: A #CoglMaterial object
1043
+ * @layer_index: the layer number to change.
1044
+ *
1045
+ * Returns the wrap mode for the 's' coordinate of texture lookups on this
1046
+ * layer.
1047
+ *
1048
+ * Return value: the wrap mode for the 's' coordinate of texture lookups on
1049
+ * this layer.
1050
+ *
1051
+ * Since: 1.6
1052
+ */
1053
+ CoglMaterialWrapMode
1054
+ cogl_material_get_layer_wrap_mode_s (CoglMaterial *material,
1055
+ int layer_index);
1056
+
1057
+ /**
1058
+ * cogl_material_set_layer_wrap_mode_s:
1059
+ * @material: A #CoglMaterial object
1060
+ * @layer_index: the layer number to change.
1061
+ * @mode: the new wrap mode
1062
+ *
1063
+ * Sets the wrap mode for the 's' coordinate of texture lookups on this layer.
1064
+ *
1065
+ * Since: 1.4
1066
+ */
1067
+ void
1068
+ cogl_material_set_layer_wrap_mode_s (CoglMaterial *material,
1069
+ int layer_index,
1070
+ CoglMaterialWrapMode mode);
1071
+
1072
+ /**
1073
+ * cogl_material_get_layer_wrap_mode_t:
1074
+ * @material: A #CoglMaterial object
1075
+ * @layer_index: the layer number to change.
1076
+ *
1077
+ * Returns the wrap mode for the 't' coordinate of texture lookups on this
1078
+ * layer.
1079
+ *
1080
+ * Return value: the wrap mode for the 't' coordinate of texture lookups on
1081
+ * this layer.
1082
+ *
1083
+ * Since: 1.6
1084
+ */
1085
+ CoglMaterialWrapMode
1086
+ cogl_material_get_layer_wrap_mode_t (CoglMaterial *material,
1087
+ int layer_index);
1088
+
1089
+
1090
+ /**
1091
+ * cogl_material_set_layer_wrap_mode_t:
1092
+ * @material: A #CoglMaterial object
1093
+ * @layer_index: the layer number to change.
1094
+ * @mode: the new wrap mode
1095
+ *
1096
+ * Sets the wrap mode for the 't' coordinate of texture lookups on this layer.
1097
+ *
1098
+ * Since: 1.4
1099
+ */
1100
+ void
1101
+ cogl_material_set_layer_wrap_mode_t (CoglMaterial *material,
1102
+ int layer_index,
1103
+ CoglMaterialWrapMode mode);
1104
+
1105
+ /**
1106
+ * cogl_material_get_layer_wrap_mode_p:
1107
+ * @material: A #CoglMaterial object
1108
+ * @layer_index: the layer number to change.
1109
+ *
1110
+ * Returns the wrap mode for the 'p' coordinate of texture lookups on this
1111
+ * layer.
1112
+ *
1113
+ * Return value: the wrap mode for the 'p' coordinate of texture lookups on
1114
+ * this layer.
1115
+ *
1116
+ * Since: 1.6
1117
+ */
1118
+ CoglMaterialWrapMode
1119
+ cogl_material_get_layer_wrap_mode_p (CoglMaterial *material,
1120
+ int layer_index);
1121
+
1122
+ /**
1123
+ * cogl_material_set_layer_wrap_mode_p:
1124
+ * @material: A #CoglMaterial object
1125
+ * @layer_index: the layer number to change.
1126
+ * @mode: the new wrap mode
1127
+ *
1128
+ * Sets the wrap mode for the 'p' coordinate of texture lookups on
1129
+ * this layer. 'p' is the third coordinate.
1130
+ *
1131
+ * Since: 1.4
1132
+ */
1133
+ void
1134
+ cogl_material_set_layer_wrap_mode_p (CoglMaterial *material,
1135
+ int layer_index,
1136
+ CoglMaterialWrapMode mode);
1137
+
1138
+ /**
1139
+ * cogl_material_set_layer_wrap_mode:
1140
+ * @material: A #CoglMaterial object
1141
+ * @layer_index: the layer number to change.
1142
+ * @mode: the new wrap mode
1143
+ *
1144
+ * Sets the wrap mode for all three coordinates of texture lookups on
1145
+ * this layer. This is equivalent to calling
1146
+ * cogl_material_set_layer_wrap_mode_s(),
1147
+ * cogl_material_set_layer_wrap_mode_t() and
1148
+ * cogl_material_set_layer_wrap_mode_p() separately.
1149
+ *
1150
+ * Since: 1.4
1151
+ */
1152
+ void
1153
+ cogl_material_set_layer_wrap_mode (CoglMaterial *material,
1154
+ int layer_index,
1155
+ CoglMaterialWrapMode mode);
1156
+
1157
+ /**
1158
+ * cogl_material_layer_get_wrap_mode_s:
1159
+ * @layer: A #CoglMaterialLayer object
1160
+ *
1161
+ * Gets the wrap mode for the 's' coordinate of texture lookups on this layer.
1162
+ *
1163
+ * Return value: the wrap mode value for the s coordinate.
1164
+ *
1165
+ * Since: 1.4
1166
+ */
1167
+ CoglMaterialWrapMode
1168
+ cogl_material_layer_get_wrap_mode_s (CoglMaterialLayer *layer);
1169
+
1170
+ /**
1171
+ * cogl_material_layer_get_wrap_mode_t:
1172
+ * @layer: A #CoglMaterialLayer object
1173
+ *
1174
+ * Gets the wrap mode for the 't' coordinate of texture lookups on this layer.
1175
+ *
1176
+ * Return value: the wrap mode value for the t coordinate.
1177
+ *
1178
+ * Since: 1.4
1179
+ */
1180
+ CoglMaterialWrapMode
1181
+ cogl_material_layer_get_wrap_mode_t (CoglMaterialLayer *layer);
1182
+
1183
+ /**
1184
+ * cogl_material_layer_get_wrap_mode_p:
1185
+ * @layer: A #CoglMaterialLayer object
1186
+ *
1187
+ * Gets the wrap mode for the 'p' coordinate of texture lookups on
1188
+ * this layer. 'p' is the third coordinate.
1189
+ *
1190
+ * Return value: the wrap mode value for the p coordinate.
1191
+ *
1192
+ * Since: 1.4
1193
+ */
1194
+ CoglMaterialWrapMode
1195
+ cogl_material_layer_get_wrap_mode_p (CoglMaterialLayer *layer);
1196
+
1197
+ #ifdef COGL_ENABLE_EXPERIMENTAL_API
1198
+
1199
+ /**
1200
+ * cogl_material_set_depth_state:
1201
+ * @material: A #CoglMaterial object
1202
+ * @state: A #CoglDepthState struct
1203
+ * @error: A #CoglError to report failures to setup the given @state.
1204
+ *
1205
+ * This commits all the depth state configured in @state struct to the
1206
+ * given @material. The configuration values are copied into the
1207
+ * material so there is no requirement to keep the #CoglDepthState
1208
+ * struct around if you don't need it any more.
1209
+ *
1210
+ * Note: Since some platforms do not support the depth range feature
1211
+ * it is possible for this function to fail and report an @error.
1212
+ *
1213
+ * Returns: TRUE if the GPU supports all the given @state else %FALSE
1214
+ * and returns an @error.
1215
+ *
1216
+ * Since: 1.8
1217
+ * Stability: Unstable
1218
+ */
1219
+ CoglBool
1220
+ cogl_material_set_depth_state (CoglMaterial *material,
1221
+ const CoglDepthState *state,
1222
+ CoglError **error);
1223
+
1224
+ /**
1225
+ * cogl_material_get_depth_state:
1226
+ * @material: A #CoglMaterial object
1227
+ * @state_out: A destination #CoglDepthState struct
1228
+ *
1229
+ * Retrieves the current depth state configuration for the given
1230
+ * @pipeline as previously set using cogl_pipeline_set_depth_state().
1231
+ *
1232
+ * Since: 2.0
1233
+ * Stability: Unstable
1234
+ */
1235
+ void
1236
+ cogl_material_get_depth_state (CoglMaterial *material,
1237
+ CoglDepthState *state_out);
1238
+
1239
+ /**
1240
+ * CoglMaterialLayerCallback:
1241
+ * @material: The #CoglMaterial whos layers are being iterated
1242
+ * @layer_index: The current layer index
1243
+ * @user_data: The private data passed to cogl_material_foreach_layer()
1244
+ *
1245
+ * The callback prototype used with cogl_material_foreach_layer() for
1246
+ * iterating all the layers of a @material.
1247
+ *
1248
+ * Since: 1.4
1249
+ * Stability: Unstable
1250
+ */
1251
+ typedef CoglBool (*CoglMaterialLayerCallback) (CoglMaterial *material,
1252
+ int layer_index,
1253
+ void *user_data);
1254
+
1255
+ /**
1256
+ * cogl_material_foreach_layer:
1257
+ * @material: A #CoglMaterial object
1258
+ * @callback: A #CoglMaterialLayerCallback to be called for each layer
1259
+ * index
1260
+ * @user_data: Private data that will be passed to the callback
1261
+ *
1262
+ * Iterates all the layer indices of the given @material.
1263
+ *
1264
+ * Since: 1.4
1265
+ * Stability: Unstable
1266
+ */
1267
+ void
1268
+ cogl_material_foreach_layer (CoglMaterial *material,
1269
+ CoglMaterialLayerCallback callback,
1270
+ void *user_data);
1271
+
1272
+ #endif /* COGL_ENABLE_EXPERIMENTAL_API */
1273
+
1274
+ G_END_DECLS
1275
+
1276
+ #endif /* __COGL_MATERIAL_H__ */