a
    ij                     @   s   d Z ddlmZmZmZ ddlmZmZ ddlZddlm	Z	m
Z
 ddlT ddlmZ dd	 Zeed
dZddlmZ eedddZdS )a  OpenGL extension ATI.draw_buffers

This module customises the behaviour of the 
OpenGL.raw.GL.ATI.draw_buffers to provide a more 
Python-friendly API

Overview (from the spec)
	
	This extension extends ARB_fragment_program to allow multiple output 
	colors, and provides a mechanism for directing those outputs to 
	multiple color buffers.
	

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/ATI/draw_buffers.txt
    )platformconstantarrays)
extensionswrapperN)_types_glgets)*)_EXTENSION_NAMEc                  C   s   ddl m}  | tS )z=Return boolean indicating whether this extension is availabler   r   )OpenGLr   ZhasGLExtensionr
   r    r   X/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GL/ATI/draw_buffers.pyglInitDrawBuffersATI   s    r   bufs)lazyc                 C   s:   |du r|}d}t j|}|du r0t j|}| ||S )zglDrawBuffersATI( bufs ) -> bufs 
    
    Wrapper will calculate n from dims of bufs if only 
    one argument is provided...
    N)r   ZGLenumArrayZasArrayZ	arraySize)ZbaseOperationnr   r   r   r   glDrawBuffersATI#   s    r   )NN)__doc__r   r   r   r   r   r   ctypesZOpenGL.raw.GLr   r   ZOpenGL.raw.GL.ATI.draw_buffersr
   r   r   ZsetInputArraySizeZOpenGL.lazywrapperr   Z_lazyr   r   r   r   <module>   s   
