<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry xml:base="" id="eglBindAPI">
    <refentryinfo>
         <copyright>
             <year>2003-2014</year>
             <holder>The Khronos Group Inc.</holder>
         </copyright>
    </refentryinfo>
    <refmeta>
        <refentrytitle>eglBindAPI</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>eglBindAPI</refname>
        <refpurpose>Set the current rendering API</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>EGLBoolean <function>eglBindAPI</function></funcdef>
                <paramdef>EGLenum <parameter>api</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>api</parameter></term>
            <listitem>
                <para>
                    Specifies the client API to bind, one of
                    <constant>EGL_OPENGL_API</constant>,
                    <constant>EGL_OPENGL_ES_API</constant>, or
                    <constant>EGL_OPENVG_API</constant>.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 id="description"><title>Description</title>
        <para>
            <function>eglBindAPI</function> defines the current
            rendering API for EGL in the thread it is called from. The
            current rendering API is one of the client rendering APIs
            supported by the EGL implementation, and affects the
            behavior of other EGL commands including
            <function>eglCreateContext</function>,
            <function>eglGetCurrentContext</function>,
            <function>eglGetCurrentDisplay</function>,
            <function>eglGetCurrentSurface</function>,
            <function>eglMakeCurrent</function>,
            <function>eglWaitClient</function>, and
            <function>eglWaitNative</function>.
        </para>
        <para>
            If <parameter>api</parameter> is
            <constant>EGL_OPENGL_API</constant>, the current rendering
            API is set to the OpenGL API.
        </para>
        <para>
            If <parameter>api</parameter> is
            <constant>EGL_OPENGL_ES_API</constant>, the current
            rendering API is set to the OpenGL ES API.
        </para>
        <para>
            If <parameter>api</parameter> is
            <constant>EGL_OPENVG_API</constant>, the current rendering
            API is set to the OpenVG API.
        </para>
        <para>
            If an error occurs, the current rendering API is unchanged.
        </para>
    </refsect1>
    <refsect1 id="notes"><title>Notes</title>
        <para>
            <function>eglBindAPI</function> and the corresponding
            <constant>EGL_OPENGL_ES_API</constant> and
            <constant>EGL_OPENVG_API</constant>
            <parameter>api</parameter> parameters are supported only if
            the EGL version is 1.2 or greater. The
            <constant>EGL_OPENGL_API</constant> parameter is supported
            only if the EGL version is 1.4 or greater.
        </para>
        <para>
            The initial value of the current rendering API is
            <constant>EGL_OPENGL_ES_API</constant> unless OpenGL ES is
            not supported by an implementation, in which case the
            initial value is <constant>EGL_NONE</constant> (however,
            <constant>EGL_NONE</constant> is not a valid
            <parameter>api</parameter> parameter to
            <function>eglBindAPI</function>).
        </para>
        <para>
            The current rendering API can be queried by calling
            <function>eglQueryAPI</function>.
        </para>
    </refsect1>
    <refsect1 id="errors"><title>Errors</title>
        <para>
            <constant>EGL_FALSE</constant> is returned on failure.
        </para>
        <para>
            <constant>EGL_BAD_PARAMETER</constant> is generated if
            <parameter>api</parameter> is not one of the accepted
            tokens, or if the specified client API is not supported by
            the EGL implementation.
        </para>
    </refsect1>
    <refsect1 id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>eglCreateContext</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglGetCurrentContext</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglGetCurrentDisplay</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglGetCurrentSurface</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglMakeCurrent</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglQueryAPI</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglWaitClient</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>eglWaitNative</refentrytitle></citerefentry>
        </para>
    </refsect1>
    <refsect3 id="Copyright"><title></title>
        <!-- Content included from copyright.inc.xsl -->
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>
</refentry>
