
<refentry id="glXCreateWindow">
    <refmeta>
        <refmetainfo>
            <copyright>
                <year>1991-2006</year>
                <holder>Silicon Graphics, Inc.</holder>
            </copyright>
        </refmetainfo>
        <refentrytitle>glXCreateWindow</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>glXCreateWindow</refname>
        <refpurpose>create an on-screen rendering area</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>GLXWindow <function>glXCreateWindow</function></funcdef>
                <paramdef>Display * <parameter>dpy</parameter></paramdef>
                <paramdef>GLXFBConfig <parameter>config</parameter></paramdef>
                <paramdef>Window <parameter>win</parameter></paramdef>
                <paramdef>const int * <parameter>attrib_list</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <!-- eqn: ignoring delim $$ -->
    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>dpy</parameter></term>
            <listitem>
                <para>
                    Specifies the connection to the X server.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>config</parameter></term>
            <listitem>
                <para>
                    Specifies a GLXFBConfig structure with the desired attributes for the
                    window.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>win</parameter></term>
            <listitem>
                <para>
                    Specifies the X window to be used as the rendering area.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>attrib_list</parameter></term>
            <listitem>
                <para>
                    Currently unused. This must be set to <constant>NULL</constant> or be an empty list
                    (i.e., one in which the first element is <constant>None</constant>).
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 id="description"><title>Description</title>
        <para>
            <function>glXCreateWindow</function> creates an on-screen rendering area from an existing X window
            that was created with a visual matching <parameter>config</parameter>. The XID of the
            GLXWindow is returned.
            Any GLX rendering context that was created with respect to <parameter>config</parameter>
            can be used to render into this window.
            Use <citerefentry><refentrytitle>glXMakeContextCurrent</refentrytitle></citerefentry> to associate the rendering area with a GLX
            rendering context.
        </para>
    </refsect1>
    <refsect1 id="notes"><title>Notes</title>
        <para>
            <function>glXCreateWindow</function> is available only if the GLX version is 1.3 or greater.
        </para>
        <para>
            If the GLX version is 1.1 or 1.0, the GL version must be 1.0.
            If the GLX version is 1.2, then the GL version must be 1.1.
            If the GLX version is 1.3, then the GL version must be 1.2.
        </para>
    </refsect1>
    <refsect1 id="errors"><title>Errors</title>
        <para>
            <constant>BadMatch</constant> is generated if <parameter>win</parameter> was not created with a visual
            that corresponds to <parameter>config</parameter>.
        </para>
        <para>
            <constant>BadMatch</constant> is generated if <parameter>config</parameter> does not support rendering to
            windows (i.e., <constant>GLX_DRAWABLE_TYPE</constant> does not contain
            <constant>GLX_WINDOW_BIT</constant>).
        </para>
        <para>
            <constant>BadWindow</constant> is generated if <parameter>win</parameter> is not a valid pixmap XID.
        </para>
        <para>
            <constant>BadAlloc</constant> is generated if there is already a GLXFBConfig
            associated with <parameter>win</parameter>.
        </para>
        <para>
            <constant>BadAlloc</constant> is generated if the X server cannot allocate a new
            GLX window.
        </para>
        <para>
            <constant>GLXBadFBConfig</constant> is generated if <parameter>config</parameter> is not a valid
            GLXFBConfig.
        </para>
        <para>
        </para>
    </refsect1>
    <refsect1 id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>glXChooseFBConfig</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glXDestroyPixmap</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glXMakeContextCurrent</refentrytitle></citerefentry>
        </para>
    </refsect1>
    <refsect1 id="Copyright"><title>Copyright</title>
        <para>
            Copyright <trademark class="copyright"></trademark> 1991-2006
            Silicon Graphics, Inc. This document is licensed under the SGI
            Free Software B License. For details, see
            <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
        </para>
    </refsect1>
</refentry>
