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,129 @@
1
+ /*
2
+ * Cogl
3
+ *
4
+ * An object oriented GL/GLES Abstraction/Utility Layer
5
+ *
6
+ * Copyright (C) 2012 Red Hat, Inc.
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
20
+ * <http://www.gnu.org/licenses/>.
21
+ *
22
+ *
23
+ *
24
+ * Authors:
25
+ * Owen Taylor <otaylor@redhat.com>
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_FRAME_INFO_H
32
+ #define __COGL_FRAME_INFO_H
33
+
34
+ #include <cogl/cogl-types.h>
35
+ #include <cogl/cogl-output.h>
36
+ #include <glib.h>
37
+
38
+ G_BEGIN_DECLS
39
+
40
+ typedef struct _CoglFrameInfo CoglFrameInfo;
41
+ #define COGL_FRAME_INFO(X) ((CoglFrameInfo *)(X))
42
+
43
+ /**
44
+ * cogl_is_frame_info:
45
+ * @object: A #CoglObject pointer
46
+ *
47
+ * Gets whether the given object references a #CoglFrameInfo.
48
+ *
49
+ * Return value: %TRUE if the object references a #CoglFrameInfo
50
+ * and %FALSE otherwise.
51
+ * Since: 2.0
52
+ * Stability: unstable
53
+ */
54
+ CoglBool
55
+ cogl_is_frame_info (void *object);
56
+
57
+ /**
58
+ * cogl_frame_info_get_frame_counter:
59
+ * @info: a #CoglFrameInfo object
60
+ *
61
+ * Gets the frame counter for the #CoglOnscreen that corresponds
62
+ * to this frame.
63
+ *
64
+ * Return value: The frame counter value
65
+ * Since: 1.14
66
+ * Stability: unstable
67
+ */
68
+ int64_t cogl_frame_info_get_frame_counter (CoglFrameInfo *info);
69
+
70
+ /**
71
+ * cogl_frame_info_get_presentation_time:
72
+ * @info: a #CoglFrameInfo object
73
+ *
74
+ * Gets the presentation time for the frame. This is the time at which
75
+ * the frame became visible to the user.
76
+ *
77
+ * The presentation time measured in nanoseconds is based on a
78
+ * monotonic time source. The time source is not necessarily
79
+ * correlated with system/wall clock time and may represent the time
80
+ * elapsed since some undefined system event such as when the system
81
+ * last booted.
82
+ *
83
+ * <note>Linux kernel version less that 3.8 can result in
84
+ * non-monotonic timestamps being reported when using a drm based
85
+ * OpenGL driver. Also some buggy Mesa drivers up to 9.0.1 may also
86
+ * incorrectly report non-monotonic timestamps.</note>
87
+ *
88
+ * Return value: the presentation time for the frame
89
+ * Since: 1.14
90
+ * Stability: unstable
91
+ */
92
+ int64_t cogl_frame_info_get_presentation_time (CoglFrameInfo *info);
93
+
94
+ /**
95
+ * cogl_frame_info_get_refresh_rate:
96
+ * @info: a #CoglFrameInfo object
97
+ *
98
+ * Gets the refresh rate in Hertz for the output that the frame was on
99
+ * at the time the frame was presented.
100
+ *
101
+ * <note>Some platforms can't associate a #CoglOutput with a
102
+ * #CoglFrameInfo object but are able to report a refresh rate via
103
+ * this api. Therefore if you need this information then this api is
104
+ * more reliable than using cogl_frame_info_get_output() followed by
105
+ * cogl_output_get_refresh_rate().</note>
106
+ *
107
+ * Return value: the refresh rate in Hertz
108
+ * Since: 1.14
109
+ * Stability: unstable
110
+ */
111
+ float cogl_frame_info_get_refresh_rate (CoglFrameInfo *info);
112
+
113
+ /**
114
+ * cogl_frame_info_get_output:
115
+ * @info: a #CoglFrameInfo object
116
+ *
117
+ * Gets the #CoglOutput that the swapped frame was presented to.
118
+ *
119
+ * Return value: The #CoglOutput that the frame was presented to, or
120
+ * %NULL if this could not be determined.
121
+ * Since: 1.14
122
+ * Stability: unstable
123
+ */
124
+ CoglOutput *
125
+ cogl_frame_info_get_output (CoglFrameInfo *info);
126
+
127
+ G_END_DECLS
128
+
129
+ #endif /* __COGL_FRAME_INFO_H */
@@ -0,0 +1,1829 @@
1
+ /*
2
+ * Cogl
3
+ *
4
+ * An object oriented GL/GLES Abstraction/Utility Layer
5
+ *
6
+ * Copyright (C) 2011 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
20
+ * <http://www.gnu.org/licenses/>.
21
+ *
22
+ *
23
+ *
24
+ * Authors:
25
+ * Robert Bragg <robert@linux.intel.com>
26
+ */
27
+
28
+ #ifndef __COGL_FRAMEBUFFER_H
29
+ #define __COGL_FRAMEBUFFER_H
30
+
31
+ #ifdef COGL_HAS_WIN32_SUPPORT
32
+ #include <windows.h>
33
+ #endif /* COGL_HAS_WIN32_SUPPORT */
34
+
35
+ #ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
36
+ #include <cogl/cogl2-path.h>
37
+ #else
38
+ #include <cogl/cogl-path.h>
39
+ #endif
40
+
41
+ #include <cogl/cogl-pipeline.h>
42
+ #include <cogl/cogl-indices.h>
43
+ #include <cogl/cogl-bitmap.h>
44
+ #ifdef COGL_ENABLE_EXPERIMENTAL_API
45
+ #include <cogl/cogl-quaternion.h>
46
+ #include <cogl/cogl-euler.h>
47
+ #include <cogl/cogl-texture.h>
48
+ #endif
49
+
50
+ COGL_BEGIN_DECLS
51
+
52
+ /**
53
+ * SECTION:cogl-framebuffer
54
+ * @short_description: A common interface for manipulating framebuffers
55
+ *
56
+ * Framebuffers are a collection of buffers that can be rendered too.
57
+ * A framebuffer may be comprised of one or more color buffers, an
58
+ * optional depth buffer and an optional stencil buffer. Other
59
+ * configuration parameters are associated with framebuffers too such
60
+ * as whether the framebuffer supports multi-sampling (an anti-aliasing
61
+ * technique) or dithering.
62
+ *
63
+ * There are two kinds of framebuffer in Cogl, #CoglOnscreen
64
+ * framebuffers and #CoglOffscreen framebuffers. As the names imply
65
+ * offscreen framebuffers are for rendering something offscreen
66
+ * (perhaps to a texture which is bound as one of the color buffers).
67
+ * The exact semantics of onscreen framebuffers depends on the window
68
+ * system backend that you are using, but typically you can expect
69
+ * rendering to a #CoglOnscreen framebuffer will be immediately
70
+ * visible to the user.
71
+ *
72
+ * If you want to create a new framebuffer then you should start by
73
+ * looking at the #CoglOnscreen and #CoglOffscreen constructor
74
+ * functions, such as cogl_offscreen_new_to_texture() or
75
+ * cogl_onscreen_new(). The #CoglFramebuffer interface deals with
76
+ * all aspects that are common between those two types of framebuffer.
77
+ *
78
+ * Setup of a new CoglFramebuffer happens in two stages. There is a
79
+ * configuration stage where you specify all the options and ancillary
80
+ * buffers you want associated with your framebuffer and then when you
81
+ * are happy with the configuration you can "allocate" the framebuffer
82
+ * using cogl_framebuffer_allocate(). Technically explicitly calling
83
+ * cogl_framebuffer_allocate() is optional for convenience and the
84
+ * framebuffer will automatically be allocated when you first try to
85
+ * draw to it, but if you do the allocation manually then you can
86
+ * also catch any possible errors that may arise from your
87
+ * configuration.
88
+ */
89
+
90
+ typedef struct _CoglFramebuffer CoglFramebuffer;
91
+
92
+ #ifdef COGL_ENABLE_EXPERIMENTAL_API
93
+
94
+ #define COGL_FRAMEBUFFER(X) ((CoglFramebuffer *)(X))
95
+
96
+ /**
97
+ * cogl_framebuffer_allocate:
98
+ * @framebuffer: A #CoglFramebuffer
99
+ * @error: A pointer to a #CoglError for returning exceptions.
100
+ *
101
+ * Explicitly allocates a configured #CoglFramebuffer allowing developers to
102
+ * check and handle any errors that might arise from an unsupported
103
+ * configuration so that fallback configurations may be tried.
104
+ *
105
+ * <note>Many applications don't support any fallback options at least when
106
+ * they are initially developed and in that case the don't need to use this API
107
+ * since Cogl will automatically allocate a framebuffer when it first gets
108
+ * used. The disadvantage of relying on automatic allocation is that the
109
+ * program will abort with an error message if there is an error during
110
+ * automatic allocation.</note>
111
+ *
112
+ * Return value: %TRUE if there were no error allocating the framebuffer, else %FALSE.
113
+ * Since: 1.8
114
+ * Stability: unstable
115
+ */
116
+ CoglBool
117
+ cogl_framebuffer_allocate (CoglFramebuffer *framebuffer,
118
+ CoglError **error);
119
+
120
+ /**
121
+ * cogl_framebuffer_get_width:
122
+ * @framebuffer: A #CoglFramebuffer
123
+ *
124
+ * Queries the current width of the given @framebuffer.
125
+ *
126
+ * Return value: The width of @framebuffer.
127
+ * Since: 1.8
128
+ * Stability: unstable
129
+ */
130
+ int
131
+ cogl_framebuffer_get_width (CoglFramebuffer *framebuffer);
132
+
133
+ /**
134
+ * cogl_framebuffer_get_height:
135
+ * @framebuffer: A #CoglFramebuffer
136
+ *
137
+ * Queries the current height of the given @framebuffer.
138
+ *
139
+ * Return value: The height of @framebuffer.
140
+ * Since: 1.8
141
+ * Stability: unstable
142
+ */
143
+ int
144
+ cogl_framebuffer_get_height (CoglFramebuffer *framebuffer);
145
+
146
+ /**
147
+ * cogl_framebuffer_set_viewport:
148
+ * @framebuffer: A #CoglFramebuffer
149
+ * @x: The top-left x coordinate of the viewport origin (only integers
150
+ * supported currently)
151
+ * @y: The top-left y coordinate of the viewport origin (only integers
152
+ * supported currently)
153
+ * @width: The width of the viewport (only integers supported currently)
154
+ * @height: The height of the viewport (only integers supported currently)
155
+ *
156
+ * Defines a scale and offset for everything rendered relative to the
157
+ * top-left of the destination framebuffer.
158
+ *
159
+ * By default the viewport has an origin of (0,0) and width and height
160
+ * that match the framebuffer's size. Assuming a default projection and
161
+ * modelview matrix then you could translate the contents of a window
162
+ * down and right by leaving the viewport size unchanged by moving the
163
+ * offset to (10,10). The viewport coordinates are measured in pixels.
164
+ * If you left the x and y origin as (0,0) you could scale the windows
165
+ * contents down by specify and width and height that's half the real
166
+ * size of the framebuffer.
167
+ *
168
+ * <note>Although the function takes floating point arguments, existing
169
+ * drivers only allow the use of integer values. In the future floating
170
+ * point values will be exposed via a checkable feature.</note>
171
+ *
172
+ * Since: 1.8
173
+ * Stability: unstable
174
+ */
175
+ void
176
+ cogl_framebuffer_set_viewport (CoglFramebuffer *framebuffer,
177
+ float x,
178
+ float y,
179
+ float width,
180
+ float height);
181
+
182
+ /**
183
+ * cogl_framebuffer_get_viewport_x:
184
+ * @framebuffer: A #CoglFramebuffer
185
+ *
186
+ * Queries the x coordinate of the viewport origin as set using cogl_framebuffer_set_viewport()
187
+ * or the default value which is 0.
188
+ *
189
+ * Return value: The x coordinate of the viewport origin.
190
+ * Since: 1.8
191
+ * Stability: unstable
192
+ */
193
+ float
194
+ cogl_framebuffer_get_viewport_x (CoglFramebuffer *framebuffer);
195
+
196
+ /**
197
+ * cogl_framebuffer_get_viewport_y:
198
+ * @framebuffer: A #CoglFramebuffer
199
+ *
200
+ * Queries the y coordinate of the viewport origin as set using cogl_framebuffer_set_viewport()
201
+ * or the default value which is 0.
202
+ *
203
+ * Return value: The y coordinate of the viewport origin.
204
+ * Since: 1.8
205
+ * Stability: unstable
206
+ */
207
+ float
208
+ cogl_framebuffer_get_viewport_y (CoglFramebuffer *framebuffer);
209
+
210
+ /**
211
+ * cogl_framebuffer_get_viewport_width:
212
+ * @framebuffer: A #CoglFramebuffer
213
+ *
214
+ * Queries the width of the viewport as set using cogl_framebuffer_set_viewport()
215
+ * or the default value which is the width of the framebuffer.
216
+ *
217
+ * Return value: The width of the viewport.
218
+ * Since: 1.8
219
+ * Stability: unstable
220
+ */
221
+ float
222
+ cogl_framebuffer_get_viewport_width (CoglFramebuffer *framebuffer);
223
+
224
+ /**
225
+ * cogl_framebuffer_get_viewport_height:
226
+ * @framebuffer: A #CoglFramebuffer
227
+ *
228
+ * Queries the height of the viewport as set using cogl_framebuffer_set_viewport()
229
+ * or the default value which is the height of the framebuffer.
230
+ *
231
+ * Return value: The height of the viewport.
232
+ * Since: 1.8
233
+ * Stability: unstable
234
+ */
235
+ float
236
+ cogl_framebuffer_get_viewport_height (CoglFramebuffer *framebuffer);
237
+
238
+ /**
239
+ * cogl_framebuffer_get_viewport4fv:
240
+ * @framebuffer: A #CoglFramebuffer
241
+ * @viewport: (out caller-allocates) (array fixed-size=4): A pointer to an
242
+ * array of 4 floats to receive the (x, y, width, height)
243
+ * components of the current viewport.
244
+ *
245
+ * Queries the x, y, width and height components of the current viewport as set
246
+ * using cogl_framebuffer_set_viewport() or the default values which are 0, 0,
247
+ * framebuffer_width and framebuffer_height. The values are written into the
248
+ * given @viewport array.
249
+ *
250
+ * Since: 1.8
251
+ * Stability: unstable
252
+ */
253
+ void
254
+ cogl_framebuffer_get_viewport4fv (CoglFramebuffer *framebuffer,
255
+ float *viewport);
256
+
257
+ /**
258
+ * cogl_framebuffer_push_matrix:
259
+ * @framebuffer: A #CoglFramebuffer pointer
260
+ *
261
+ * Copies the current model-view matrix onto the matrix stack. The matrix
262
+ * can later be restored with cogl_framebuffer_pop_matrix().
263
+ *
264
+ * Since: 1.10
265
+ */
266
+ void
267
+ cogl_framebuffer_push_matrix (CoglFramebuffer *framebuffer);
268
+
269
+ /**
270
+ * cogl_framebuffer_pop_matrix:
271
+ * @framebuffer: A #CoglFramebuffer pointer
272
+ *
273
+ * Restores the model-view matrix on the top of the matrix stack.
274
+ *
275
+ * Since: 1.10
276
+ */
277
+ void
278
+ cogl_framebuffer_pop_matrix (CoglFramebuffer *framebuffer);
279
+
280
+ /**
281
+ * cogl_framebuffer_identity_matrix:
282
+ * @framebuffer: A #CoglFramebuffer pointer
283
+ *
284
+ * Resets the current model-view matrix to the identity matrix.
285
+ *
286
+ * Since: 1.10
287
+ * Stability: unstable
288
+ */
289
+ void
290
+ cogl_framebuffer_identity_matrix (CoglFramebuffer *framebuffer);
291
+
292
+ /**
293
+ * cogl_framebuffer_scale:
294
+ * @framebuffer: A #CoglFramebuffer pointer
295
+ * @x: Amount to scale along the x-axis
296
+ * @y: Amount to scale along the y-axis
297
+ * @z: Amount to scale along the z-axis
298
+ *
299
+ * Multiplies the current model-view matrix by one that scales the x,
300
+ * y and z axes by the given values.
301
+ *
302
+ * Since: 1.10
303
+ * Stability: unstable
304
+ */
305
+ void
306
+ cogl_framebuffer_scale (CoglFramebuffer *framebuffer,
307
+ float x,
308
+ float y,
309
+ float z);
310
+
311
+ /**
312
+ * cogl_framebuffer_translate:
313
+ * @framebuffer: A #CoglFramebuffer pointer
314
+ * @x: Distance to translate along the x-axis
315
+ * @y: Distance to translate along the y-axis
316
+ * @z: Distance to translate along the z-axis
317
+ *
318
+ * Multiplies the current model-view matrix by one that translates the
319
+ * model along all three axes according to the given values.
320
+ *
321
+ * Since: 1.10
322
+ * Stability: unstable
323
+ */
324
+ void
325
+ cogl_framebuffer_translate (CoglFramebuffer *framebuffer,
326
+ float x,
327
+ float y,
328
+ float z);
329
+
330
+ /**
331
+ * cogl_framebuffer_rotate:
332
+ * @framebuffer: A #CoglFramebuffer pointer
333
+ * @angle: Angle in degrees to rotate.
334
+ * @x: X-component of vertex to rotate around.
335
+ * @y: Y-component of vertex to rotate around.
336
+ * @z: Z-component of vertex to rotate around.
337
+ *
338
+ * Multiplies the current model-view matrix by one that rotates the
339
+ * model around the axis-vector specified by @x, @y and @z. The
340
+ * rotation follows the right-hand thumb rule so for example rotating
341
+ * by 10 degrees about the axis-vector (0, 0, 1) causes a small
342
+ * counter-clockwise rotation.
343
+ *
344
+ * Since: 1.10
345
+ * Stability: unstable
346
+ */
347
+ void
348
+ cogl_framebuffer_rotate (CoglFramebuffer *framebuffer,
349
+ float angle,
350
+ float x,
351
+ float y,
352
+ float z);
353
+
354
+ #ifdef COGL_ENABLE_EXPERIMENTAL_API
355
+
356
+ /**
357
+ * cogl_framebuffer_rotate_quaternion:
358
+ * @framebuffer: A #CoglFramebuffer pointer
359
+ * @quaternion: A #CoglQuaternion
360
+ *
361
+ * Multiplies the current model-view matrix by one that rotates
362
+ * according to the rotation described by @quaternion.
363
+ *
364
+ * Since: 2.0
365
+ * Stability: unstable
366
+ */
367
+ void
368
+ cogl_framebuffer_rotate_quaternion (CoglFramebuffer *framebuffer,
369
+ const CoglQuaternion *quaternion);
370
+
371
+ /**
372
+ * cogl_framebuffer_rotate_euler:
373
+ * @framebuffer: A #CoglFramebuffer pointer
374
+ * @euler: A #CoglEuler
375
+ *
376
+ * Multiplies the current model-view matrix by one that rotates
377
+ * according to the rotation described by @euler.
378
+ *
379
+ * Since: 2.0
380
+ * Stability: unstable
381
+ */
382
+ void
383
+ cogl_framebuffer_rotate_euler (CoglFramebuffer *framebuffer,
384
+ const CoglEuler *euler);
385
+
386
+ #endif /* COGL_ENABLE_EXPERIMENTAL_API */
387
+
388
+ /**
389
+ * cogl_framebuffer_transform:
390
+ * @framebuffer: A #CoglFramebuffer pointer
391
+ * @matrix: the matrix to multiply with the current model-view
392
+ *
393
+ * Multiplies the current model-view matrix by the given matrix.
394
+ *
395
+ * Since: 1.10
396
+ * Stability: unstable
397
+ */
398
+ void
399
+ cogl_framebuffer_transform (CoglFramebuffer *framebuffer,
400
+ const CoglMatrix *matrix);
401
+
402
+ /**
403
+ * cogl_framebuffer_get_modelview_matrix:
404
+ * @framebuffer: A #CoglFramebuffer pointer
405
+ * @matrix: (out): return location for the model-view matrix
406
+ *
407
+ * Stores the current model-view matrix in @matrix.
408
+ *
409
+ * Since: 1.10
410
+ * Stability: unstable
411
+ */
412
+ void
413
+ cogl_framebuffer_get_modelview_matrix (CoglFramebuffer *framebuffer,
414
+ CoglMatrix *matrix);
415
+
416
+ /**
417
+ * cogl_framebuffer_set_modelview_matrix:
418
+ * @framebuffer: A #CoglFramebuffer pointer
419
+ * @matrix: the new model-view matrix
420
+ *
421
+ * Sets @matrix as the new model-view matrix.
422
+ *
423
+ * Since: 1.10
424
+ * Stability: unstable
425
+ */
426
+ void
427
+ cogl_framebuffer_set_modelview_matrix (CoglFramebuffer *framebuffer,
428
+ const CoglMatrix *matrix);
429
+
430
+ /**
431
+ * cogl_framebuffer_perspective:
432
+ * @framebuffer: A #CoglFramebuffer pointer
433
+ * @fov_y: Vertical field of view angle in degrees.
434
+ * @aspect: The (width over height) aspect ratio for display
435
+ * @z_near: The distance to the near clipping plane (Must be positive,
436
+ * and must not be 0)
437
+ * @z_far: The distance to the far clipping plane (Must be positive)
438
+ *
439
+ * Replaces the current projection matrix with a perspective matrix
440
+ * based on the provided values.
441
+ *
442
+ * <note>You should be careful not to have to great a @z_far / @z_near
443
+ * ratio since that will reduce the effectiveness of depth testing
444
+ * since there wont be enough precision to identify the depth of
445
+ * objects near to each other.</note>
446
+ *
447
+ * Since: 1.10
448
+ * Stability: unstable
449
+ */
450
+ void
451
+ cogl_framebuffer_perspective (CoglFramebuffer *framebuffer,
452
+ float fov_y,
453
+ float aspect,
454
+ float z_near,
455
+ float z_far);
456
+
457
+ /**
458
+ * cogl_framebuffer_frustum:
459
+ * @framebuffer: A #CoglFramebuffer pointer
460
+ * @left: X position of the left clipping plane where it
461
+ * intersects the near clipping plane
462
+ * @right: X position of the right clipping plane where it
463
+ * intersects the near clipping plane
464
+ * @bottom: Y position of the bottom clipping plane where it
465
+ * intersects the near clipping plane
466
+ * @top: Y position of the top clipping plane where it intersects
467
+ * the near clipping plane
468
+ * @z_near: The distance to the near clipping plane (Must be positive)
469
+ * @z_far: The distance to the far clipping plane (Must be positive)
470
+ *
471
+ * Replaces the current projection matrix with a perspective matrix
472
+ * for a given viewing frustum defined by 4 side clip planes that
473
+ * all cross through the origin and 2 near and far clip planes.
474
+ *
475
+ * Since: 1.10
476
+ * Stability: unstable
477
+ */
478
+ void
479
+ cogl_framebuffer_frustum (CoglFramebuffer *framebuffer,
480
+ float left,
481
+ float right,
482
+ float bottom,
483
+ float top,
484
+ float z_near,
485
+ float z_far);
486
+
487
+ /**
488
+ * cogl_framebuffer_orthographic:
489
+ * @framebuffer: A #CoglFramebuffer pointer
490
+ * @x_1: The x coordinate for the first vertical clipping plane
491
+ * @y_1: The y coordinate for the first horizontal clipping plane
492
+ * @x_2: The x coordinate for the second vertical clipping plane
493
+ * @y_2: The y coordinate for the second horizontal clipping plane
494
+ * @near: The <emphasis>distance</emphasis> to the near clipping
495
+ * plane (will be <emphasis>negative</emphasis> if the plane is
496
+ * behind the viewer)
497
+ * @far: The <emphasis>distance</emphasis> to the far clipping
498
+ * plane (will be <emphasis>negative</emphasis> if the plane is
499
+ * behind the viewer)
500
+ *
501
+ * Replaces the current projection matrix with an orthographic projection
502
+ * matrix.
503
+ *
504
+ * Since: 1.10
505
+ * Stability: unstable
506
+ */
507
+ void
508
+ cogl_framebuffer_orthographic (CoglFramebuffer *framebuffer,
509
+ float x_1,
510
+ float y_1,
511
+ float x_2,
512
+ float y_2,
513
+ float near,
514
+ float far);
515
+
516
+ /**
517
+ * cogl_framebuffer_get_projection_matrix:
518
+ * @framebuffer: A #CoglFramebuffer pointer
519
+ * @matrix: (out): return location for the projection matrix
520
+ *
521
+ * Stores the current projection matrix in @matrix.
522
+ *
523
+ * Since: 1.10
524
+ * Stability: unstable
525
+ */
526
+ void
527
+ cogl_framebuffer_get_projection_matrix (CoglFramebuffer *framebuffer,
528
+ CoglMatrix *matrix);
529
+
530
+ /**
531
+ * cogl_framebuffer_set_projection_matrix:
532
+ * @framebuffer: A #CoglFramebuffer pointer
533
+ * @matrix: the new projection matrix
534
+ *
535
+ * Sets @matrix as the new projection matrix.
536
+ *
537
+ * Since: 1.10
538
+ * Stability: unstable
539
+ */
540
+ void
541
+ cogl_framebuffer_set_projection_matrix (CoglFramebuffer *framebuffer,
542
+ const CoglMatrix *matrix);
543
+
544
+ /**
545
+ * cogl_framebuffer_push_scissor_clip:
546
+ * @framebuffer: A #CoglFramebuffer pointer
547
+ * @x: left edge of the clip rectangle in window coordinates
548
+ * @y: top edge of the clip rectangle in window coordinates
549
+ * @width: width of the clip rectangle
550
+ * @height: height of the clip rectangle
551
+ *
552
+ * Specifies a rectangular clipping area for all subsequent drawing
553
+ * operations. Any drawing commands that extend outside the rectangle
554
+ * will be clipped so that only the portion inside the rectangle will
555
+ * be displayed. The rectangle dimensions are not transformed by the
556
+ * current model-view matrix.
557
+ *
558
+ * The rectangle is intersected with the current clip region. To undo
559
+ * the effect of this function, call cogl_framebuffer_pop_clip().
560
+ *
561
+ * Since: 1.10
562
+ * Stability: unstable
563
+ */
564
+ void
565
+ cogl_framebuffer_push_scissor_clip (CoglFramebuffer *framebuffer,
566
+ int x,
567
+ int y,
568
+ int width,
569
+ int height);
570
+
571
+ /**
572
+ * cogl_framebuffer_push_rectangle_clip:
573
+ * @framebuffer: A #CoglFramebuffer pointer
574
+ * @x_1: x coordinate for top left corner of the clip rectangle
575
+ * @y_1: y coordinate for top left corner of the clip rectangle
576
+ * @x_2: x coordinate for bottom right corner of the clip rectangle
577
+ * @y_2: y coordinate for bottom right corner of the clip rectangle
578
+ *
579
+ * Specifies a modelview transformed rectangular clipping area for all
580
+ * subsequent drawing operations. Any drawing commands that extend
581
+ * outside the rectangle will be clipped so that only the portion
582
+ * inside the rectangle will be displayed. The rectangle dimensions
583
+ * are transformed by the current model-view matrix.
584
+ *
585
+ * The rectangle is intersected with the current clip region. To undo
586
+ * the effect of this function, call cogl_framebuffer_pop_clip().
587
+ *
588
+ * Since: 1.10
589
+ * Stability: unstable
590
+ */
591
+ void
592
+ cogl_framebuffer_push_rectangle_clip (CoglFramebuffer *framebuffer,
593
+ float x_1,
594
+ float y_1,
595
+ float x_2,
596
+ float y_2);
597
+
598
+ /**
599
+ * cogl_framebuffer_push_path_clip:
600
+ * @framebuffer: A #CoglFramebuffer pointer
601
+ * @path: The path to clip with.
602
+ *
603
+ * Sets a new clipping area using the silhouette of the specified,
604
+ * filled @path. The clipping area is intersected with the previous
605
+ * clipping area. To restore the previous clipping area, call
606
+ * cogl_framebuffer_pop_clip().
607
+ *
608
+ * Since: 1.0
609
+ * Stability: unstable
610
+ */
611
+ void
612
+ cogl_framebuffer_push_path_clip (CoglFramebuffer *framebuffer,
613
+ CoglPath *path);
614
+
615
+ /**
616
+ * cogl_framebuffer_push_primitive_clip:
617
+ * @framebuffer: A #CoglFramebuffer pointer
618
+ * @primitive: A #CoglPrimitive describing a flat 2D shape
619
+ * @bounds_x1: x coordinate for the top-left corner of the primitives
620
+ * bounds
621
+ * @bounds_y1: y coordinate for the top-left corner of the primitives
622
+ * bounds
623
+ * @bounds_x2: x coordinate for the bottom-right corner of the
624
+ * primitives bounds.
625
+ * @bounds_y2: y coordinate for the bottom-right corner of the
626
+ * primitives bounds.
627
+ *
628
+ * Sets a new clipping area using a 2D shaped described with a
629
+ * #CoglPrimitive. The shape must not contain self overlapping
630
+ * geometry and must lie on a single 2D plane. A bounding box of the
631
+ * 2D shape in local coordinates (the same coordinates used to
632
+ * describe the shape) must be given. It is acceptable for the bounds
633
+ * to be larger than the true bounds but behaviour is undefined if the
634
+ * bounds are smaller than the true bounds.
635
+ *
636
+ * The primitive is transformed by the current model-view matrix and
637
+ * the silhouette is intersected with the previous clipping area. To
638
+ * restore the previous clipping area, call
639
+ * cogl_framebuffer_pop_clip().
640
+ *
641
+ * Since: 1.10
642
+ * Stability: unstable
643
+ */
644
+ void
645
+ cogl_framebuffer_push_primitive_clip (CoglFramebuffer *framebuffer,
646
+ CoglPrimitive *primitive,
647
+ float bounds_x1,
648
+ float bounds_y1,
649
+ float bounds_x2,
650
+ float bounds_y2);
651
+
652
+ /**
653
+ * cogl_framebuffer_pop_clip:
654
+ * @framebuffer: A #CoglFramebuffer pointer
655
+ *
656
+ * Reverts the clipping region to the state before the last call to
657
+ * cogl_framebuffer_push_scissor_clip(), cogl_framebuffer_push_rectangle_clip()
658
+ * cogl_framebuffer_push_path_clip(), or cogl_framebuffer_push_primitive_clip().
659
+ *
660
+ * Since: 1.10
661
+ * Stability: unstable
662
+ */
663
+ void
664
+ cogl_framebuffer_pop_clip (CoglFramebuffer *framebuffer);
665
+
666
+ /**
667
+ * cogl_framebuffer_get_red_bits:
668
+ * @framebuffer: a pointer to a #CoglFramebuffer
669
+ *
670
+ * Retrieves the number of red bits of @framebuffer
671
+ *
672
+ * Return value: the number of bits
673
+ *
674
+ * Since: 1.8
675
+ * Stability: unstable
676
+ */
677
+ int
678
+ cogl_framebuffer_get_red_bits (CoglFramebuffer *framebuffer);
679
+
680
+ /**
681
+ * cogl_framebuffer_get_green_bits:
682
+ * @framebuffer: a pointer to a #CoglFramebuffer
683
+ *
684
+ * Retrieves the number of green bits of @framebuffer
685
+ *
686
+ * Return value: the number of bits
687
+ *
688
+ * Since: 1.8
689
+ * Stability: unstable
690
+ */
691
+ int
692
+ cogl_framebuffer_get_green_bits (CoglFramebuffer *framebuffer);
693
+
694
+ /**
695
+ * cogl_framebuffer_get_blue_bits:
696
+ * @framebuffer: a pointer to a #CoglFramebuffer
697
+ *
698
+ * Retrieves the number of blue bits of @framebuffer
699
+ *
700
+ * Return value: the number of bits
701
+ *
702
+ * Since: 1.8
703
+ * Stability: unstable
704
+ */
705
+ int
706
+ cogl_framebuffer_get_blue_bits (CoglFramebuffer *framebuffer);
707
+
708
+ /**
709
+ * cogl_framebuffer_get_alpha_bits:
710
+ * @framebuffer: a pointer to a #CoglFramebuffer
711
+ *
712
+ * Retrieves the number of alpha bits of @framebuffer
713
+ *
714
+ * Return value: the number of bits
715
+ *
716
+ * Since: 1.8
717
+ * Stability: unstable
718
+ */
719
+ int
720
+ cogl_framebuffer_get_alpha_bits (CoglFramebuffer *framebuffer);
721
+
722
+ /**
723
+ * cogl_framebuffer_get_depth_bits:
724
+ * @framebuffer: a pointer to a #CoglFramebuffer
725
+ *
726
+ * Retrieves the number of depth bits of @framebuffer
727
+ *
728
+ * Return value: the number of bits
729
+ *
730
+ * Since: 2.0
731
+ * Stability: unstable
732
+ */
733
+ int
734
+ cogl_framebuffer_get_depth_bits (CoglFramebuffer *framebuffer);
735
+
736
+ /**
737
+ * cogl_framebuffer_get_dither_enabled:
738
+ * @framebuffer: a pointer to a #CoglFramebuffer
739
+ *
740
+ * Returns whether dithering has been requested for the given @framebuffer.
741
+ * See cogl_framebuffer_set_dither_enabled() for more details about dithering.
742
+ *
743
+ * <note>This may return %TRUE even when the underlying @framebuffer
744
+ * display pipeline does not support dithering. This value only represents
745
+ * the user's request for dithering.</note>
746
+ *
747
+ * Return value: %TRUE if dithering has been requested or %FALSE if not.
748
+ * Since: 1.8
749
+ * Stability: unstable
750
+ */
751
+ CoglBool
752
+ cogl_framebuffer_get_dither_enabled (CoglFramebuffer *framebuffer);
753
+
754
+ /**
755
+ * cogl_framebuffer_set_dither_enabled:
756
+ * @framebuffer: a pointer to a #CoglFramebuffer
757
+ * @dither_enabled: %TRUE to enable dithering or %FALSE to disable
758
+ *
759
+ * Enables or disabled dithering if supported by the hardware.
760
+ *
761
+ * Dithering is a hardware dependent technique to increase the visible
762
+ * color resolution beyond what the underlying hardware supports by playing
763
+ * tricks with the colors placed into the framebuffer to give the illusion
764
+ * of other colors. (For example this can be compared to half-toning used
765
+ * by some news papers to show varying levels of grey even though their may
766
+ * only be black and white are available).
767
+ *
768
+ * If the current display pipeline for @framebuffer does not support dithering
769
+ * then this has no affect.
770
+ *
771
+ * Dithering is enabled by default.
772
+ *
773
+ * Since: 1.8
774
+ * Stability: unstable
775
+ */
776
+ void
777
+ cogl_framebuffer_set_dither_enabled (CoglFramebuffer *framebuffer,
778
+ CoglBool dither_enabled);
779
+
780
+ /**
781
+ * cogl_framebuffer_get_color_mask:
782
+ * @framebuffer: a pointer to a #CoglFramebuffer
783
+ *
784
+ * Gets the current #CoglColorMask of which channels would be written to the
785
+ * current framebuffer. Each bit set in the mask means that the
786
+ * corresponding color would be written.
787
+ *
788
+ * Returns: A #CoglColorMask
789
+ * Since: 1.8
790
+ * Stability: unstable
791
+ */
792
+ CoglColorMask
793
+ cogl_framebuffer_get_color_mask (CoglFramebuffer *framebuffer);
794
+
795
+ /**
796
+ * cogl_framebuffer_set_color_mask:
797
+ * @framebuffer: a pointer to a #CoglFramebuffer
798
+ * @color_mask: A #CoglColorMask of which color channels to write to
799
+ * the current framebuffer.
800
+ *
801
+ * Defines a bit mask of which color channels should be written to the
802
+ * given @framebuffer. If a bit is set in @color_mask that means that
803
+ * color will be written.
804
+ *
805
+ * Since: 1.8
806
+ * Stability: unstable
807
+ */
808
+ void
809
+ cogl_framebuffer_set_color_mask (CoglFramebuffer *framebuffer,
810
+ CoglColorMask color_mask);
811
+
812
+ /**
813
+ * cogl_framebuffer_get_color_format:
814
+ * @framebuffer: A #CoglFramebuffer framebuffer
815
+ *
816
+ * Queries the common #CoglPixelFormat of all color buffers attached
817
+ * to this framebuffer. For an offscreen framebuffer created with
818
+ * cogl_offscreen_new_to_texture() this will correspond to the format
819
+ * of the texture.
820
+ *
821
+ * Since: 1.8
822
+ * Stability: unstable
823
+ */
824
+ CoglPixelFormat
825
+ cogl_framebuffer_get_color_format (CoglFramebuffer *framebuffer);
826
+
827
+ /**
828
+ * cogl_framebuffer_set_depth_texture_enabled:
829
+ * @framebuffer: A #CoglFramebuffer
830
+ * @enabled: TRUE or FALSE
831
+ *
832
+ * If @enabled is #TRUE, the depth buffer used when rendering to @framebuffer
833
+ * is available as a texture. You can retrieve the texture with
834
+ * cogl_framebuffer_get_depth_texture().
835
+ *
836
+ * <note>It's possible that your GPU does not support depth textures. You
837
+ * should check the %COGL_FEATURE_ID_DEPTH_TEXTURE feature before using this
838
+ * function.</note>
839
+ * <note>It's not valid to call this function after the framebuffer has been
840
+ * allocated as the creation of the depth texture is done at allocation time.
841
+ * </note>
842
+ *
843
+ * Since: 1.14
844
+ * Stability: unstable
845
+ */
846
+ void
847
+ cogl_framebuffer_set_depth_texture_enabled (CoglFramebuffer *framebuffer,
848
+ CoglBool enabled);
849
+
850
+ /**
851
+ * cogl_framebuffer_get_depth_texture_enabled:
852
+ * @framebuffer: A #CoglFramebuffer
853
+ *
854
+ * Queries whether texture based depth buffer has been enabled via
855
+ * cogl_framebuffer_set_depth_texture_enabled().
856
+ *
857
+ * Return value: %TRUE if a depth texture has been enabled, else
858
+ * %FALSE.
859
+ *
860
+ * Since: 1.14
861
+ * Stability: unstable
862
+ */
863
+ CoglBool
864
+ cogl_framebuffer_get_depth_texture_enabled (CoglFramebuffer *framebuffer);
865
+
866
+ /**
867
+ * cogl_framebuffer_get_depth_texture:
868
+ * @framebuffer: A #CoglFramebuffer
869
+ *
870
+ * Retrieves the depth buffer of @framebuffer as a #CoglTexture. You need to
871
+ * call cogl_framebuffer_get_depth_texture(fb, TRUE); before using this
872
+ * function.
873
+ *
874
+ * <note>Calling this function implicitely allocates the framebuffer.</note>
875
+ * <note>The texture returned stays valid as long as the framebuffer stays
876
+ * valid.</note>
877
+ *
878
+ * Returns: (transfer none): the depth texture
879
+ *
880
+ * Since: 1.14
881
+ * Stability: unstable
882
+ */
883
+ CoglTexture *
884
+ cogl_framebuffer_get_depth_texture (CoglFramebuffer *framebuffer);
885
+
886
+ /**
887
+ * cogl_framebuffer_set_samples_per_pixel:
888
+ * @framebuffer: A #CoglFramebuffer framebuffer
889
+ * @samples_per_pixel: The minimum number of samples per pixel
890
+ *
891
+ * Requires that when rendering to @framebuffer then @n point samples
892
+ * should be made per pixel which will all contribute to the final
893
+ * resolved color for that pixel. The idea is that the hardware aims
894
+ * to get quality similar to what you would get if you rendered
895
+ * everything twice as big (for 4 samples per pixel) and then scaled
896
+ * that image back down with filtering. It can effectively remove the
897
+ * jagged edges of polygons and should be more efficient than if you
898
+ * were to manually render at a higher resolution and downscale
899
+ * because the hardware is often able to take some shortcuts. For
900
+ * example the GPU may only calculate a single texture sample for all
901
+ * points of a single pixel, and for tile based architectures all the
902
+ * extra sample data (such as depth and stencil samples) may be
903
+ * handled on-chip and so avoid increased demand on system memory
904
+ * bandwidth.
905
+ *
906
+ * By default this value is usually set to 0 and that is referred to
907
+ * as "single-sample" rendering. A value of 1 or greater is referred
908
+ * to as "multisample" rendering.
909
+ *
910
+ * <note>There are some semantic differences between single-sample
911
+ * rendering and multisampling with just 1 point sample such as it
912
+ * being redundant to use the cogl_framebuffer_resolve_samples() and
913
+ * cogl_framebuffer_resolve_samples_region() apis with single-sample
914
+ * rendering.</note>
915
+ *
916
+ * <note>It's recommended that
917
+ * cogl_framebuffer_resolve_samples_region() be explicitly used at the
918
+ * end of rendering to a point sample buffer to minimize the number of
919
+ * samples that get resolved. By default Cogl will implicitly resolve
920
+ * all framebuffer samples but if only a small region of a
921
+ * framebuffer has changed this can lead to redundant work being
922
+ * done.</note>
923
+ *
924
+ * Since: 1.8
925
+ * Stability: unstable
926
+ */
927
+ void
928
+ cogl_framebuffer_set_samples_per_pixel (CoglFramebuffer *framebuffer,
929
+ int samples_per_pixel);
930
+
931
+ /**
932
+ * cogl_framebuffer_get_samples_per_pixel:
933
+ * @framebuffer: A #CoglFramebuffer framebuffer
934
+ *
935
+ * Gets the number of points that are sampled per-pixel when
936
+ * rasterizing geometry. Usually by default this will return 0 which
937
+ * means that single-sample not multisample rendering has been chosen.
938
+ * When using a GPU supporting multisample rendering it's possible to
939
+ * increase the number of samples per pixel using
940
+ * cogl_framebuffer_set_samples_per_pixel().
941
+ *
942
+ * Calling cogl_framebuffer_get_samples_per_pixel() before the
943
+ * framebuffer has been allocated will simply return the value set
944
+ * using cogl_framebuffer_set_samples_per_pixel(). After the
945
+ * framebuffer has been allocated the value will reflect the actual
946
+ * number of samples that will be made by the GPU.
947
+ *
948
+ * Returns: The number of point samples made per pixel when
949
+ * rasterizing geometry or 0 if single-sample rendering
950
+ * has been chosen.
951
+ *
952
+ * Since: 1.10
953
+ * Stability: unstable
954
+ */
955
+ int
956
+ cogl_framebuffer_get_samples_per_pixel (CoglFramebuffer *framebuffer);
957
+
958
+
959
+ /**
960
+ * cogl_framebuffer_resolve_samples:
961
+ * @framebuffer: A #CoglFramebuffer framebuffer
962
+ *
963
+ * When point sample rendering (also known as multisample rendering)
964
+ * has been enabled via cogl_framebuffer_set_samples_per_pixel()
965
+ * then you can optionally call this function (or
966
+ * cogl_framebuffer_resolve_samples_region()) to explicitly resolve
967
+ * the point samples into values for the final color buffer.
968
+ *
969
+ * Some GPUs will implicitly resolve the point samples during
970
+ * rendering and so this function is effectively a nop, but with other
971
+ * architectures it is desirable to defer the resolve step until the
972
+ * end of the frame.
973
+ *
974
+ * Since Cogl will automatically ensure samples are resolved if the
975
+ * target color buffer is used as a source this API only needs to be
976
+ * used if explicit control is desired - perhaps because you want to
977
+ * ensure that the resolve is completed in advance to avoid later
978
+ * having to wait for the resolve to complete.
979
+ *
980
+ * If you are performing incremental updates to a framebuffer you
981
+ * should consider using cogl_framebuffer_resolve_samples_region()
982
+ * instead to avoid resolving redundant pixels.
983
+ *
984
+ * Since: 1.8
985
+ * Stability: unstable
986
+ */
987
+ void
988
+ cogl_framebuffer_resolve_samples (CoglFramebuffer *framebuffer);
989
+
990
+ /**
991
+ * cogl_framebuffer_resolve_samples_region:
992
+ * @framebuffer: A #CoglFramebuffer framebuffer
993
+ * @x: top-left x coordinate of region to resolve
994
+ * @y: top-left y coordinate of region to resolve
995
+ * @width: width of region to resolve
996
+ * @height: height of region to resolve
997
+ *
998
+ * When point sample rendering (also known as multisample rendering)
999
+ * has been enabled via cogl_framebuffer_set_samples_per_pixel()
1000
+ * then you can optionally call this function (or
1001
+ * cogl_framebuffer_resolve_samples()) to explicitly resolve the point
1002
+ * samples into values for the final color buffer.
1003
+ *
1004
+ * Some GPUs will implicitly resolve the point samples during
1005
+ * rendering and so this function is effectively a nop, but with other
1006
+ * architectures it is desirable to defer the resolve step until the
1007
+ * end of the frame.
1008
+ *
1009
+ * Use of this API is recommended if incremental, small updates to
1010
+ * a framebuffer are being made because by default Cogl will
1011
+ * implicitly resolve all the point samples of the framebuffer which
1012
+ * can result in redundant work if only a small number of samples have
1013
+ * changed.
1014
+ *
1015
+ * Because some GPUs implicitly resolve point samples this function
1016
+ * only guarantees that at-least the region specified will be resolved
1017
+ * and if you have rendered to a larger region then it's possible that
1018
+ * other samples may be implicitly resolved.
1019
+ *
1020
+ * Since: 1.8
1021
+ * Stability: unstable
1022
+ */
1023
+ void
1024
+ cogl_framebuffer_resolve_samples_region (CoglFramebuffer *framebuffer,
1025
+ int x,
1026
+ int y,
1027
+ int width,
1028
+ int height);
1029
+
1030
+ /**
1031
+ * cogl_framebuffer_get_context:
1032
+ * @framebuffer: A #CoglFramebuffer
1033
+ *
1034
+ * Can be used to query the #CoglContext a given @framebuffer was
1035
+ * instantiated within. This is the #CoglContext that was passed to
1036
+ * cogl_onscreen_new() for example.
1037
+ *
1038
+ * Return value: The #CoglContext that the given @framebuffer was
1039
+ * instantiated within.
1040
+ * Since: 1.8
1041
+ * Stability: unstable
1042
+ */
1043
+ CoglContext *
1044
+ cogl_framebuffer_get_context (CoglFramebuffer *framebuffer);
1045
+
1046
+ /**
1047
+ * cogl_framebuffer_clear:
1048
+ * @framebuffer: A #CoglFramebuffer
1049
+ * @buffers: A mask of #CoglBufferBit<!-- -->'s identifying which auxiliary
1050
+ * buffers to clear
1051
+ * @color: The color to clear the color buffer too if specified in
1052
+ * @buffers.
1053
+ *
1054
+ * Clears all the auxiliary buffers identified in the @buffers mask, and if
1055
+ * that includes the color buffer then the specified @color is used.
1056
+ *
1057
+ * Since: 1.8
1058
+ * Stability: unstable
1059
+ */
1060
+ void
1061
+ cogl_framebuffer_clear (CoglFramebuffer *framebuffer,
1062
+ unsigned long buffers,
1063
+ const CoglColor *color);
1064
+
1065
+ /**
1066
+ * cogl_framebuffer_clear4f:
1067
+ * @framebuffer: A #CoglFramebuffer
1068
+ * @buffers: A mask of #CoglBufferBit<!-- -->'s identifying which auxiliary
1069
+ * buffers to clear
1070
+ * @red: The red component of color to clear the color buffer too if
1071
+ * specified in @buffers.
1072
+ * @green: The green component of color to clear the color buffer too if
1073
+ * specified in @buffers.
1074
+ * @blue: The blue component of color to clear the color buffer too if
1075
+ * specified in @buffers.
1076
+ * @alpha: The alpha component of color to clear the color buffer too if
1077
+ * specified in @buffers.
1078
+ *
1079
+ * Clears all the auxiliary buffers identified in the @buffers mask, and if
1080
+ * that includes the color buffer then the specified @color is used.
1081
+ *
1082
+ * Since: 1.8
1083
+ * Stability: unstable
1084
+ */
1085
+ void
1086
+ cogl_framebuffer_clear4f (CoglFramebuffer *framebuffer,
1087
+ unsigned long buffers,
1088
+ float red,
1089
+ float green,
1090
+ float blue,
1091
+ float alpha);
1092
+
1093
+ /**
1094
+ * cogl_framebuffer_draw_primitive:
1095
+ * @framebuffer: A destination #CoglFramebuffer
1096
+ * @pipeline: A #CoglPipeline state object
1097
+ * @primitive: A #CoglPrimitive geometry object
1098
+ *
1099
+ * Draws the given @primitive geometry to the specified destination
1100
+ * @framebuffer using the graphics processing state described by @pipeline.
1101
+ *
1102
+ * This drawing api doesn't support high-level meta texture types such
1103
+ * as #CoglTexture2DSliced so it is the user's responsibility to
1104
+ * ensure that only low-level textures that can be directly sampled by
1105
+ * a GPU such as #CoglTexture2D, #CoglTextureRectangle or #CoglTexture3D
1106
+ * are associated with layers of the given @pipeline.
1107
+ *
1108
+ * <note>This api doesn't support any of the legacy global state options such
1109
+ * as cogl_set_depth_test_enabled(), cogl_set_backface_culling_enabled() or
1110
+ * cogl_program_use()</note>
1111
+ *
1112
+ * Stability: unstable
1113
+ * Since: 1.10
1114
+ */
1115
+ void
1116
+ cogl_framebuffer_draw_primitive (CoglFramebuffer *framebuffer,
1117
+ CoglPipeline *pipeline,
1118
+ CoglPrimitive *primitive);
1119
+
1120
+ /**
1121
+ * cogl_framebuffer_vdraw_attributes:
1122
+ * @framebuffer: A destination #CoglFramebuffer
1123
+ * @pipeline: A #CoglPipeline state object
1124
+ * @mode: The #CoglVerticesMode defining the topology of vertices
1125
+ * @first_vertex: The vertex offset within the given attributes to draw from
1126
+ * @n_vertices: The number of vertices to draw from the given attributes
1127
+ * @...: A set of vertex #CoglAttribute<!-- -->s defining vertex geometry
1128
+ *
1129
+ * First defines a geometry primitive by grouping a set of vertex attributes;
1130
+ * specifying a @first_vertex; a number of vertices (@n_vertices) and
1131
+ * specifying what kind of topology the vertices have via @mode.
1132
+ *
1133
+ * Then the function draws the given @primitive geometry to the specified
1134
+ * destination @framebuffer using the graphics processing pipeline described by
1135
+ * @pipeline.
1136
+ *
1137
+ * The list of #CoglAttribute<!-- -->s define the attributes of the vertices to
1138
+ * be drawn, such as positions, colors and normals and should be %NULL
1139
+ * terminated.
1140
+ *
1141
+ * This drawing api doesn't support high-level meta texture types such
1142
+ * as #CoglTexture2DSliced so it is the user's responsibility to
1143
+ * ensure that only low-level textures that can be directly sampled by
1144
+ * a GPU such as #CoglTexture2D, #CoglTextureRectangle or #CoglTexture3D
1145
+ * are associated with layers of the given @pipeline.
1146
+ *
1147
+ * Stability: unstable
1148
+ * Since: 1.10
1149
+ */
1150
+ void
1151
+ cogl_framebuffer_vdraw_attributes (CoglFramebuffer *framebuffer,
1152
+ CoglPipeline *pipeline,
1153
+ CoglVerticesMode mode,
1154
+ int first_vertex,
1155
+ int n_vertices,
1156
+ ...) COGL_GNUC_NULL_TERMINATED;
1157
+
1158
+ /**
1159
+ * cogl_framebuffer_draw_attributes:
1160
+ * @framebuffer: A destination #CoglFramebuffer
1161
+ * @pipeline: A #CoglPipeline state object
1162
+ * @mode: The #CoglVerticesMode defining the topology of vertices
1163
+ * @first_vertex: The vertex offset within the given attributes to draw from
1164
+ * @n_vertices: The number of vertices to draw from the given attributes
1165
+ * @attributes: An array of pointers to #CoglAttribute<-- -->s defining vertex
1166
+ * geometry
1167
+ * @n_attributes: The number of attributes in the @attributes array.
1168
+ *
1169
+ * First defines a geometry primitive by grouping a set of vertex @attributes;
1170
+ * specifying a @first_vertex; a number of vertices (@n_vertices) and
1171
+ * specifying what kind of topology the vertices have via @mode.
1172
+ *
1173
+ * Then the function draws the given @primitive geometry to the specified
1174
+ * destination @framebuffer using the graphics processing pipeline described by
1175
+ * @pipeline.
1176
+ *
1177
+ * The list of #CoglAttribute<!-- -->s define the attributes of the vertices to
1178
+ * be drawn, such as positions, colors and normals and the number of attributes
1179
+ * is given as @n_attributes.
1180
+ *
1181
+ * This drawing api doesn't support high-level meta texture types such
1182
+ * as #CoglTexture2DSliced so it is the user's responsibility to
1183
+ * ensure that only low-level textures that can be directly sampled by
1184
+ * a GPU such as #CoglTexture2D, #CoglTextureRectangle or #CoglTexture3D
1185
+ * are associated with layers of the given @pipeline.
1186
+ *
1187
+ * <note>This api doesn't support any of the legacy global state options such
1188
+ * as cogl_set_depth_test_enabled(), cogl_set_backface_culling_enabled() or
1189
+ * cogl_program_use()</note>
1190
+ *
1191
+ * Stability: unstable
1192
+ * Since: 1.10
1193
+ */
1194
+ void
1195
+ cogl_framebuffer_draw_attributes (CoglFramebuffer *framebuffer,
1196
+ CoglPipeline *pipeline,
1197
+ CoglVerticesMode mode,
1198
+ int first_vertex,
1199
+ int n_vertices,
1200
+ CoglAttribute **attributes,
1201
+ int n_attributes);
1202
+
1203
+ /**
1204
+ * cogl_framebuffer_vdraw_indexed_attributes:
1205
+ * @framebuffer: A destination #CoglFramebuffer
1206
+ * @pipeline: A #CoglPipeline state object
1207
+ * @mode: The #CoglVerticesMode defining the topology of vertices
1208
+ * @first_vertex: The vertex offset within the given attributes to draw from
1209
+ * @n_vertices: The number of vertices to draw from the given attributes
1210
+ * @indices: The array of indices used by the GPU to lookup attribute
1211
+ * data for each vertex.
1212
+ * @...: A set of vertex #CoglAttribute<!-- -->s defining vertex geometry
1213
+ *
1214
+ * Behaves the same as cogl_framebuffer_vdraw_attributes() except that
1215
+ * instead of reading vertex data sequentially from the specified
1216
+ * attributes the @indices provide an indirection for how the data
1217
+ * should be indexed allowing a random access order to be
1218
+ * specified.
1219
+ *
1220
+ * For example an indices array of [0, 1, 2, 0, 2, 3] could be used
1221
+ * used to draw two triangles (@mode = %COGL_VERTICES_MODE_TRIANGLES +
1222
+ * @n_vertices = 6) but only provide attribute data for the 4 corners
1223
+ * of a rectangle. When the GPU needs to read in each of the 6
1224
+ * vertices it will read the @indices array for each vertex in
1225
+ * sequence and use the index to look up the vertex attribute data. So
1226
+ * here you can see that first and fourth vertex will point to the
1227
+ * same data and third and fifth vertex will also point to shared
1228
+ * data.
1229
+ *
1230
+ * Drawing with indices can be a good way of minimizing the size of a
1231
+ * mesh by allowing you to avoid data for duplicate vertices because
1232
+ * multiple entries in the index array can refer back to a single
1233
+ * shared vertex.
1234
+ *
1235
+ * <note>The @indices array must be at least as long as @first_vertex
1236
+ * + @n_vertices otherwise the GPU will overrun the indices array when
1237
+ * looking up vertex data.</note>
1238
+ *
1239
+ * Since it's very common to want to draw a run of rectangles using
1240
+ * indices to avoid duplicating vertex data you can use
1241
+ * cogl_get_rectangle_indices() to get a set of indices that can be
1242
+ * shared.
1243
+ *
1244
+ * This drawing api doesn't support high-level meta texture types such
1245
+ * as #CoglTexture2DSliced so it is the user's responsibility to
1246
+ * ensure that only low-level textures that can be directly sampled by
1247
+ * a GPU such as #CoglTexture2D, #CoglTextureRectangle or
1248
+ * #CoglTexture3D are associated with layers of the given @pipeline.
1249
+ *
1250
+ * <note>This api doesn't support any of the legacy global state
1251
+ * options such as cogl_set_depth_test_enabled(),
1252
+ * cogl_set_backface_culling_enabled() or cogl_program_use()</note>
1253
+ *
1254
+ * Stability: unstable
1255
+ * Since: 1.10
1256
+ */
1257
+ void
1258
+ cogl_framebuffer_vdraw_indexed_attributes (CoglFramebuffer *framebuffer,
1259
+ CoglPipeline *pipeline,
1260
+ CoglVerticesMode mode,
1261
+ int first_vertex,
1262
+ int n_vertices,
1263
+ CoglIndices *indices,
1264
+ ...) COGL_GNUC_NULL_TERMINATED;
1265
+
1266
+ /**
1267
+ * cogl_framebuffer_draw_indexed_attributes:
1268
+ * @framebuffer: A destination #CoglFramebuffer
1269
+ * @pipeline: A #CoglPipeline state object
1270
+ * @mode: The #CoglVerticesMode defining the topology of vertices
1271
+ * @first_vertex: The vertex offset within the given attributes to draw from
1272
+ * @n_vertices: The number of vertices to draw from the given attributes
1273
+ * @indices: The array of indices used by the GPU to lookup attribute
1274
+ * data for each vertex.
1275
+ * @attributes: An array of pointers to #CoglAttribute<-- -->s defining vertex
1276
+ * geometry
1277
+ * @n_attributes: The number of attributes in the @attributes array.
1278
+ *
1279
+ * Behaves the same as cogl_framebuffer_draw_attributes() except that
1280
+ * instead of reading vertex data sequentially from the specified
1281
+ * @attributes the @indices provide an indirection for how the data
1282
+ * should be indexed allowing a random access order to be
1283
+ * specified.
1284
+ *
1285
+ * For example an indices array of [0, 1, 2, 0, 2, 3] could be used
1286
+ * used to draw two triangles (@mode = %COGL_VERTICES_MODE_TRIANGLES +
1287
+ * @n_vertices = 6) but only provide attribute data for the 4 corners
1288
+ * of a rectangle. When the GPU needs to read in each of the 6
1289
+ * vertices it will read the @indices array for each vertex in
1290
+ * sequence and use the index to look up the vertex attribute data. So
1291
+ * here you can see that first and fourth vertex will point to the
1292
+ * same data and third and fifth vertex will also point to shared
1293
+ * data.
1294
+ *
1295
+ * Drawing with indices can be a good way of minimizing the size of a
1296
+ * mesh by allowing you to avoid data for duplicate vertices because
1297
+ * multiple entries in the index array can refer back to a single
1298
+ * shared vertex.
1299
+ *
1300
+ * <note>The @indices array must be at least as long as @first_vertex
1301
+ * + @n_vertices otherwise the GPU will overrun the indices array when
1302
+ * looking up vertex data.</note>
1303
+ *
1304
+ * Since it's very common to want to draw a run of rectangles using
1305
+ * indices to avoid duplicating vertex data you can use
1306
+ * cogl_get_rectangle_indices() to get a set of indices that can be
1307
+ * shared.
1308
+ *
1309
+ * This drawing api doesn't support high-level meta texture types such
1310
+ * as #CoglTexture2DSliced so it is the user's responsibility to
1311
+ * ensure that only low-level textures that can be directly sampled by
1312
+ * a GPU such as #CoglTexture2D, #CoglTextureRectangle or
1313
+ * #CoglTexture3D are associated with layers of the given @pipeline.
1314
+ *
1315
+ * <note>This api doesn't support any of the legacy global state
1316
+ * options such as cogl_set_depth_test_enabled(),
1317
+ * cogl_set_backface_culling_enabled() or cogl_program_use()</note>
1318
+ *
1319
+ * Stability: unstable
1320
+ * Since: 1.10
1321
+ */
1322
+ void
1323
+ cogl_framebuffer_draw_indexed_attributes (CoglFramebuffer *framebuffer,
1324
+ CoglPipeline *pipeline,
1325
+ CoglVerticesMode mode,
1326
+ int first_vertex,
1327
+ int n_vertices,
1328
+ CoglIndices *indices,
1329
+ CoglAttribute **attributes,
1330
+ int n_attributes);
1331
+
1332
+ /**
1333
+ * cogl_framebuffer_draw_rectangle:
1334
+ * @framebuffer: A destination #CoglFramebuffer
1335
+ * @pipeline: A #CoglPipeline state object
1336
+ * @x_1: X coordinate of the top-left corner
1337
+ * @y_1: Y coordinate of the top-left corner
1338
+ * @x_2: X coordinate of the bottom-right corner
1339
+ * @y_2: Y coordinate of the bottom-right corner
1340
+ *
1341
+ * Draws a rectangle to @framebuffer with the given @pipeline state
1342
+ * and with the top left corner positioned at (@x_1, @y_1) and the
1343
+ * bottom right corner positioned at (@x_2, @y_2).
1344
+ *
1345
+ * <note>The position is the position before the rectangle has been
1346
+ * transformed by the model-view matrix and the projection
1347
+ * matrix.</note>
1348
+ *
1349
+ * <note>If you want to describe a rectangle with a texture mapped on
1350
+ * it then you can use
1351
+ * cogl_framebuffer_draw_textured_rectangle().</note>
1352
+ *
1353
+ * Since: 1.10
1354
+ * Stability: unstable
1355
+ */
1356
+ void
1357
+ cogl_framebuffer_draw_rectangle (CoglFramebuffer *framebuffer,
1358
+ CoglPipeline *pipeline,
1359
+ float x_1,
1360
+ float y_1,
1361
+ float x_2,
1362
+ float y_2);
1363
+
1364
+ /**
1365
+ * cogl_framebuffer_draw_textured_rectangle:
1366
+ * @framebuffer: A destination #CoglFramebuffer
1367
+ * @pipeline: A #CoglPipeline state object
1368
+ * @x_1: x coordinate upper left on screen.
1369
+ * @y_1: y coordinate upper left on screen.
1370
+ * @x_2: x coordinate lower right on screen.
1371
+ * @y_2: y coordinate lower right on screen.
1372
+ * @s_1: S texture coordinate of the top-left coorner
1373
+ * @t_1: T texture coordinate of the top-left coorner
1374
+ * @s_2: S texture coordinate of the bottom-right coorner
1375
+ * @t_2: T texture coordinate of the bottom-right coorner
1376
+ *
1377
+ * Draws a textured rectangle to @framebuffer using the given
1378
+ * @pipeline state with the top left corner positioned at (@x_1, @y_1)
1379
+ * and the bottom right corner positioned at (@x_2, @y_2). The top
1380
+ * left corner will have texture coordinates of (@s_1, @t_1) and the
1381
+ * bottom right corner will have texture coordinates of (@s_2, @t_2).
1382
+ *
1383
+ * <note>The position is the position before the rectangle has been
1384
+ * transformed by the model-view matrix and the projection
1385
+ * matrix.</note>
1386
+ *
1387
+ * This is a high level drawing api that can handle any kind of
1388
+ * #CoglMetaTexture texture such as #CoglTexture2DSliced textures
1389
+ * which may internally be comprised of multiple low-level textures.
1390
+ * This is unlike low-level drawing apis such as
1391
+ * cogl_framebuffer_draw_primitive() or
1392
+ * cogl_framebuffer_draw_attributes() which only support low level
1393
+ * texture types that are directly supported by GPUs such as
1394
+ * #CoglTexture2D.
1395
+ *
1396
+ * <note>The given texture coordinates will only be used for the first
1397
+ * texture layer of the pipeline and if your pipeline has more than
1398
+ * one layer then all other layers will have default texture
1399
+ * coordinates of @s_1=0.0 @t_1=0.0 @s_2=1.0 @t_2=1.0 </note>
1400
+ *
1401
+ * The given texture coordinates should always be normalized such that
1402
+ * (0, 0) corresponds to the top left and (1, 1) corresponds to the
1403
+ * bottom right. To map an entire texture across the rectangle pass
1404
+ * in @s_1=0, @t_1=0, @s_2=1, @t_2=1.
1405
+ *
1406
+ * <note>Even if you have associated a #CoglTextureRectangle texture
1407
+ * with one of your @pipeline layers which normally implies working
1408
+ * with non-normalized texture coordinates this api should still be
1409
+ * passed normalized texture coordinates.</note>
1410
+ *
1411
+ * Since: 1.10
1412
+ * Stability: unstable
1413
+ */
1414
+ void
1415
+ cogl_framebuffer_draw_textured_rectangle (CoglFramebuffer *framebuffer,
1416
+ CoglPipeline *pipeline,
1417
+ float x_1,
1418
+ float y_1,
1419
+ float x_2,
1420
+ float y_2,
1421
+ float s_1,
1422
+ float t_1,
1423
+ float s_2,
1424
+ float t_2);
1425
+
1426
+ /**
1427
+ * cogl_framebuffer_draw_multitextured_rectangle:
1428
+ * @framebuffer: A destination #CoglFramebuffer
1429
+ * @pipeline: A #CoglPipeline state object
1430
+ * @x_1: x coordinate upper left on screen.
1431
+ * @y_1: y coordinate upper left on screen.
1432
+ * @x_2: x coordinate lower right on screen.
1433
+ * @y_2: y coordinate lower right on screen.
1434
+ * @tex_coords: (in) (array) (transfer none): An array containing groups of
1435
+ * 4 float values: [s_1, t_1, s_2, t_2] that are interpreted as two texture
1436
+ * coordinates; one for the top left texel, and one for the bottom right
1437
+ * texel. Each value should be between 0.0 and 1.0, where the coordinate
1438
+ * (0.0, 0.0) represents the top left of the texture, and (1.0, 1.0) the
1439
+ * bottom right.
1440
+ * @tex_coords_len: The length of the @tex_coords array. (For one layer
1441
+ * and one group of texture coordinates, this would be 4)
1442
+ *
1443
+ * Draws a textured rectangle to @framebuffer with the given @pipeline
1444
+ * state with the top left corner positioned at (@x_1, @y_1) and the
1445
+ * bottom right corner positioned at (@x_2, @y_2). As a pipeline may
1446
+ * contain multiple texture layers this interface lets you supply
1447
+ * texture coordinates for each layer of the pipeline.
1448
+ *
1449
+ * <note>The position is the position before the rectangle has been
1450
+ * transformed by the model-view matrix and the projection
1451
+ * matrix.</note>
1452
+ *
1453
+ * This is a high level drawing api that can handle any kind of
1454
+ * #CoglMetaTexture texture for the first layer such as
1455
+ * #CoglTexture2DSliced textures which may internally be comprised of
1456
+ * multiple low-level textures. This is unlike low-level drawing apis
1457
+ * such as cogl_framebuffer_draw_primitive() or
1458
+ * cogl_framebuffer_draw_attributes() which only support low level
1459
+ * texture types that are directly supported by GPUs such as
1460
+ * #CoglTexture2D.
1461
+ *
1462
+ * <note>This api can not currently handle multiple high-level meta
1463
+ * texture layers. The first layer may be a high level meta texture
1464
+ * such as #CoglTexture2DSliced but all other layers much be low
1465
+ * level textures such as #CoglTexture2D and additionally they
1466
+ * should be textures that can be sampled using normalized coordinates
1467
+ * (so not #CoglTextureRectangle textures).</note>
1468
+ *
1469
+ * The top left texture coordinate for layer 0 of any pipeline will be
1470
+ * (tex_coords[0], tex_coords[1]) and the bottom right coordinate will
1471
+ * be (tex_coords[2], tex_coords[3]). The coordinates for layer 1
1472
+ * would be (tex_coords[4], tex_coords[5]) (tex_coords[6],
1473
+ * tex_coords[7]) and so on...
1474
+ *
1475
+ * The given texture coordinates should always be normalized such that
1476
+ * (0, 0) corresponds to the top left and (1, 1) corresponds to the
1477
+ * bottom right. To map an entire texture across the rectangle pass
1478
+ * in tex_coords[0]=0, tex_coords[1]=0, tex_coords[2]=1,
1479
+ * tex_coords[3]=1.
1480
+ *
1481
+ * <note>Even if you have associated a #CoglTextureRectangle texture
1482
+ * which normally implies working with non-normalized texture
1483
+ * coordinates this api should still be passed normalized texture
1484
+ * coordinates.</note>
1485
+ *
1486
+ * The first pair of coordinates are for the first layer (with the
1487
+ * smallest layer index) and if you supply less texture coordinates
1488
+ * than there are layers in the current source material then default
1489
+ * texture coordinates (0.0, 0.0, 1.0, 1.0) are generated.
1490
+ *
1491
+ * Since: 1.10
1492
+ * Stability: unstable
1493
+ */
1494
+ void
1495
+ cogl_framebuffer_draw_multitextured_rectangle (CoglFramebuffer *framebuffer,
1496
+ CoglPipeline *pipeline,
1497
+ float x_1,
1498
+ float y_1,
1499
+ float x_2,
1500
+ float y_2,
1501
+ const float *tex_coords,
1502
+ int tex_coords_len);
1503
+
1504
+ /**
1505
+ * cogl_framebuffer_draw_rectangles:
1506
+ * @framebuffer: A destination #CoglFramebuffer
1507
+ * @pipeline: A #CoglPipeline state object
1508
+ * @coordinates: (in) (array) (transfer none): an array of coordinates
1509
+ * containing groups of 4 float values: [x_1, y_1, x_2, y_2] that are
1510
+ * interpreted as two position coordinates; one for the top left of
1511
+ * the rectangle (x1, y1), and one for the bottom right of the
1512
+ * rectangle (x2, y2).
1513
+ * @n_rectangles: number of rectangles defined in @coordinates.
1514
+ *
1515
+ * Draws a series of rectangles to @framebuffer with the given
1516
+ * @pipeline state in the same way that
1517
+ * cogl_framebuffer_draw_rectangle() does.
1518
+ *
1519
+ * The top left corner of the first rectangle is positioned at
1520
+ * (coordinates[0], coordinates[1]) and the bottom right corner is
1521
+ * positioned at (coordinates[2], coordinates[3]). The positions for
1522
+ * the second rectangle are (coordinates[4], coordinates[5]) and
1523
+ * (coordinates[6], coordinates[7]) and so on...
1524
+ *
1525
+ * <note>The position is the position before the rectangle has been
1526
+ * transformed by the model-view matrix and the projection
1527
+ * matrix.</note>
1528
+ *
1529
+ * As a general rule for better performance its recommended to use
1530
+ * this this API instead of calling
1531
+ * cogl_framebuffer_draw_textured_rectangle() separately for multiple
1532
+ * rectangles if all of the rectangles will be drawn together with the
1533
+ * same @pipeline state.
1534
+ *
1535
+ * Since: 1.10
1536
+ * Stability: unstable
1537
+ */
1538
+ void
1539
+ cogl_framebuffer_draw_rectangles (CoglFramebuffer *framebuffer,
1540
+ CoglPipeline *pipeline,
1541
+ const float *coordinates,
1542
+ unsigned int n_rectangles);
1543
+
1544
+ /**
1545
+ * cogl_framebuffer_draw_textured_rectangles:
1546
+ * @framebuffer: A destination #CoglFramebuffer
1547
+ * @pipeline: A #CoglPipeline state object
1548
+ * @coordinates: (in) (array) (transfer none): an array containing
1549
+ * groups of 8 float values: [x_1, y_1, x_2, y_2, s_1, t_1, s_2, t_2]
1550
+ * that have the same meaning as the arguments for
1551
+ * cogl_framebuffer_draw_textured_rectangle().
1552
+ * @n_rectangles: number of rectangles to @coordinates to draw
1553
+ *
1554
+ * Draws a series of rectangles to @framebuffer with the given
1555
+ * @pipeline state in the same way that
1556
+ * cogl_framebuffer_draw_textured_rectangle() does.
1557
+ *
1558
+ * <note>The position is the position before the rectangle has been
1559
+ * transformed by the model-view matrix and the projection
1560
+ * matrix.</note>
1561
+ *
1562
+ * This is a high level drawing api that can handle any kind of
1563
+ * #CoglMetaTexture texture such as #CoglTexture2DSliced textures
1564
+ * which may internally be comprised of multiple low-level textures.
1565
+ * This is unlike low-level drawing apis such as
1566
+ * cogl_framebuffer_draw_primitive() or
1567
+ * cogl_framebuffer_draw_attributes() which only support low level
1568
+ * texture types that are directly supported by GPUs such as
1569
+ * #CoglTexture2D.
1570
+ *
1571
+ * The top left corner of the first rectangle is positioned at
1572
+ * (coordinates[0], coordinates[1]) and the bottom right corner is
1573
+ * positioned at (coordinates[2], coordinates[3]). The top left
1574
+ * texture coordinate is (coordinates[4], coordinates[5]) and the
1575
+ * bottom right texture coordinate is (coordinates[6],
1576
+ * coordinates[7]). The coordinates for subsequent rectangles
1577
+ * are defined similarly by the subsequent coordinates.
1578
+ *
1579
+ * As a general rule for better performance its recommended to use
1580
+ * this this API instead of calling
1581
+ * cogl_framebuffer_draw_textured_rectangle() separately for multiple
1582
+ * rectangles if all of the rectangles will be drawn together with the
1583
+ * same @pipeline state.
1584
+ *
1585
+ * The given texture coordinates should always be normalized such that
1586
+ * (0, 0) corresponds to the top left and (1, 1) corresponds to the
1587
+ * bottom right. To map an entire texture across the rectangle pass
1588
+ * in tex_coords[0]=0, tex_coords[1]=0, tex_coords[2]=1,
1589
+ * tex_coords[3]=1.
1590
+ *
1591
+ * <note>Even if you have associated a #CoglTextureRectangle texture
1592
+ * which normally implies working with non-normalized texture
1593
+ * coordinates this api should still be passed normalized texture
1594
+ * coordinates.</note>
1595
+ *
1596
+ * Since: 1.10
1597
+ * Stability: unstable
1598
+ */
1599
+ void
1600
+ cogl_framebuffer_draw_textured_rectangles (CoglFramebuffer *framebuffer,
1601
+ CoglPipeline *pipeline,
1602
+ const float *coordinates,
1603
+ unsigned int n_rectangles);
1604
+
1605
+ /**
1606
+ * cogl_framebuffer_fill_path:
1607
+ * @framebuffer: A #CoglFramebuffer
1608
+ * @pipeline: A #CoglPipeline to render with
1609
+ * @path: The #CoglPath to fill
1610
+ *
1611
+ * Fills the interior of the path using the fragment operations
1612
+ * defined by the pipeline.
1613
+ *
1614
+ * The interior of the shape is determined using the fill rule of the
1615
+ * path. See %CoglPathFillRule for details.
1616
+ *
1617
+ * <note>The result of referencing sliced textures in your current
1618
+ * pipeline when filling a path are undefined. You should pass
1619
+ * the %COGL_TEXTURE_NO_SLICING flag when loading any texture you will
1620
+ * use while filling a path.</note>
1621
+ *
1622
+ * Since: 2.0
1623
+ */
1624
+ void
1625
+ cogl_framebuffer_fill_path (CoglFramebuffer *framebuffer,
1626
+ CoglPipeline *pipeline,
1627
+ CoglPath *path);
1628
+
1629
+ /**
1630
+ * cogl_framebuffer_stroke_path:
1631
+ * @framebuffer: A #CoglFramebuffer
1632
+ * @pipeline: A #CoglPipeline to render with
1633
+ * @path: The #CoglPath to stroke
1634
+ *
1635
+ * Strokes the edge of the path using the fragment operations defined
1636
+ * by the pipeline. The stroke line will have a width of 1 pixel
1637
+ * regardless of the current transformation matrix.
1638
+ *
1639
+ * Since: 2.0
1640
+ */
1641
+ void
1642
+ cogl_framebuffer_stroke_path (CoglFramebuffer *framebuffer,
1643
+ CoglPipeline *pipeline,
1644
+ CoglPath *path);
1645
+
1646
+ /* XXX: Should we take an n_buffers + buffer id array instead of using
1647
+ * the CoglBufferBits type which doesn't seem future proof? */
1648
+ /**
1649
+ * cogl_framebuffer_discard_buffers:
1650
+ * @framebuffer: A #CoglFramebuffer
1651
+ * @buffers: A #CoglBufferBit mask of which ancillary buffers you want
1652
+ * to discard.
1653
+ *
1654
+ * Declares that the specified @buffers no longer need to be referenced
1655
+ * by any further rendering commands. This can be an important
1656
+ * optimization to avoid subsequent frames of rendering depending on
1657
+ * the results of a previous frame.
1658
+ *
1659
+ * For example; some tile-based rendering GPUs are able to avoid allocating and
1660
+ * accessing system memory for the depth and stencil buffer so long as these
1661
+ * buffers are not required as input for subsequent frames and that can save a
1662
+ * significant amount of memory bandwidth used to save and restore their
1663
+ * contents to system memory between frames.
1664
+ *
1665
+ * It is currently considered an error to try and explicitly discard the color
1666
+ * buffer by passing %COGL_BUFFER_BIT_COLOR. This is because the color buffer is
1667
+ * already implicitly discard when you finish rendering to a #CoglOnscreen
1668
+ * framebuffer, and it's not meaningful to try and discard the color buffer of
1669
+ * a #CoglOffscreen framebuffer since they are single-buffered.
1670
+ *
1671
+ *
1672
+ * Since: 1.8
1673
+ * Stability: unstable
1674
+ */
1675
+ void
1676
+ cogl_framebuffer_discard_buffers (CoglFramebuffer *framebuffer,
1677
+ unsigned long buffers);
1678
+
1679
+ /**
1680
+ * cogl_framebuffer_finish:
1681
+ * @framebuffer: A #CoglFramebuffer pointer
1682
+ *
1683
+ * This blocks the CPU until all pending rendering associated with the
1684
+ * specified framebuffer has completed. It's very rare that developers should
1685
+ * ever need this level of synchronization with the GPU and should never be
1686
+ * used unless you clearly understand why you need to explicitly force
1687
+ * synchronization.
1688
+ *
1689
+ * One example might be for benchmarking purposes to be sure timing
1690
+ * measurements reflect the time that the GPU is busy for not just the time it
1691
+ * takes to queue rendering commands.
1692
+ *
1693
+ * Stability: unstable
1694
+ * Since: 1.10
1695
+ */
1696
+ void
1697
+ cogl_framebuffer_finish (CoglFramebuffer *framebuffer);
1698
+
1699
+ /**
1700
+ * cogl_framebuffer_read_pixels_into_bitmap:
1701
+ * @framebuffer: A #CoglFramebuffer
1702
+ * @x: The x position to read from
1703
+ * @y: The y position to read from
1704
+ * @source: Identifies which auxillary buffer you want to read
1705
+ * (only COGL_READ_PIXELS_COLOR_BUFFER supported currently)
1706
+ * @bitmap: The bitmap to store the results in.
1707
+ *
1708
+ * This reads a rectangle of pixels from the given framebuffer where
1709
+ * position (0, 0) is the top left. The pixel at (x, y) is the first
1710
+ * read, and a rectangle of pixels with the same size as the bitmap is
1711
+ * read right and downwards from that point.
1712
+ *
1713
+ * Currently Cogl assumes that the framebuffer is in a premultiplied
1714
+ * format so if the format of @bitmap is non-premultiplied it will
1715
+ * convert it. To read the pixel values without any conversion you
1716
+ * should either specify a format that doesn't use an alpha channel or
1717
+ * use one of the formats ending in PRE.
1718
+ *
1719
+ * Return value: %TRUE if the read succeeded or %FALSE otherwise. The
1720
+ * function is only likely to fail if the bitmap points to a pixel
1721
+ * buffer and it could not be mapped.
1722
+ * Since: 1.10
1723
+ * Stability: unstable
1724
+ */
1725
+ CoglBool
1726
+ cogl_framebuffer_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
1727
+ int x,
1728
+ int y,
1729
+ CoglReadPixelsFlags source,
1730
+ CoglBitmap *bitmap);
1731
+
1732
+ /**
1733
+ * cogl_framebuffer_read_pixels:
1734
+ * @framebuffer: A #CoglFramebuffer
1735
+ * @x: The x position to read from
1736
+ * @y: The y position to read from
1737
+ * @width: The width of the region of rectangles to read
1738
+ * @height: The height of the region of rectangles to read
1739
+ * @format: The pixel format to store the data in
1740
+ * @pixels: The address of the buffer to store the data in
1741
+ *
1742
+ * This is a convenience wrapper around
1743
+ * cogl_framebuffer_read_pixels_into_bitmap() which allocates a
1744
+ * temporary #CoglBitmap to read pixel data directly into the given
1745
+ * buffer. The rowstride of the buffer is assumed to be the width of
1746
+ * the region times the bytes per pixel of the format. The source for
1747
+ * the data is always taken from the color buffer. If you want to use
1748
+ * any other rowstride or source, please use the
1749
+ * cogl_framebuffer_read_pixels_into_bitmap() function directly.
1750
+ *
1751
+ * The implementation of the function looks like this:
1752
+ *
1753
+ * |[
1754
+ * bitmap = cogl_bitmap_new_for_data (context,
1755
+ * width, height,
1756
+ * format,
1757
+ * /<!-- -->* rowstride *<!-- -->/
1758
+ * bpp * width,
1759
+ * pixels);
1760
+ * cogl_framebuffer_read_pixels_into_bitmap (framebuffer,
1761
+ * x, y,
1762
+ * COGL_READ_PIXELS_COLOR_BUFFER,
1763
+ * bitmap);
1764
+ * cogl_object_unref (bitmap);
1765
+ * ]|
1766
+ *
1767
+ * Return value: %TRUE if the read succeeded or %FALSE otherwise.
1768
+ * Since: 1.10
1769
+ * Stability: unstable
1770
+ */
1771
+ CoglBool
1772
+ cogl_framebuffer_read_pixels (CoglFramebuffer *framebuffer,
1773
+ int x,
1774
+ int y,
1775
+ int width,
1776
+ int height,
1777
+ CoglPixelFormat format,
1778
+ uint8_t *pixels);
1779
+
1780
+ /**
1781
+ * cogl_get_draw_framebuffer:
1782
+ *
1783
+ * Gets the current #CoglFramebuffer as set using
1784
+ * cogl_push_framebuffer()
1785
+ *
1786
+ * Return value: The current #CoglFramebuffer
1787
+ * Stability: unstable
1788
+ * Since: 1.8
1789
+ */
1790
+ CoglFramebuffer *
1791
+ cogl_get_draw_framebuffer (void);
1792
+
1793
+ #endif /* COGL_ENABLE_EXPERIMENTAL_API */
1794
+
1795
+ /* XXX: Note these are defined outside the COGL_ENABLE_EXPERIMENTAL_API guard since
1796
+ * otherwise the glib-mkenums stuff will get upset. */
1797
+
1798
+ uint32_t
1799
+ cogl_framebuffer_error_quark (void);
1800
+
1801
+ /**
1802
+ * COGL_FRAMEBUFFER_ERROR:
1803
+ *
1804
+ * An error domain for reporting #CoglFramebuffer exceptions
1805
+ */
1806
+ #define COGL_FRAMEBUFFER_ERROR (cogl_framebuffer_error_quark ())
1807
+
1808
+ typedef enum { /*< prefix=COGL_FRAMEBUFFER_ERROR >*/
1809
+ COGL_FRAMEBUFFER_ERROR_ALLOCATE
1810
+ } CoglFramebufferError;
1811
+
1812
+ /**
1813
+ * cogl_is_framebuffer:
1814
+ * @object: A #CoglObject pointer
1815
+ *
1816
+ * Gets whether the given object references a #CoglFramebuffer.
1817
+ *
1818
+ * Return value: %TRUE if the object references a #CoglFramebuffer
1819
+ * and %FALSE otherwise.
1820
+ * Since: 1.10
1821
+ * Stability: unstable
1822
+ */
1823
+ CoglBool
1824
+ cogl_is_framebuffer (void *object);
1825
+
1826
+ COGL_END_DECLS
1827
+
1828
+ #endif /* __COGL_FRAMEBUFFER_H */
1829
+