b6b9ac0b85
This adds a version header which contains macros to define which version of Cogl the application is being compiled against. This helps applications that want to support multiple incompatible versions of Cogl at compile time. The macros are called COGL_VERSION_{MAJOR,MINOR,MICRO}. This does not match Clutter which names them CLUTTER_{MAJOR,MINOR,MICRO}_VERSION but I think the former is nicer and it at least matches Cairo and Pango. The values of the macro are defined to COGL_VERSION_*_INTERNAL which is generated by the configure script into cogl-defines.h. There is also a macro for the entire version as a string called COGL_VERSION_STRING. The internal utility macros for encoding a 3 part version number into a single integer have been moved into the new header so they can be used publicly as a convenient way to check if the version is within a particular range. There is also a COGL_VERSION_CHECK macro for the very common case that a feature will be used since a particular version of Cogl. There is a macro called COGL_VERSION which contains the pre-encoded version of Cogl being compiled against for convenience. Unlike in Clutter this patch does not add any runtime version identification mechanism. A test case is also added which just contains static asserts to sanity check the macros. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit 3480cf140dc355fa87ab3fbcf0aeeb0124798a8f)
212 lines
6.8 KiB
XML
212 lines
6.8 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
|
<!ENTITY version "@VERSION@">
|
|
]>
|
|
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
|
|
|
<bookinfo>
|
|
<title>Cogl 2.0 Reference Manual</title>
|
|
<releaseinfo>for Cogl 2.0;</releaseinfo>
|
|
|
|
<copyright>
|
|
<year>2008</year>
|
|
<holder>OpenedHand LTD</holder>
|
|
</copyright>
|
|
|
|
<copyright>
|
|
<year>2009</year>
|
|
<year>2010</year>
|
|
<year>2011</year>
|
|
<year>2012</year>
|
|
<holder>Intel Corporation</holder>
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
<para>
|
|
Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the <citetitle>GNU Free
|
|
Documentation License</citetitle>, Version 1.1 or any later
|
|
version published by the Free Software Foundation with no
|
|
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
|
Texts. You may obtain a copy of the <citetitle>GNU Free
|
|
Documentation License</citetitle> from the Free Software
|
|
Foundation by visiting <ulink type="http"
|
|
url="http://www.fsf.org">their Web site</ulink> or by writing
|
|
to:
|
|
|
|
<address>
|
|
The Free Software Foundation, Inc.,
|
|
<street>59 Temple Place</street> - Suite 330,
|
|
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
|
|
<country>USA</country>
|
|
</address>
|
|
</para>
|
|
</legalnotice>
|
|
|
|
</bookinfo>
|
|
|
|
<chapter>
|
|
<title>Cogl - a modern 3D graphics API</title>
|
|
|
|
<section id="cogl-intro">
|
|
<title>About Cogl</title>
|
|
|
|
<para>Cogl is a modern 3D graphics API with associated utility
|
|
APIs designed to expose the features of 3D graphics hardware
|
|
using a more object oriented design than OpenGL. The library has
|
|
primarily been driven by the practical needs of Clutter but it
|
|
is not tied to any one toolkit or even constrained to developing
|
|
UI toolkits.</para>
|
|
|
|
</section>
|
|
|
|
<xi:include href="xml/cogl-object.xml"/>
|
|
<xi:include href="xml/cogl-context.xml"/>
|
|
<xi:include href="xml/cogl-poll.xml"/>
|
|
|
|
<section id="cogl-pipeline-apis">
|
|
<title>Setting Up A GPU Pipeline</title>
|
|
<xi:include href="blend-strings.xml"/>
|
|
<xi:include href="xml/cogl-pipeline.xml"/>
|
|
<xi:include href="xml/cogl-snippet.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-buffer-apis">
|
|
<title>Allocating GPU Memory</title>
|
|
<xi:include href="xml/cogl-buffer.xml"/>
|
|
<xi:include href="xml/cogl-attribute-buffer.xml"/>
|
|
<xi:include href="xml/cogl-index-buffer.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-buffer-layout-apis">
|
|
<title>Describing the layout of GPU Memory</title>
|
|
<xi:include href="xml/cogl-attribute.xml"/>
|
|
<xi:include href="xml/cogl-indices.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-primitive-apis">
|
|
<title>Geometry</title>
|
|
<xi:include href="xml/cogl-primitive.xml"/>
|
|
<xi:include href="xml/cogl-paths.xml"/>
|
|
<xi:include href="xml/cogl-rectangle.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-textures">
|
|
<title>Textures</title>
|
|
<xi:include href="xml/cogl-texture.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-meta-textures">
|
|
<title>Meta Textures</title>
|
|
<xi:include href="xml/cogl-meta-texture.xml"/>
|
|
<xi:include href="xml/cogl-sub-texture.xml"/>
|
|
<xi:include href="xml/cogl-texture-2d-sliced.xml"/>
|
|
<xi:include href="xml/cogl-texture-pixmap-x11.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-primitive-textures">
|
|
<title>Primitive Textures</title>
|
|
<xi:include href="xml/cogl-primitive-texture.xml"/>
|
|
<xi:include href="xml/cogl-texture-2d.xml"/>
|
|
<xi:include href="xml/cogl-texture-3d.xml"/>
|
|
<xi:include href="xml/cogl-texture-rectangle.xml"/>
|
|
</section>
|
|
|
|
<xi:include href="xml/cogl-clipping.xml"/>
|
|
<section id="cogl-framebuffer-apis">
|
|
<title>Framebuffers</title>
|
|
<xi:include href="xml/cogl-framebuffer.xml"/>
|
|
<xi:include href="xml/cogl-offscreen.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-utilities">
|
|
<title>Utilities</title>
|
|
<xi:include href="xml/cogl-color.xml"/>
|
|
<xi:include href="xml/cogl-matrix.xml"/>
|
|
<xi:include href="xml/cogl-vector.xml"/>
|
|
<xi:include href="xml/cogl-quaternion.xml"/>
|
|
<xi:include href="xml/cogl-types.xml"/>
|
|
<xi:include href="xml/cogl-version.xml"/>
|
|
</section>
|
|
|
|
<section id="cogl-integration">
|
|
<title>Binding and Integrating</title>
|
|
<xi:include href="xml/cogl-sdl.xml"/>
|
|
<xi:include href="xml/cogl-gtype.xml"/>
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter id="coglglossary">
|
|
<title>Glossaries</title>
|
|
|
|
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
|
</chapter>
|
|
|
|
<index>
|
|
<title>Index of all symbols</title>
|
|
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<index role="deprecated">
|
|
<title>Index of deprecated symbols</title>
|
|
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<index role="0.8">
|
|
<title>Index of new symbols in 0.8</title>
|
|
<xi:include href="xml/api-index-0.8.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<index role="1.0">
|
|
<title>Index of new symbols in 1.0</title>
|
|
<xi:include href="xml/api-index-1.0.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<index role="1.2">
|
|
<title>Index of new symbols in 1.2</title>
|
|
<xi:include href="xml/api-index-1.2.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<index role="1.4">
|
|
<title>Index of new symbols in 1.4</title>
|
|
<xi:include href="xml/api-index-1.4.xml"><xi:fallback /></xi:include>
|
|
</index>
|
|
|
|
<appendix id="license">
|
|
<title>License</title>
|
|
|
|
<para>
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the <citetitle>GNU Library General
|
|
Public License</citetitle> as published by the Free Software
|
|
Foundation; either version 2 of the License, or (at your option)
|
|
any later version.
|
|
</para>
|
|
|
|
<para>
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
<citetitle>GNU Library General Public License</citetitle> for
|
|
more details.
|
|
</para>
|
|
|
|
<para>
|
|
You may obtain a copy of the <citetitle>GNU Library General
|
|
Public License</citetitle> from the Free Software Foundation by
|
|
visiting <ulink type="http" url="http://www.fsf.org">their Web
|
|
site</ulink> or by writing to:
|
|
|
|
<address>
|
|
Free Software Foundation, Inc.
|
|
<street>59 Temple Place</street> - Suite 330
|
|
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
|
|
<country>USA</country>
|
|
</address>
|
|
</para>
|
|
</appendix>
|
|
|
|
</book>
|