1'''OpenGL extension ARB.shading_language_include
2
3This module customises the behaviour of the
4OpenGL.raw.GL.ARB.shading_language_include to provide a more
5Python-friendly API
6
7Overview (from the spec)
8
9	This extension introduces a #include GLSL directive to allow reusing
10	the same shader text in multiple shaders and defines the semantics
11	and syntax of the names allowed in #include directives. It also
12	defines API mechanisms to define the named string backing a
13	#include.
14
15The official definition of this extension is available here:
16http://www.opengl.org/registry/specs/ARB/shading_language_include.txt
17'''
18from OpenGL import platform, constant, arrays
19from OpenGL import extensions, wrapper
20import ctypes
21from OpenGL.raw.GL import _types, _glgets
22from OpenGL.raw.GL.ARB.shading_language_include import *
23from OpenGL.raw.GL.ARB.shading_language_include import _EXTENSION_NAME
24
25def glInitShadingLanguageIncludeARB():
26    '''Return boolean indicating whether this extension is available'''
27    from OpenGL import extensions
28    return extensions.hasGLExtension( _EXTENSION_NAME )
29
30# INPUT glNamedStringARB.name size not checked against namelen
31# INPUT glNamedStringARB.string size not checked against stringlen
32glNamedStringARB=wrapper.wrapper(glNamedStringARB).setInputArraySize(
33    'name', None
34).setInputArraySize(
35    'string', None
36)
37# INPUT glDeleteNamedStringARB.name size not checked against namelen
38glDeleteNamedStringARB=wrapper.wrapper(glDeleteNamedStringARB).setInputArraySize(
39    'name', None
40)
41# INPUT glCompileShaderIncludeARB.path size not checked against count
42# INPUT glCompileShaderIncludeARB.length size not checked against count
43glCompileShaderIncludeARB=wrapper.wrapper(glCompileShaderIncludeARB).setInputArraySize(
44    'path', None
45).setInputArraySize(
46    'length', None
47)
48# INPUT glIsNamedStringARB.name size not checked against namelen
49glIsNamedStringARB=wrapper.wrapper(glIsNamedStringARB).setInputArraySize(
50    'name', None
51)
52# INPUT glGetNamedStringARB.name size not checked against namelen
53glGetNamedStringARB=wrapper.wrapper(glGetNamedStringARB).setOutput(
54    'stringlen',size=(1,),orPassIn=True
55).setOutput(
56    'string',size=lambda x:(x,),pnameArg='bufSize',orPassIn=True
57).setInputArraySize(
58    'name', None
59)
60# INPUT glGetNamedStringivARB.name size not checked against namelen
61glGetNamedStringivARB=wrapper.wrapper(glGetNamedStringivARB).setOutput(
62    'params',size=_glgets._glget_size_mapping,pnameArg='pname',orPassIn=True
63).setInputArraySize(
64    'name', None
65)
66### END AUTOGENERATED SECTION