qopenglfunctions_2_0.sip 109 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919
  1. // qopenglfunctions_2_0.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtOpenGL Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. %If (!PyQt_OpenGL_ES2)
  22. class QOpenGLFunctions_2_0 : public QAbstractOpenGLFunctions
  23. {
  24. %TypeHeaderCode
  25. #include <qopenglfunctions_2_0.h>
  26. %End
  27. public:
  28. QOpenGLFunctions_2_0();
  29. bool initializeOpenGLFunctions();
  30. void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
  31. void glDepthRange(GLdouble nearVal, GLdouble farVal);
  32. GLboolean glIsEnabled(GLenum cap);
  33. void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, SIP_PYOBJECT *params /TypeHint="int"/);
  34. %MethodCode
  35. GLint params[1];
  36. sipCpp->glGetTexLevelParameteriv(a0, a1, a2, params);
  37. a3 = qpyopengl_from_GLint(&sipIsErr, params, 1);
  38. %End
  39. void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, SIP_PYOBJECT *params /TypeHint="float"/);
  40. %MethodCode
  41. GLfloat params[1];
  42. sipCpp->glGetTexLevelParameterfv(a0, a1, a2, params);
  43. a3 = qpyopengl_from_GLfloat(&sipIsErr, params, 1);
  44. %End
  45. void glGetTexParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  46. %MethodCode
  47. GLint params[4];
  48. Py_ssize_t nr_params;
  49. switch (a1)
  50. {
  51. #if defined(GL_TEXTURE_SWIZZLE_RGBA) || defined(GL_TEXTURE_BORDER_COLOR)
  52. #if defined(GL_TEXTURE_SWIZZLE_RGBA)
  53. case GL_TEXTURE_SWIZZLE_RGBA:
  54. #endif
  55. #if defined(GL_TEXTURE_BORDER_COLOR)
  56. case GL_TEXTURE_BORDER_COLOR:
  57. #endif
  58. nr_params = 4;
  59. break;
  60. #endif
  61. default:
  62. nr_params = 1;
  63. }
  64. sipCpp->glGetTexParameteriv(a0, a1, params);
  65. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  66. %End
  67. void glGetTexParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  68. %MethodCode
  69. GLfloat params[4];
  70. Py_ssize_t nr_params;
  71. switch (a1)
  72. {
  73. #if defined(GL_TEXTURE_SWIZZLE_RGBA) || defined(GL_TEXTURE_BORDER_COLOR)
  74. #if defined(GL_TEXTURE_SWIZZLE_RGBA)
  75. case GL_TEXTURE_SWIZZLE_RGBA:
  76. #endif
  77. #if defined(GL_TEXTURE_BORDER_COLOR)
  78. case GL_TEXTURE_BORDER_COLOR:
  79. #endif
  80. nr_params = 4;
  81. break;
  82. #endif
  83. default:
  84. nr_params = 1;
  85. }
  86. sipCpp->glGetTexParameterfv(a0, a1, params);
  87. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  88. %End
  89. const char *glGetString(GLenum name);
  90. %MethodCode
  91. sipRes = reinterpret_cast<const char *>(sipCpp->glGetString(a0));
  92. %End
  93. void glGetIntegerv(GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, ...]]"/);
  94. %MethodCode
  95. GLint fixed_params[16], *params;
  96. GLint nr_params;
  97. GLenum query;
  98. nr_params = qpyopengl_get(a0, &query);
  99. if (nr_params == 0)
  100. {
  101. sipCpp->glGetIntegerv(query, &nr_params);
  102. params = new GLint[nr_params];
  103. }
  104. else
  105. {
  106. params = fixed_params;
  107. }
  108. sipCpp->glGetIntegerv(a0, params);
  109. a1 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  110. if (params != fixed_params)
  111. delete[] params;
  112. %End
  113. void glGetFloatv(GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, ...]]"/);
  114. %MethodCode
  115. GLfloat fixed_params[16], *params;
  116. GLint nr_params;
  117. GLenum query;
  118. nr_params = qpyopengl_get(a0, &query);
  119. if (nr_params == 0)
  120. {
  121. sipCpp->glGetIntegerv(query, &nr_params);
  122. params = new GLfloat[nr_params];
  123. }
  124. else
  125. {
  126. params = fixed_params;
  127. }
  128. sipCpp->glGetFloatv(a0, params);
  129. a1 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  130. if (params != fixed_params)
  131. delete[] params;
  132. %End
  133. GLenum glGetError();
  134. void glGetDoublev(GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, ...]]"/);
  135. %MethodCode
  136. GLdouble fixed_params[16], *params;
  137. GLint nr_params;
  138. GLenum query;
  139. nr_params = qpyopengl_get(a0, &query);
  140. if (nr_params == 0)
  141. {
  142. sipCpp->glGetIntegerv(query, &nr_params);
  143. params = new GLdouble[nr_params];
  144. }
  145. else
  146. {
  147. params = fixed_params;
  148. }
  149. sipCpp->glGetDoublev(a0, params);
  150. a1 = qpyopengl_from_GLdouble(&sipIsErr, params, nr_params);
  151. if (params != fixed_params)
  152. delete[] params;
  153. %End
  154. void glGetBooleanv(GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[bool, Tuple[bool, ...]]"/);
  155. %MethodCode
  156. GLboolean fixed_params[16], *params;
  157. GLint nr_params;
  158. GLenum query;
  159. nr_params = qpyopengl_get(a0, &query);
  160. if (nr_params == 0)
  161. {
  162. sipCpp->glGetIntegerv(query, &nr_params);
  163. params = new GLboolean[nr_params];
  164. }
  165. else
  166. {
  167. params = fixed_params;
  168. }
  169. sipCpp->glGetBooleanv(a0, params);
  170. a1 = qpyopengl_from_GLboolean(&sipIsErr, params, nr_params);
  171. if (params != fixed_params)
  172. delete[] params;
  173. %End
  174. SIP_PYOBJECT glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type) /TypeHint="Union[Tuple[float, ...], Tuple[int, ...]]"/;
  175. %MethodCode
  176. int components;
  177. switch (a4)
  178. {
  179. case GL_BGR:
  180. case GL_RGB:
  181. {
  182. components = 3;
  183. break;
  184. }
  185. case GL_BGRA:
  186. case GL_RGBA:
  187. {
  188. components = 4;
  189. break;
  190. }
  191. case GL_RED:
  192. case GL_GREEN:
  193. case GL_BLUE:
  194. case GL_ALPHA:
  195. case GL_DEPTH_COMPONENT:
  196. case GL_STENCIL_INDEX:
  197. case GL_DEPTH_STENCIL:
  198. {
  199. components = 1;
  200. break;
  201. }
  202. default:
  203. components = 0;
  204. }
  205. Py_ssize_t length = components * a2 * a3;
  206. switch (a5)
  207. {
  208. case GL_FLOAT:
  209. {
  210. GLfloat *data = new GLfloat[length];
  211. sipCpp->glReadPixels(a0, a1, a2, a3, a4, a5, data);
  212. sipRes = qpyopengl_from_GLfloat(&sipIsErr, data, length);
  213. delete [] data;
  214. break;
  215. }
  216. case GL_INT:
  217. {
  218. GLint *data = new GLint[length];
  219. sipCpp->glReadPixels(a0, a1, a2, a3, a4, a5, data);
  220. sipRes = qpyopengl_from_GLint(&sipIsErr, data, length);
  221. delete [] data;
  222. break;
  223. }
  224. case GL_UNSIGNED_INT:
  225. case GL_UNSIGNED_INT_8_8_8_8:
  226. case GL_UNSIGNED_INT_8_8_8_8_REV:
  227. case GL_UNSIGNED_INT_10_10_10_2:
  228. case GL_UNSIGNED_INT_2_10_10_10_REV:
  229. case GL_UNSIGNED_INT_24_8:
  230. case GL_UNSIGNED_INT_10F_11F_11F_REV:
  231. case GL_UNSIGNED_INT_5_9_9_9_REV:
  232. {
  233. GLuint *data = new GLuint[length];
  234. sipCpp->glReadPixels(a0, a1, a2, a3, a4, a5, data);
  235. sipRes = qpyopengl_from_GLuint(&sipIsErr, data, length);
  236. delete [] data;
  237. break;
  238. }
  239. case GL_SHORT:
  240. case GL_UNSIGNED_SHORT:
  241. case GL_UNSIGNED_SHORT_5_6_5:
  242. case GL_UNSIGNED_SHORT_5_6_5_REV:
  243. case GL_UNSIGNED_SHORT_4_4_4_4:
  244. case GL_UNSIGNED_SHORT_4_4_4_4_REV:
  245. case GL_UNSIGNED_SHORT_5_5_5_1:
  246. case GL_UNSIGNED_SHORT_1_5_5_5_REV:
  247. case GL_BYTE:
  248. case GL_UNSIGNED_BYTE:
  249. case GL_UNSIGNED_BYTE_3_3_2:
  250. case GL_UNSIGNED_BYTE_2_3_3_REV:
  251. case GL_HALF_FLOAT:
  252. case GL_FLOAT_32_UNSIGNED_INT_24_8_REV:
  253. default:
  254. sipIsErr = 1;
  255. PyErr_SetString(PyExc_ValueError, "pixel data format not supported");
  256. }
  257. %End
  258. void glReadBuffer(GLenum mode);
  259. void glPixelStorei(GLenum pname, GLint param);
  260. void glPixelStoref(GLenum pname, GLfloat param);
  261. void glDepthFunc(GLenum func);
  262. void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
  263. void glStencilFunc(GLenum func, GLint ref, GLuint mask);
  264. void glLogicOp(GLenum opcode);
  265. void glBlendFunc(GLenum sfactor, GLenum dfactor);
  266. void glFlush();
  267. void glFinish();
  268. void glEnable(GLenum cap);
  269. void glDisable(GLenum cap);
  270. void glDepthMask(GLboolean flag);
  271. void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
  272. void glStencilMask(GLuint mask);
  273. void glClearDepth(GLdouble depth);
  274. void glClearStencil(GLint s);
  275. void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  276. void glClear(GLbitfield mask);
  277. void glDrawBuffer(GLenum mode);
  278. void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  279. %MethodCode
  280. const GLvoid *array = qpyopengl_value_array(&sipError, a8, a7, sipSelf);
  281. if (sipError == sipErrorNone)
  282. sipCpp->glTexImage2D(a0, a1, a2, a3, a4, a5, a6, a7, array);
  283. %End
  284. void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  285. %MethodCode
  286. const GLvoid *array = qpyopengl_value_array(&sipError, a7, a6, sipSelf);
  287. if (sipError == sipErrorNone)
  288. sipCpp->glTexImage1D(a0, a1, a2, a3, a4, a5, a6, array);
  289. %End
  290. void glTexParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  291. %MethodCode
  292. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  293. if (sipError == sipErrorNone)
  294. sipCpp->glTexParameteriv(a0, a1, reinterpret_cast<const GLint *>(array));
  295. %End
  296. void glTexParameteri(GLenum target, GLenum pname, GLint param);
  297. void glTexParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  298. %MethodCode
  299. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  300. if (sipError == sipErrorNone)
  301. sipCpp->glTexParameterfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  302. %End
  303. void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
  304. void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
  305. void glPolygonMode(GLenum face, GLenum mode);
  306. void glPointSize(GLfloat size);
  307. void glLineWidth(GLfloat width);
  308. void glHint(GLenum target, GLenum mode);
  309. void glFrontFace(GLenum mode);
  310. void glCullFace(GLenum mode);
  311. void glIndexubv(SIP_PYOBJECT c /TypeHint="PYQT_OPENGL_ARRAY"/);
  312. %MethodCode
  313. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  314. sipSelf);
  315. if (sipError == sipErrorNone)
  316. sipCpp->glIndexubv(reinterpret_cast<const GLubyte *>(array));
  317. %End
  318. void glIndexub(GLubyte c);
  319. GLboolean glIsTexture(GLuint texture);
  320. void glGenTextures(GLsizei n, SIP_PYOBJECT *textures /TypeHint="Union[int, Tuple[int, ...]]"/);
  321. %MethodCode
  322. GLuint *params = new GLuint[a0];
  323. sipCpp->glGenTextures(a0, params);
  324. a1 = qpyopengl_from_GLuint(&sipIsErr, params, a0);
  325. delete[] params;
  326. %End
  327. void glDeleteTextures(GLsizei n, SIP_PYOBJECT textures /TypeHint="PYQT_OPENGL_ARRAY"/);
  328. %MethodCode
  329. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  330. sipSelf);
  331. if (sipError == sipErrorNone)
  332. sipCpp->glDeleteTextures(a0, reinterpret_cast<const GLuint *>(array));
  333. %End
  334. void glBindTexture(GLenum target, GLuint texture);
  335. void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  336. %MethodCode
  337. const GLvoid *array = qpyopengl_value_array(&sipError, a8, a7, sipSelf);
  338. if (sipError == sipErrorNone)
  339. sipCpp->glTexSubImage2D(a0, a1, a2, a3, a4, a5, a6, a7, array);
  340. %End
  341. void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  342. %MethodCode
  343. const GLvoid *array = qpyopengl_value_array(&sipError, a6, a5, sipSelf);
  344. if (sipError == sipErrorNone)
  345. sipCpp->glTexSubImage1D(a0, a1, a2, a3, a4, a5, array);
  346. %End
  347. void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  348. void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
  349. void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
  350. void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
  351. void glPolygonOffset(GLfloat factor, GLfloat units);
  352. void glDrawElements(GLenum mode, GLsizei count, GLenum type, SIP_PYOBJECT indices /TypeHint="PYQT_OPENGL_ARRAY"/);
  353. %MethodCode
  354. const GLvoid *array = qpyopengl_value_array(&sipError, a3, a2, sipSelf);
  355. if (sipError == sipErrorNone)
  356. sipCpp->glDrawElements(a0, a1, a2, array);
  357. %End
  358. void glDrawArrays(GLenum mode, GLint first, GLsizei count);
  359. void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  360. void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  361. %MethodCode
  362. const GLvoid *array = qpyopengl_value_array(&sipError, a10, a9, sipSelf);
  363. if (sipError == sipErrorNone)
  364. sipCpp->glTexSubImage3D(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, array);
  365. %End
  366. void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  367. %MethodCode
  368. const GLvoid *array = qpyopengl_value_array(&sipError, a9, a8, sipSelf);
  369. if (sipError == sipErrorNone)
  370. sipCpp->glTexImage3D(a0, a1, a2, a3, a4, a5, a6, a7, a8, array);
  371. %End
  372. void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, SIP_PYOBJECT indices /TypeHint="PYQT_OPENGL_ARRAY"/);
  373. %MethodCode
  374. const GLvoid *array = qpyopengl_value_array(&sipError, a5, a4, sipSelf);
  375. if (sipError == sipErrorNone)
  376. sipCpp->glDrawRangeElements(a0, a1, a2, a3, a4, array);
  377. %End
  378. void glBlendEquation(GLenum mode);
  379. void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  380. void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  381. %MethodCode
  382. const GLvoid *array = qpyopengl_value_array(&sipError, a6, GL_UNSIGNED_BYTE,
  383. sipSelf);
  384. if (sipError == sipErrorNone)
  385. sipCpp->glCompressedTexSubImage1D(a0, a1, a2, a3, a4, a5, array);
  386. %End
  387. void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  388. %MethodCode
  389. const GLvoid *array = qpyopengl_value_array(&sipError, a8, GL_UNSIGNED_BYTE,
  390. sipSelf);
  391. if (sipError == sipErrorNone)
  392. sipCpp->glCompressedTexSubImage2D(a0, a1, a2, a3, a4, a5, a6, a7, array);
  393. %End
  394. void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  395. %MethodCode
  396. const GLvoid *array = qpyopengl_value_array(&sipError, a10, GL_UNSIGNED_BYTE,
  397. sipSelf);
  398. if (sipError == sipErrorNone)
  399. sipCpp->glCompressedTexSubImage3D(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,
  400. array);
  401. %End
  402. void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  403. %MethodCode
  404. const GLvoid *array = qpyopengl_value_array(&sipError, a6, GL_UNSIGNED_BYTE,
  405. sipSelf);
  406. if (sipError == sipErrorNone)
  407. sipCpp->glCompressedTexImage1D(a0, a1, a2, a3, a4, a5, array);
  408. %End
  409. void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  410. %MethodCode
  411. const GLvoid *array = qpyopengl_value_array(&sipError, a7, GL_UNSIGNED_BYTE,
  412. sipSelf);
  413. if (sipError == sipErrorNone)
  414. sipCpp->glCompressedTexImage2D(a0, a1, a2, a3, a4, a5, a6, array);
  415. %End
  416. void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  417. %MethodCode
  418. const GLvoid *array = qpyopengl_value_array(&sipError, a8, GL_UNSIGNED_BYTE,
  419. sipSelf);
  420. if (sipError == sipErrorNone)
  421. sipCpp->glCompressedTexImage3D(a0, a1, a2, a3, a4, a5, a6, a7, array);
  422. %End
  423. void glSampleCoverage(GLfloat value, GLboolean invert);
  424. void glActiveTexture(GLenum texture);
  425. void glPointParameteriv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  426. %MethodCode
  427. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  428. if (sipError == sipErrorNone)
  429. sipCpp->glPointParameteriv(a0, reinterpret_cast<const GLint *>(array));
  430. %End
  431. void glPointParameteri(GLenum pname, GLint param);
  432. void glPointParameterfv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  433. %MethodCode
  434. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  435. if (sipError == sipErrorNone)
  436. sipCpp->glPointParameterfv(a0, reinterpret_cast<const GLfloat *>(array));
  437. %End
  438. void glPointParameterf(GLenum pname, GLfloat param);
  439. void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
  440. void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
  441. GLboolean glUnmapBuffer(GLenum target);
  442. void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  443. %MethodCode
  444. const GLvoid *array;
  445. if (a3 == Py_None)
  446. array = 0;
  447. else
  448. array = qpyopengl_value_array(&sipError, a3, GL_UNSIGNED_BYTE, sipSelf);
  449. if (sipError == sipErrorNone)
  450. sipCpp->glBufferSubData(a0, a1, a2, array);
  451. %End
  452. void glBufferData(GLenum target, GLsizeiptr size, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/, GLenum usage);
  453. %MethodCode
  454. const GLvoid *array;
  455. if (a2 == Py_None)
  456. array = 0;
  457. else
  458. array = qpyopengl_value_array(&sipError, a2, GL_UNSIGNED_BYTE, sipSelf);
  459. if (sipError == sipErrorNone)
  460. sipCpp->glBufferData(a0, a1, array, a3);
  461. %End
  462. GLboolean glIsBuffer(GLuint buffer);
  463. void glGenBuffers(GLsizei n, SIP_PYOBJECT *buffers /TypeHint="Union[int, Tuple[int, ...]]"/);
  464. %MethodCode
  465. GLuint *params = new GLuint[a0];
  466. sipCpp->glGenBuffers(a0, params);
  467. a1 = qpyopengl_from_GLuint(&sipIsErr, params, a0);
  468. delete[] params;
  469. %End
  470. void glDeleteBuffers(GLsizei n, SIP_PYOBJECT buffers /TypeHint="PYQT_OPENGL_ARRAY"/);
  471. %MethodCode
  472. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  473. sipSelf);
  474. if (sipError == sipErrorNone)
  475. sipCpp->glDeleteBuffers(a0, reinterpret_cast<const GLuint *>(array));
  476. %End
  477. void glBindBuffer(GLenum target, GLuint buffer);
  478. void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
  479. void glEndQuery(GLenum target);
  480. void glBeginQuery(GLenum target, GLuint id);
  481. GLboolean glIsQuery(GLuint id);
  482. void glDeleteQueries(GLsizei n, SIP_PYOBJECT ids /TypeHint="PYQT_OPENGL_ARRAY"/);
  483. %MethodCode
  484. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  485. sipSelf);
  486. if (sipError == sipErrorNone)
  487. sipCpp->glDeleteQueries(a0, reinterpret_cast<const GLuint *>(array));
  488. %End
  489. void glGenQueries(GLsizei n, SIP_PYOBJECT *ids /TypeHint="Union[int, Tuple[int, ...]]"/);
  490. %MethodCode
  491. GLuint *params = new GLuint[a0];
  492. sipCpp->glGenQueries(a0, params);
  493. a1 = qpyopengl_from_GLuint(&sipIsErr, params, a0);
  494. delete[] params;
  495. %End
  496. void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  497. %MethodCode
  498. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a5, a2, sipSelf,
  499. "VertexAttribPointer", a0);
  500. if (sipError == sipErrorNone)
  501. sipCpp->glVertexAttribPointer(a0, a1, a2, a3, a4, array);
  502. %End
  503. void glValidateProgram(GLuint program);
  504. void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  505. %MethodCode
  506. const GLvoid *array = qpyopengl_value_array(&sipError, a3, GL_FLOAT, sipSelf);
  507. if (sipError == sipErrorNone)
  508. sipCpp->glUniformMatrix4fv(a0, a1, a2,
  509. reinterpret_cast<const GLfloat *>(array));
  510. %End
  511. void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  512. %MethodCode
  513. const GLvoid *array = qpyopengl_value_array(&sipError, a3, GL_FLOAT, sipSelf);
  514. if (sipError == sipErrorNone)
  515. sipCpp->glUniformMatrix3fv(a0, a1, a2,
  516. reinterpret_cast<const GLfloat *>(array));
  517. %End
  518. void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  519. %MethodCode
  520. const GLvoid *array = qpyopengl_value_array(&sipError, a3, GL_FLOAT, sipSelf);
  521. if (sipError == sipErrorNone)
  522. sipCpp->glUniformMatrix2fv(a0, a1, a2,
  523. reinterpret_cast<const GLfloat *>(array));
  524. %End
  525. void glUniform4iv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  526. %MethodCode
  527. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  528. if (sipError == sipErrorNone)
  529. sipCpp->glUniform4iv(a0, a1, reinterpret_cast<const GLint *>(array));
  530. %End
  531. void glUniform3iv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  532. %MethodCode
  533. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  534. if (sipError == sipErrorNone)
  535. sipCpp->glUniform3iv(a0, a1, reinterpret_cast<const GLint *>(array));
  536. %End
  537. void glUniform2iv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  538. %MethodCode
  539. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  540. if (sipError == sipErrorNone)
  541. sipCpp->glUniform2iv(a0, a1, reinterpret_cast<const GLint *>(array));
  542. %End
  543. void glUniform1iv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  544. %MethodCode
  545. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  546. if (sipError == sipErrorNone)
  547. sipCpp->glUniform1iv(a0, a1, reinterpret_cast<const GLint *>(array));
  548. %End
  549. void glUniform4fv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  550. %MethodCode
  551. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  552. if (sipError == sipErrorNone)
  553. sipCpp->glUniform4fv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  554. %End
  555. void glUniform3fv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  556. %MethodCode
  557. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  558. if (sipError == sipErrorNone)
  559. sipCpp->glUniform3fv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  560. %End
  561. void glUniform2fv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  562. %MethodCode
  563. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  564. if (sipError == sipErrorNone)
  565. sipCpp->glUniform2fv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  566. %End
  567. void glUniform1fv(GLint location, GLsizei count, SIP_PYOBJECT value /TypeHint="PYQT_OPENGL_ARRAY"/);
  568. %MethodCode
  569. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  570. if (sipError == sipErrorNone)
  571. sipCpp->glUniform1fv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  572. %End
  573. void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
  574. void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
  575. void glUniform2i(GLint location, GLint v0, GLint v1);
  576. void glUniform1i(GLint location, GLint v0);
  577. void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
  578. void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
  579. void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
  580. void glUniform1f(GLint location, GLfloat v0);
  581. void glUseProgram(GLuint program);
  582. void glLinkProgram(GLuint program);
  583. GLboolean glIsShader(GLuint shader);
  584. GLboolean glIsProgram(GLuint program);
  585. void glGetVertexAttribiv(GLuint index, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  586. %MethodCode
  587. GLint params[4];
  588. Py_ssize_t nr_params;
  589. switch (a1)
  590. {
  591. case GL_CURRENT_VERTEX_ATTRIB:
  592. nr_params = 4;
  593. break;
  594. default:
  595. nr_params = 1;
  596. }
  597. sipCpp->glGetVertexAttribiv(a0, a1, params);
  598. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  599. %End
  600. void glGetVertexAttribfv(GLuint index, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  601. %MethodCode
  602. GLfloat params[4];
  603. Py_ssize_t nr_params;
  604. switch (a1)
  605. {
  606. case GL_CURRENT_VERTEX_ATTRIB:
  607. nr_params = 4;
  608. break;
  609. default:
  610. nr_params = 1;
  611. }
  612. sipCpp->glGetVertexAttribfv(a0, a1, params);
  613. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  614. %End
  615. void glGetVertexAttribdv(GLuint index, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  616. %MethodCode
  617. GLdouble params[4];
  618. Py_ssize_t nr_params;
  619. switch (a1)
  620. {
  621. case GL_CURRENT_VERTEX_ATTRIB:
  622. nr_params = 4;
  623. break;
  624. default:
  625. nr_params = 1;
  626. }
  627. sipCpp->glGetVertexAttribdv(a0, a1, params);
  628. a2 = qpyopengl_from_GLdouble(&sipIsErr, params, nr_params);
  629. %End
  630. GLint glGetUniformLocation(GLuint program, const GLchar *name);
  631. SIP_PYOBJECT glGetShaderSource(GLuint shader) /TypeHint="bytes"/;
  632. %MethodCode
  633. GLint bufsize;
  634. sipCpp->glGetShaderiv(a0, GL_SHADER_SOURCE_LENGTH, &bufsize);
  635. if (bufsize > 0)
  636. {
  637. GLchar *source = new GLchar[bufsize];
  638. sipCpp->glGetShaderSource(a0, bufsize, 0, source);
  639. sipRes = PyBytes_FromString(source);
  640. delete[] source;
  641. }
  642. else
  643. {
  644. sipRes = PyBytes_FromString("");
  645. }
  646. %End
  647. SIP_PYOBJECT glGetShaderInfoLog(GLuint shader) /TypeHint="bytes"/;
  648. %MethodCode
  649. GLint bufsize;
  650. sipCpp->glGetShaderiv(a0, GL_INFO_LOG_LENGTH, &bufsize);
  651. if (bufsize > 0)
  652. {
  653. GLchar *log = new GLchar[bufsize];
  654. sipCpp->glGetShaderInfoLog(a0, bufsize, 0, log);
  655. sipRes = PyBytes_FromString(log);
  656. delete[] log;
  657. }
  658. else
  659. {
  660. sipRes = PyBytes_FromString("");
  661. }
  662. %End
  663. void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
  664. SIP_PYOBJECT glGetProgramInfoLog(GLuint program) /TypeHint="bytes"/;
  665. %MethodCode
  666. GLint bufsize;
  667. sipCpp->glGetProgramiv(a0, GL_INFO_LOG_LENGTH, &bufsize);
  668. if (bufsize > 0)
  669. {
  670. GLchar *log = new GLchar[bufsize];
  671. sipCpp->glGetProgramInfoLog(a0, bufsize, 0, log);
  672. sipRes = PyBytes_FromString(log);
  673. delete[] log;
  674. }
  675. else
  676. {
  677. sipRes = PyBytes_FromString("");
  678. }
  679. %End
  680. void glGetProgramiv(GLuint program, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int]]"/);
  681. %MethodCode
  682. GLint params[3];
  683. Py_ssize_t nr_params;
  684. switch (a1)
  685. {
  686. #if defined(GL_COMPUTE_LOCAL_WORK_SIZE)
  687. case GL_COMPUTE_LOCAL_WORK_SIZE:
  688. nr_params = 3;
  689. break;
  690. #endif
  691. default:
  692. nr_params = 1;
  693. }
  694. sipCpp->glGetProgramiv(a0, a1, params);
  695. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  696. %End
  697. GLint glGetAttribLocation(GLuint program, const GLchar *name);
  698. SIP_PYOBJECT glGetAttachedShaders(GLuint program) /TypeHint="Tuple[int, ...]"/;
  699. %MethodCode
  700. GLint nr_shaders;
  701. sipCpp->glGetProgramiv(a0, GL_ATTACHED_SHADERS, &nr_shaders);
  702. if (nr_shaders < 1)
  703. {
  704. sipRes = PyTuple_New(0);
  705. }
  706. else
  707. {
  708. GLuint *shaders = new GLuint[nr_shaders];
  709. sipCpp->glGetAttachedShaders(a0, nr_shaders, 0, shaders);
  710. sipRes = PyTuple_New(nr_shaders);
  711. if (sipRes)
  712. {
  713. for (GLint i = 0; i < nr_shaders; ++i)
  714. {
  715. PyObject *itm = PyLong_FromLong(shaders[i]);
  716. if (!itm)
  717. {
  718. Py_DECREF(sipRes);
  719. sipRes = 0;
  720. break;
  721. }
  722. PyTuple_SetItem(sipRes, i, itm);
  723. }
  724. }
  725. delete[] shaders;
  726. }
  727. if (!sipRes)
  728. sipIsErr = 1;
  729. %End
  730. SIP_PYOBJECT glGetActiveUniform(GLuint program, GLuint index) /TypeHint="Tuple[str, int, int]"/;
  731. %MethodCode
  732. GLint bufsize;
  733. sipCpp->glGetProgramiv(a0, GL_ACTIVE_UNIFORM_MAX_LENGTH, &bufsize);
  734. GLchar *name = new GLchar[bufsize];
  735. GLint size;
  736. GLenum type;
  737. sipCpp->glGetActiveUniform(a0, a1, bufsize, 0, &size, &type, name);
  738. sipRes = Py_BuildValue("siI", name, size, type);
  739. if (!sipRes)
  740. sipIsErr = 1;
  741. delete[] name;
  742. %End
  743. SIP_PYOBJECT glGetActiveAttrib(GLuint program, GLuint index) /TypeHint="Tuple[str, int, int]"/;
  744. %MethodCode
  745. GLint bufsize;
  746. sipCpp->glGetProgramiv(a0, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &bufsize);
  747. GLchar *name = new GLchar[bufsize];
  748. GLint size;
  749. GLenum type;
  750. sipCpp->glGetActiveAttrib(a0, a1, bufsize, 0, &size, &type, name);
  751. sipRes = Py_BuildValue("siI", name, size, type);
  752. if (!sipRes)
  753. sipIsErr = 1;
  754. delete[] name;
  755. %End
  756. void glEnableVertexAttribArray(GLuint index);
  757. void glDisableVertexAttribArray(GLuint index);
  758. void glDetachShader(GLuint program, GLuint shader);
  759. void glDeleteShader(GLuint shader);
  760. void glDeleteProgram(GLuint program);
  761. GLuint glCreateShader(GLenum type);
  762. GLuint glCreateProgram();
  763. void glCompileShader(GLuint shader);
  764. void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);
  765. void glAttachShader(GLuint program, GLuint shader);
  766. void glStencilMaskSeparate(GLenum face, GLuint mask);
  767. void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
  768. void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
  769. void glDrawBuffers(GLsizei n, SIP_PYOBJECT bufs /TypeHint="PYQT_OPENGL_ARRAY"/);
  770. %MethodCode
  771. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  772. sipSelf);
  773. if (sipError == sipErrorNone)
  774. sipCpp->glDrawBuffers(a0, reinterpret_cast<const GLenum *>(array));
  775. %End
  776. void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
  777. void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
  778. void glTranslated(GLdouble x, GLdouble y, GLdouble z);
  779. void glScalef(GLfloat x, GLfloat y, GLfloat z);
  780. void glScaled(GLdouble x, GLdouble y, GLdouble z);
  781. void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
  782. void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
  783. void glPushMatrix();
  784. void glPopMatrix();
  785. void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  786. void glMultMatrixd(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  787. %MethodCode
  788. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  789. if (sipError == sipErrorNone)
  790. sipCpp->glMultMatrixd(reinterpret_cast<const GLdouble *>(array));
  791. %End
  792. void glMultMatrixf(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  793. %MethodCode
  794. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  795. if (sipError == sipErrorNone)
  796. sipCpp->glMultMatrixf(reinterpret_cast<const GLfloat *>(array));
  797. %End
  798. void glMatrixMode(GLenum mode);
  799. void glLoadMatrixd(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  800. %MethodCode
  801. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  802. if (sipError == sipErrorNone)
  803. sipCpp->glLoadMatrixd(reinterpret_cast<const GLdouble *>(array));
  804. %End
  805. void glLoadMatrixf(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  806. %MethodCode
  807. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  808. if (sipError == sipErrorNone)
  809. sipCpp->glLoadMatrixf(reinterpret_cast<const GLfloat *>(array));
  810. %End
  811. void glLoadIdentity();
  812. void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
  813. GLboolean glIsList(GLuint list);
  814. void glGetTexGeniv(GLenum coord, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  815. %MethodCode
  816. GLint params[4];
  817. Py_ssize_t nr_params;
  818. switch (a1)
  819. {
  820. case GL_OBJECT_PLANE:
  821. case GL_EYE_PLANE:
  822. nr_params = 4;
  823. break;
  824. default:
  825. nr_params = 1;
  826. }
  827. sipCpp->glGetTexGeniv(a0, a1, params);
  828. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  829. %End
  830. void glGetTexGenfv(GLenum coord, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  831. %MethodCode
  832. GLfloat params[4];
  833. Py_ssize_t nr_params;
  834. switch (a1)
  835. {
  836. case GL_OBJECT_PLANE:
  837. case GL_EYE_PLANE:
  838. nr_params = 4;
  839. break;
  840. default:
  841. nr_params = 1;
  842. }
  843. sipCpp->glGetTexGenfv(a0, a1, params);
  844. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  845. %End
  846. void glGetTexGendv(GLenum coord, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  847. %MethodCode
  848. GLdouble params[4];
  849. Py_ssize_t nr_params;
  850. switch (a1)
  851. {
  852. case GL_OBJECT_PLANE:
  853. case GL_EYE_PLANE:
  854. nr_params = 4;
  855. break;
  856. default:
  857. nr_params = 1;
  858. }
  859. sipCpp->glGetTexGendv(a0, a1, params);
  860. a2 = qpyopengl_from_GLdouble(&sipIsErr, params, nr_params);
  861. %End
  862. void glGetTexEnviv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  863. %MethodCode
  864. GLint params[4];
  865. Py_ssize_t nr_params;
  866. switch (a1)
  867. {
  868. case GL_TEXTURE_ENV_COLOR:
  869. nr_params = 4;
  870. break;
  871. default:
  872. nr_params = 1;
  873. }
  874. sipCpp->glGetTexEnviv(a0, a1, params);
  875. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  876. %End
  877. void glGetTexEnvfv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  878. %MethodCode
  879. GLfloat params[4];
  880. Py_ssize_t nr_params;
  881. switch (a1)
  882. {
  883. case GL_TEXTURE_ENV_COLOR:
  884. nr_params = 4;
  885. break;
  886. default:
  887. nr_params = 1;
  888. }
  889. sipCpp->glGetTexEnvfv(a0, a1, params);
  890. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  891. %End
  892. void glGetMaterialiv(GLenum face, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int], Tuple[int, int, int, int]]"/);
  893. %MethodCode
  894. GLint params[4];
  895. Py_ssize_t nr_params;
  896. switch (a1)
  897. {
  898. case GL_SHININESS:
  899. nr_params = 1;
  900. break;
  901. case GL_COLOR_INDEXES:
  902. nr_params = 3;
  903. break;
  904. default:
  905. nr_params = 4;
  906. }
  907. sipCpp->glGetMaterialiv(a0, a1, params);
  908. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  909. %End
  910. void glGetMaterialfv(GLenum face, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float], Tuple[float, float, float, float]]"/);
  911. %MethodCode
  912. GLfloat params[4];
  913. Py_ssize_t nr_params;
  914. switch (a1)
  915. {
  916. case GL_SHININESS:
  917. nr_params = 1;
  918. break;
  919. case GL_COLOR_INDEXES:
  920. nr_params = 3;
  921. break;
  922. default:
  923. nr_params = 4;
  924. }
  925. sipCpp->glGetMaterialfv(a0, a1, params);
  926. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  927. %End
  928. void glGetLightiv(GLenum light, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int], Tuple[int, int, int, int]]"/);
  929. %MethodCode
  930. GLint params[4];
  931. Py_ssize_t nr_params;
  932. switch (a1)
  933. {
  934. case GL_AMBIENT:
  935. case GL_DIFFUSE:
  936. case GL_SPECULAR:
  937. case GL_POSITION:
  938. nr_params = 4;
  939. break;
  940. case GL_SPOT_DIRECTION:
  941. nr_params = 3;
  942. break;
  943. default:
  944. nr_params = 1;
  945. }
  946. sipCpp->glGetLightiv(a0, a1, params);
  947. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  948. %End
  949. void glGetLightfv(GLenum light, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float], Tuple[float, float, float, float]]"/);
  950. %MethodCode
  951. GLfloat params[4];
  952. Py_ssize_t nr_params;
  953. switch (a1)
  954. {
  955. case GL_AMBIENT:
  956. case GL_DIFFUSE:
  957. case GL_SPECULAR:
  958. case GL_POSITION:
  959. nr_params = 4;
  960. break;
  961. case GL_SPOT_DIRECTION:
  962. nr_params = 3;
  963. break;
  964. default:
  965. nr_params = 1;
  966. }
  967. sipCpp->glGetLightfv(a0, a1, params);
  968. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  969. %End
  970. void glGetClipPlane(GLenum plane, SIP_PYOBJECT *equation /TypeHint="Tuple[float, float, float, float]"/);
  971. %MethodCode
  972. GLdouble params[4];
  973. sipCpp->glGetClipPlane(a0, params);
  974. a1 = qpyopengl_from_GLdouble(&sipIsErr, params, 4);
  975. %End
  976. void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, SIP_PYOBJECT pixels /TypeHint="PYQT_OPENGL_ARRAY"/);
  977. %MethodCode
  978. const GLvoid *array = qpyopengl_value_array(&sipError, a4, a3, sipSelf);
  979. if (sipError == sipErrorNone)
  980. sipCpp->glDrawPixels(a0, a1, a2, a3, array);
  981. %End
  982. void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
  983. void glPixelMapusv(GLenum map, GLint mapsize, SIP_PYOBJECT values /TypeHint="PYQT_OPENGL_ARRAY"/);
  984. %MethodCode
  985. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_UNSIGNED_SHORT,
  986. sipSelf);
  987. if (sipError == sipErrorNone)
  988. sipCpp->glPixelMapusv(a0, a1, reinterpret_cast<const GLushort *>(array));
  989. %End
  990. void glPixelMapuiv(GLenum map, GLint mapsize, SIP_PYOBJECT values /TypeHint="PYQT_OPENGL_ARRAY"/);
  991. %MethodCode
  992. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_UNSIGNED_INT,
  993. sipSelf);
  994. if (sipError == sipErrorNone)
  995. sipCpp->glPixelMapuiv(a0, a1, reinterpret_cast<const GLuint *>(array));
  996. %End
  997. void glPixelMapfv(GLenum map, GLint mapsize, SIP_PYOBJECT values /TypeHint="PYQT_OPENGL_ARRAY"/);
  998. %MethodCode
  999. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1000. if (sipError == sipErrorNone)
  1001. sipCpp->glPixelMapfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  1002. %End
  1003. void glPixelTransferi(GLenum pname, GLint param);
  1004. void glPixelTransferf(GLenum pname, GLfloat param);
  1005. void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
  1006. void glAlphaFunc(GLenum func, GLfloat ref);
  1007. void glEvalPoint2(GLint i, GLint j);
  1008. void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
  1009. void glEvalPoint1(GLint i);
  1010. void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
  1011. void glEvalCoord2fv(SIP_PYOBJECT u /TypeHint="PYQT_OPENGL_ARRAY"/);
  1012. %MethodCode
  1013. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1014. if (sipError == sipErrorNone)
  1015. sipCpp->glEvalCoord2fv(reinterpret_cast<const GLfloat *>(array));
  1016. %End
  1017. void glEvalCoord2f(GLfloat u, GLfloat v);
  1018. void glEvalCoord2dv(SIP_PYOBJECT u /TypeHint="PYQT_OPENGL_ARRAY"/);
  1019. %MethodCode
  1020. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1021. if (sipError == sipErrorNone)
  1022. sipCpp->glEvalCoord2dv(reinterpret_cast<const GLdouble *>(array));
  1023. %End
  1024. void glEvalCoord2d(GLdouble u, GLdouble v);
  1025. void glEvalCoord1fv(SIP_PYOBJECT u /TypeHint="PYQT_OPENGL_ARRAY"/);
  1026. %MethodCode
  1027. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1028. if (sipError == sipErrorNone)
  1029. sipCpp->glEvalCoord1fv(reinterpret_cast<const GLfloat *>(array));
  1030. %End
  1031. void glEvalCoord1f(GLfloat u);
  1032. void glEvalCoord1dv(SIP_PYOBJECT u /TypeHint="PYQT_OPENGL_ARRAY"/);
  1033. %MethodCode
  1034. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1035. if (sipError == sipErrorNone)
  1036. sipCpp->glEvalCoord1dv(reinterpret_cast<const GLdouble *>(array));
  1037. %End
  1038. void glEvalCoord1d(GLdouble u);
  1039. void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
  1040. void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
  1041. void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
  1042. void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
  1043. void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, SIP_PYOBJECT points /TypeHint="PYQT_OPENGL_ARRAY"/);
  1044. %MethodCode
  1045. const GLvoid *array = qpyopengl_value_array(&sipError, a9, GL_FLOAT, sipSelf);
  1046. if (sipError == sipErrorNone)
  1047. sipCpp->glMap2f(a0, a1, a2, a3, a4, a5, a6, a7, a8,
  1048. reinterpret_cast<const GLfloat *>(array));
  1049. %End
  1050. void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, SIP_PYOBJECT points /TypeHint="PYQT_OPENGL_ARRAY"/);
  1051. %MethodCode
  1052. const GLvoid *array = qpyopengl_value_array(&sipError, a9, GL_DOUBLE, sipSelf);
  1053. if (sipError == sipErrorNone)
  1054. sipCpp->glMap2d(a0, a1, a2, a3, a4, a5, a6, a7, a8,
  1055. reinterpret_cast<const GLdouble *>(array));
  1056. %End
  1057. void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, SIP_PYOBJECT points /TypeHint="PYQT_OPENGL_ARRAY"/);
  1058. %MethodCode
  1059. const GLvoid *array = qpyopengl_value_array(&sipError, a5, GL_FLOAT, sipSelf);
  1060. if (sipError == sipErrorNone)
  1061. sipCpp->glMap1f(a0, a1, a2, a3, a4,
  1062. reinterpret_cast<const GLfloat *>(array));
  1063. %End
  1064. void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, SIP_PYOBJECT points /TypeHint="PYQT_OPENGL_ARRAY"/);
  1065. %MethodCode
  1066. const GLvoid *array = qpyopengl_value_array(&sipError, a5, GL_DOUBLE, sipSelf);
  1067. if (sipError == sipErrorNone)
  1068. sipCpp->glMap1d(a0, a1, a2, a3, a4,
  1069. reinterpret_cast<const GLdouble *>(array));
  1070. %End
  1071. void glPushAttrib(GLbitfield mask);
  1072. void glPopAttrib();
  1073. void glAccum(GLenum op, GLfloat value);
  1074. void glIndexMask(GLuint mask);
  1075. void glClearIndex(GLfloat c);
  1076. void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  1077. void glPushName(GLuint name);
  1078. void glPopName();
  1079. void glPassThrough(GLfloat token);
  1080. void glLoadName(GLuint name);
  1081. void glInitNames();
  1082. GLint glRenderMode(GLenum mode);
  1083. void glTexGeniv(GLenum coord, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1084. %MethodCode
  1085. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1086. if (sipError == sipErrorNone)
  1087. sipCpp->glTexGeniv(a0, a1, reinterpret_cast<const GLint *>(array));
  1088. %End
  1089. void glTexGeni(GLenum coord, GLenum pname, GLint param);
  1090. void glTexGenfv(GLenum coord, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1091. %MethodCode
  1092. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1093. if (sipError == sipErrorNone)
  1094. sipCpp->glTexGenfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  1095. %End
  1096. void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
  1097. void glTexGendv(GLenum coord, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1098. %MethodCode
  1099. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_DOUBLE, sipSelf);
  1100. if (sipError == sipErrorNone)
  1101. sipCpp->glTexGendv(a0, a1, reinterpret_cast<const GLdouble *>(array));
  1102. %End
  1103. void glTexGend(GLenum coord, GLenum pname, GLdouble param);
  1104. void glTexEnviv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1105. %MethodCode
  1106. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1107. if (sipError == sipErrorNone)
  1108. sipCpp->glTexEnviv(a0, a1, reinterpret_cast<const GLint *>(array));
  1109. %End
  1110. void glTexEnvi(GLenum target, GLenum pname, GLint param);
  1111. void glTexEnvfv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1112. %MethodCode
  1113. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1114. if (sipError == sipErrorNone)
  1115. sipCpp->glTexEnvfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  1116. %End
  1117. void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
  1118. void glShadeModel(GLenum mode);
  1119. void glPolygonStipple(SIP_PYOBJECT mask /TypeHint="PYQT_OPENGL_ARRAY"/);
  1120. %MethodCode
  1121. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  1122. sipSelf);
  1123. if (sipError == sipErrorNone)
  1124. sipCpp->glPolygonStipple(reinterpret_cast<const GLubyte *>(array));
  1125. %End
  1126. void glMaterialiv(GLenum face, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1127. %MethodCode
  1128. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1129. if (sipError == sipErrorNone)
  1130. sipCpp->glMaterialiv(a0, a1, reinterpret_cast<const GLint *>(array));
  1131. %End
  1132. void glMateriali(GLenum face, GLenum pname, GLint param);
  1133. void glMaterialfv(GLenum face, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1134. %MethodCode
  1135. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1136. if (sipError == sipErrorNone)
  1137. sipCpp->glMaterialfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  1138. %End
  1139. void glMaterialf(GLenum face, GLenum pname, GLfloat param);
  1140. void glLineStipple(GLint factor, GLushort pattern);
  1141. void glLightModeliv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1142. %MethodCode
  1143. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1144. if (sipError == sipErrorNone)
  1145. sipCpp->glLightModeliv(a0, reinterpret_cast<const GLint *>(array));
  1146. %End
  1147. void glLightModeli(GLenum pname, GLint param);
  1148. void glLightModelfv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1149. %MethodCode
  1150. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1151. if (sipError == sipErrorNone)
  1152. sipCpp->glLightModelfv(a0, reinterpret_cast<const GLfloat *>(array));
  1153. %End
  1154. void glLightModelf(GLenum pname, GLfloat param);
  1155. void glLightiv(GLenum light, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1156. %MethodCode
  1157. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1158. if (sipError == sipErrorNone)
  1159. sipCpp->glLightiv(a0, a1, reinterpret_cast<const GLint *>(array));
  1160. %End
  1161. void glLighti(GLenum light, GLenum pname, GLint param);
  1162. void glLightfv(GLenum light, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1163. %MethodCode
  1164. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1165. if (sipError == sipErrorNone)
  1166. sipCpp->glLightfv(a0, a1, reinterpret_cast<const GLfloat *>(array));
  1167. %End
  1168. void glLightf(GLenum light, GLenum pname, GLfloat param);
  1169. void glFogiv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1170. %MethodCode
  1171. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1172. if (sipError == sipErrorNone)
  1173. sipCpp->glFogiv(a0, reinterpret_cast<const GLint *>(array));
  1174. %End
  1175. void glFogi(GLenum pname, GLint param);
  1176. void glFogfv(GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1177. %MethodCode
  1178. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1179. if (sipError == sipErrorNone)
  1180. sipCpp->glFogfv(a0, reinterpret_cast<const GLfloat *>(array));
  1181. %End
  1182. void glFogf(GLenum pname, GLfloat param);
  1183. void glColorMaterial(GLenum face, GLenum mode);
  1184. void glClipPlane(GLenum plane, SIP_PYOBJECT equation /TypeHint="PYQT_OPENGL_ARRAY"/);
  1185. %MethodCode
  1186. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  1187. if (sipError == sipErrorNone)
  1188. sipCpp->glClipPlane(a0, reinterpret_cast<const GLdouble *>(array));
  1189. %End
  1190. void glVertex4sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1191. %MethodCode
  1192. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1193. if (sipError == sipErrorNone)
  1194. sipCpp->glVertex4sv(reinterpret_cast<const GLshort *>(array));
  1195. %End
  1196. void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
  1197. void glVertex4iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1198. %MethodCode
  1199. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1200. if (sipError == sipErrorNone)
  1201. sipCpp->glVertex4iv(reinterpret_cast<const GLint *>(array));
  1202. %End
  1203. void glVertex4i(GLint x, GLint y, GLint z, GLint w);
  1204. void glVertex4fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1205. %MethodCode
  1206. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1207. if (sipError == sipErrorNone)
  1208. sipCpp->glVertex4fv(reinterpret_cast<const GLfloat *>(array));
  1209. %End
  1210. void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1211. void glVertex4dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1212. %MethodCode
  1213. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1214. if (sipError == sipErrorNone)
  1215. sipCpp->glVertex4dv(reinterpret_cast<const GLdouble *>(array));
  1216. %End
  1217. void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  1218. void glVertex3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1219. %MethodCode
  1220. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1221. if (sipError == sipErrorNone)
  1222. sipCpp->glVertex3sv(reinterpret_cast<const GLshort *>(array));
  1223. %End
  1224. void glVertex3s(GLshort x, GLshort y, GLshort z);
  1225. void glVertex3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1226. %MethodCode
  1227. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1228. if (sipError == sipErrorNone)
  1229. sipCpp->glVertex3iv(reinterpret_cast<const GLint *>(array));
  1230. %End
  1231. void glVertex3i(GLint x, GLint y, GLint z);
  1232. void glVertex3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1233. %MethodCode
  1234. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1235. if (sipError == sipErrorNone)
  1236. sipCpp->glVertex3fv(reinterpret_cast<const GLfloat *>(array));
  1237. %End
  1238. void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
  1239. void glVertex3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1240. %MethodCode
  1241. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1242. if (sipError == sipErrorNone)
  1243. sipCpp->glVertex3dv(reinterpret_cast<const GLdouble *>(array));
  1244. %End
  1245. void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
  1246. void glVertex2sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1247. %MethodCode
  1248. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1249. if (sipError == sipErrorNone)
  1250. sipCpp->glVertex2sv(reinterpret_cast<const GLshort *>(array));
  1251. %End
  1252. void glVertex2s(GLshort x, GLshort y);
  1253. void glVertex2iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1254. %MethodCode
  1255. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1256. if (sipError == sipErrorNone)
  1257. sipCpp->glVertex2iv(reinterpret_cast<const GLint *>(array));
  1258. %End
  1259. void glVertex2i(GLint x, GLint y);
  1260. void glVertex2fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1261. %MethodCode
  1262. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1263. if (sipError == sipErrorNone)
  1264. sipCpp->glVertex2fv(reinterpret_cast<const GLfloat *>(array));
  1265. %End
  1266. void glVertex2f(GLfloat x, GLfloat y);
  1267. void glVertex2dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1268. %MethodCode
  1269. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1270. if (sipError == sipErrorNone)
  1271. sipCpp->glVertex2dv(reinterpret_cast<const GLdouble *>(array));
  1272. %End
  1273. void glVertex2d(GLdouble x, GLdouble y);
  1274. void glTexCoord4sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1275. %MethodCode
  1276. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1277. if (sipError == sipErrorNone)
  1278. sipCpp->glTexCoord4sv(reinterpret_cast<const GLshort *>(array));
  1279. %End
  1280. void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
  1281. void glTexCoord4iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1282. %MethodCode
  1283. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1284. if (sipError == sipErrorNone)
  1285. sipCpp->glTexCoord4iv(reinterpret_cast<const GLint *>(array));
  1286. %End
  1287. void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
  1288. void glTexCoord4fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1289. %MethodCode
  1290. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1291. if (sipError == sipErrorNone)
  1292. sipCpp->glTexCoord4fv(reinterpret_cast<const GLfloat *>(array));
  1293. %End
  1294. void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  1295. void glTexCoord4dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1296. %MethodCode
  1297. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1298. if (sipError == sipErrorNone)
  1299. sipCpp->glTexCoord4dv(reinterpret_cast<const GLdouble *>(array));
  1300. %End
  1301. void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  1302. void glTexCoord3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1303. %MethodCode
  1304. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1305. if (sipError == sipErrorNone)
  1306. sipCpp->glTexCoord3sv(reinterpret_cast<const GLshort *>(array));
  1307. %End
  1308. void glTexCoord3s(GLshort s, GLshort t, GLshort r);
  1309. void glTexCoord3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1310. %MethodCode
  1311. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1312. if (sipError == sipErrorNone)
  1313. sipCpp->glTexCoord3iv(reinterpret_cast<const GLint *>(array));
  1314. %End
  1315. void glTexCoord3i(GLint s, GLint t, GLint r);
  1316. void glTexCoord3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1317. %MethodCode
  1318. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1319. if (sipError == sipErrorNone)
  1320. sipCpp->glTexCoord3fv(reinterpret_cast<const GLfloat *>(array));
  1321. %End
  1322. void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
  1323. void glTexCoord3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1324. %MethodCode
  1325. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1326. if (sipError == sipErrorNone)
  1327. sipCpp->glTexCoord3dv(reinterpret_cast<const GLdouble *>(array));
  1328. %End
  1329. void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
  1330. void glTexCoord2sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1331. %MethodCode
  1332. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1333. if (sipError == sipErrorNone)
  1334. sipCpp->glTexCoord2sv(reinterpret_cast<const GLshort *>(array));
  1335. %End
  1336. void glTexCoord2s(GLshort s, GLshort t);
  1337. void glTexCoord2iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1338. %MethodCode
  1339. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1340. if (sipError == sipErrorNone)
  1341. sipCpp->glTexCoord2iv(reinterpret_cast<const GLint *>(array));
  1342. %End
  1343. void glTexCoord2i(GLint s, GLint t);
  1344. void glTexCoord2fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1345. %MethodCode
  1346. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1347. if (sipError == sipErrorNone)
  1348. sipCpp->glTexCoord2fv(reinterpret_cast<const GLfloat *>(array));
  1349. %End
  1350. void glTexCoord2f(GLfloat s, GLfloat t);
  1351. void glTexCoord2dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1352. %MethodCode
  1353. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1354. if (sipError == sipErrorNone)
  1355. sipCpp->glTexCoord2dv(reinterpret_cast<const GLdouble *>(array));
  1356. %End
  1357. void glTexCoord2d(GLdouble s, GLdouble t);
  1358. void glTexCoord1sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1359. %MethodCode
  1360. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1361. if (sipError == sipErrorNone)
  1362. sipCpp->glTexCoord1sv(reinterpret_cast<const GLshort *>(array));
  1363. %End
  1364. void glTexCoord1s(GLshort s);
  1365. void glTexCoord1iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1366. %MethodCode
  1367. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1368. if (sipError == sipErrorNone)
  1369. sipCpp->glTexCoord1iv(reinterpret_cast<const GLint *>(array));
  1370. %End
  1371. void glTexCoord1i(GLint s);
  1372. void glTexCoord1fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1373. %MethodCode
  1374. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1375. if (sipError == sipErrorNone)
  1376. sipCpp->glTexCoord1fv(reinterpret_cast<const GLfloat *>(array));
  1377. %End
  1378. void glTexCoord1f(GLfloat s);
  1379. void glTexCoord1dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1380. %MethodCode
  1381. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1382. if (sipError == sipErrorNone)
  1383. sipCpp->glTexCoord1dv(reinterpret_cast<const GLdouble *>(array));
  1384. %End
  1385. void glTexCoord1d(GLdouble s);
  1386. void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
  1387. void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
  1388. void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
  1389. void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
  1390. void glRasterPos4sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1391. %MethodCode
  1392. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1393. if (sipError == sipErrorNone)
  1394. sipCpp->glRasterPos4sv(reinterpret_cast<const GLshort *>(array));
  1395. %End
  1396. void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
  1397. void glRasterPos4iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1398. %MethodCode
  1399. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1400. if (sipError == sipErrorNone)
  1401. sipCpp->glRasterPos4iv(reinterpret_cast<const GLint *>(array));
  1402. %End
  1403. void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
  1404. void glRasterPos4fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1405. %MethodCode
  1406. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1407. if (sipError == sipErrorNone)
  1408. sipCpp->glRasterPos4fv(reinterpret_cast<const GLfloat *>(array));
  1409. %End
  1410. void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1411. void glRasterPos4dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1412. %MethodCode
  1413. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1414. if (sipError == sipErrorNone)
  1415. sipCpp->glRasterPos4dv(reinterpret_cast<const GLdouble *>(array));
  1416. %End
  1417. void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  1418. void glRasterPos3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1419. %MethodCode
  1420. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1421. if (sipError == sipErrorNone)
  1422. sipCpp->glRasterPos3sv(reinterpret_cast<const GLshort *>(array));
  1423. %End
  1424. void glRasterPos3s(GLshort x, GLshort y, GLshort z);
  1425. void glRasterPos3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1426. %MethodCode
  1427. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1428. if (sipError == sipErrorNone)
  1429. sipCpp->glRasterPos3iv(reinterpret_cast<const GLint *>(array));
  1430. %End
  1431. void glRasterPos3i(GLint x, GLint y, GLint z);
  1432. void glRasterPos3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1433. %MethodCode
  1434. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1435. if (sipError == sipErrorNone)
  1436. sipCpp->glRasterPos3fv(reinterpret_cast<const GLfloat *>(array));
  1437. %End
  1438. void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
  1439. void glRasterPos3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1440. %MethodCode
  1441. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1442. if (sipError == sipErrorNone)
  1443. sipCpp->glRasterPos3dv(reinterpret_cast<const GLdouble *>(array));
  1444. %End
  1445. void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
  1446. void glRasterPos2sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1447. %MethodCode
  1448. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1449. if (sipError == sipErrorNone)
  1450. sipCpp->glRasterPos2sv(reinterpret_cast<const GLshort *>(array));
  1451. %End
  1452. void glRasterPos2s(GLshort x, GLshort y);
  1453. void glRasterPos2iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1454. %MethodCode
  1455. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1456. if (sipError == sipErrorNone)
  1457. sipCpp->glRasterPos2iv(reinterpret_cast<const GLint *>(array));
  1458. %End
  1459. void glRasterPos2i(GLint x, GLint y);
  1460. void glRasterPos2fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1461. %MethodCode
  1462. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1463. if (sipError == sipErrorNone)
  1464. sipCpp->glRasterPos2fv(reinterpret_cast<const GLfloat *>(array));
  1465. %End
  1466. void glRasterPos2f(GLfloat x, GLfloat y);
  1467. void glRasterPos2dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1468. %MethodCode
  1469. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1470. if (sipError == sipErrorNone)
  1471. sipCpp->glRasterPos2dv(reinterpret_cast<const GLdouble *>(array));
  1472. %End
  1473. void glRasterPos2d(GLdouble x, GLdouble y);
  1474. void glNormal3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1475. %MethodCode
  1476. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1477. if (sipError == sipErrorNone)
  1478. sipCpp->glNormal3sv(reinterpret_cast<const GLshort *>(array));
  1479. %End
  1480. void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
  1481. void glNormal3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1482. %MethodCode
  1483. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1484. if (sipError == sipErrorNone)
  1485. sipCpp->glNormal3iv(reinterpret_cast<const GLint *>(array));
  1486. %End
  1487. void glNormal3i(GLint nx, GLint ny, GLint nz);
  1488. void glNormal3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1489. %MethodCode
  1490. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1491. if (sipError == sipErrorNone)
  1492. sipCpp->glNormal3fv(reinterpret_cast<const GLfloat *>(array));
  1493. %End
  1494. void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
  1495. void glNormal3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1496. %MethodCode
  1497. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1498. if (sipError == sipErrorNone)
  1499. sipCpp->glNormal3dv(reinterpret_cast<const GLdouble *>(array));
  1500. %End
  1501. void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
  1502. void glNormal3bv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1503. %MethodCode
  1504. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_BYTE, sipSelf);
  1505. if (sipError == sipErrorNone)
  1506. sipCpp->glNormal3bv(reinterpret_cast<const GLbyte *>(array));
  1507. %End
  1508. void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
  1509. void glIndexsv(SIP_PYOBJECT c /TypeHint="PYQT_OPENGL_ARRAY"/);
  1510. %MethodCode
  1511. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1512. if (sipError == sipErrorNone)
  1513. sipCpp->glIndexsv(reinterpret_cast<const GLshort *>(array));
  1514. %End
  1515. void glIndexs(GLshort c);
  1516. void glIndexiv(SIP_PYOBJECT c /TypeHint="PYQT_OPENGL_ARRAY"/);
  1517. %MethodCode
  1518. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1519. if (sipError == sipErrorNone)
  1520. sipCpp->glIndexiv(reinterpret_cast<const GLint *>(array));
  1521. %End
  1522. void glIndexi(GLint c);
  1523. void glIndexfv(SIP_PYOBJECT c /TypeHint="PYQT_OPENGL_ARRAY"/);
  1524. %MethodCode
  1525. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1526. if (sipError == sipErrorNone)
  1527. sipCpp->glIndexfv(reinterpret_cast<const GLfloat *>(array));
  1528. %End
  1529. void glIndexf(GLfloat c);
  1530. void glIndexdv(SIP_PYOBJECT c /TypeHint="PYQT_OPENGL_ARRAY"/);
  1531. %MethodCode
  1532. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1533. if (sipError == sipErrorNone)
  1534. sipCpp->glIndexdv(reinterpret_cast<const GLdouble *>(array));
  1535. %End
  1536. void glIndexd(GLdouble c);
  1537. void glEnd();
  1538. void glEdgeFlagv(SIP_PYOBJECT flag /TypeHint="PYQT_OPENGL_ARRAY"/);
  1539. %MethodCode
  1540. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  1541. sipSelf);
  1542. if (sipError == sipErrorNone)
  1543. sipCpp->glEdgeFlagv(reinterpret_cast<const GLboolean *>(array));
  1544. %End
  1545. void glEdgeFlag(GLboolean flag);
  1546. void glColor4usv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1547. %MethodCode
  1548. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_SHORT,
  1549. sipSelf);
  1550. if (sipError == sipErrorNone)
  1551. sipCpp->glColor4usv(reinterpret_cast<const GLushort *>(array));
  1552. %End
  1553. void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha);
  1554. void glColor4uiv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1555. %MethodCode
  1556. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_INT,
  1557. sipSelf);
  1558. if (sipError == sipErrorNone)
  1559. sipCpp->glColor4uiv(reinterpret_cast<const GLuint *>(array));
  1560. %End
  1561. void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha);
  1562. void glColor4ubv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1563. %MethodCode
  1564. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  1565. sipSelf);
  1566. if (sipError == sipErrorNone)
  1567. sipCpp->glColor4ubv(reinterpret_cast<const GLubyte *>(array));
  1568. %End
  1569. void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
  1570. void glColor4sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1571. %MethodCode
  1572. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1573. if (sipError == sipErrorNone)
  1574. sipCpp->glColor4sv(reinterpret_cast<const GLshort *>(array));
  1575. %End
  1576. void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha);
  1577. void glColor4iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1578. %MethodCode
  1579. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1580. if (sipError == sipErrorNone)
  1581. sipCpp->glColor4iv(reinterpret_cast<const GLint *>(array));
  1582. %End
  1583. void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
  1584. void glColor4fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1585. %MethodCode
  1586. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1587. if (sipError == sipErrorNone)
  1588. sipCpp->glColor4fv(reinterpret_cast<const GLfloat *>(array));
  1589. %End
  1590. void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
  1591. void glColor4dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1592. %MethodCode
  1593. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1594. if (sipError == sipErrorNone)
  1595. sipCpp->glColor4dv(reinterpret_cast<const GLdouble *>(array));
  1596. %End
  1597. void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
  1598. void glColor4bv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1599. %MethodCode
  1600. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_BYTE, sipSelf);
  1601. if (sipError == sipErrorNone)
  1602. sipCpp->glColor4bv(reinterpret_cast<const GLbyte *>(array));
  1603. %End
  1604. void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
  1605. void glColor3usv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1606. %MethodCode
  1607. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_SHORT,
  1608. sipSelf);
  1609. if (sipError == sipErrorNone)
  1610. sipCpp->glColor3usv(reinterpret_cast<const GLushort *>(array));
  1611. %End
  1612. void glColor3us(GLushort red, GLushort green, GLushort blue);
  1613. void glColor3uiv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1614. %MethodCode
  1615. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_INT,
  1616. sipSelf);
  1617. if (sipError == sipErrorNone)
  1618. sipCpp->glColor3uiv(reinterpret_cast<const GLuint *>(array));
  1619. %End
  1620. void glColor3ui(GLuint red, GLuint green, GLuint blue);
  1621. void glColor3ubv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1622. %MethodCode
  1623. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  1624. sipSelf);
  1625. if (sipError == sipErrorNone)
  1626. sipCpp->glColor3ubv(reinterpret_cast<const GLubyte *>(array));
  1627. %End
  1628. void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
  1629. void glColor3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1630. %MethodCode
  1631. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1632. if (sipError == sipErrorNone)
  1633. sipCpp->glColor3sv(reinterpret_cast<const GLshort *>(array));
  1634. %End
  1635. void glColor3s(GLshort red, GLshort green, GLshort blue);
  1636. void glColor3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1637. %MethodCode
  1638. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  1639. if (sipError == sipErrorNone)
  1640. sipCpp->glColor3iv(reinterpret_cast<const GLint *>(array));
  1641. %End
  1642. void glColor3i(GLint red, GLint green, GLint blue);
  1643. void glColor3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1644. %MethodCode
  1645. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1646. if (sipError == sipErrorNone)
  1647. sipCpp->glColor3fv(reinterpret_cast<const GLfloat *>(array));
  1648. %End
  1649. void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
  1650. void glColor3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1651. %MethodCode
  1652. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1653. if (sipError == sipErrorNone)
  1654. sipCpp->glColor3dv(reinterpret_cast<const GLdouble *>(array));
  1655. %End
  1656. void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
  1657. void glColor3bv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1658. %MethodCode
  1659. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_BYTE, sipSelf);
  1660. if (sipError == sipErrorNone)
  1661. sipCpp->glColor3bv(reinterpret_cast<const GLbyte *>(array));
  1662. %End
  1663. void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
  1664. void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, SIP_PYOBJECT bitmap /TypeHint="PYQT_OPENGL_ARRAY"/);
  1665. %MethodCode
  1666. const GLvoid *array = qpyopengl_value_array(&sipError, a6, GL_UNSIGNED_BYTE,
  1667. sipSelf);
  1668. if (sipError == sipErrorNone)
  1669. sipCpp->glBitmap(a0, a1, a2, a3, a4, a5,
  1670. reinterpret_cast<const GLubyte *>(array));
  1671. %End
  1672. void glBegin(GLenum mode);
  1673. void glListBase(GLuint base);
  1674. GLuint glGenLists(GLsizei range);
  1675. void glDeleteLists(GLuint list, GLsizei range);
  1676. void glCallList(GLuint list);
  1677. void glEndList();
  1678. void glNewList(GLuint list, GLenum mode);
  1679. void glPushClientAttrib(GLbitfield mask);
  1680. void glPopClientAttrib();
  1681. void glVertexPointer(GLint size, GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1682. %MethodCode
  1683. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a3, a1, sipSelf,
  1684. "VertexPointer", 0);
  1685. if (sipError == sipErrorNone)
  1686. sipCpp->glVertexPointer(a0, a1, a2, array);
  1687. %End
  1688. void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1689. %MethodCode
  1690. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a3, a1, sipSelf,
  1691. "TexCoordPointer", 0);
  1692. if (sipError == sipErrorNone)
  1693. sipCpp->glTexCoordPointer(a0, a1, a2, array);
  1694. %End
  1695. void glNormalPointer(GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1696. %MethodCode
  1697. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a2, a0, sipSelf,
  1698. "NormalPointer", 0);
  1699. if (sipError == sipErrorNone)
  1700. sipCpp->glNormalPointer(a0, a1, array);
  1701. %End
  1702. void glIndexPointer(GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1703. %MethodCode
  1704. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a2, a0, sipSelf,
  1705. "IndexPointer", 0);
  1706. if (sipError == sipErrorNone)
  1707. sipCpp->glIndexPointer(a0, a1, array);
  1708. %End
  1709. void glEnableClientState(GLenum array);
  1710. void glEdgeFlagPointer(GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1711. %MethodCode
  1712. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a1,
  1713. GL_UNSIGNED_BYTE, sipSelf, "EdgeFlagPointer", 0);
  1714. if (sipError == sipErrorNone)
  1715. sipCpp->glEdgeFlagPointer(a0, array);
  1716. %End
  1717. void glDisableClientState(GLenum array);
  1718. void glColorPointer(GLint size, GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_BOUND_ARRAY"/);
  1719. %MethodCode
  1720. const GLvoid *array = qpyopengl_value_array_cached(&sipError, a3, a1, sipSelf,
  1721. "ColorPointer", 0);
  1722. if (sipError == sipErrorNone)
  1723. sipCpp->glColorPointer(a0, a1, a2, array);
  1724. %End
  1725. void glArrayElement(GLint i);
  1726. void glResetMinmax(GLenum target);
  1727. void glResetHistogram(GLenum target);
  1728. void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
  1729. void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
  1730. void glGetConvolutionParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  1731. %MethodCode
  1732. GLint params[4];
  1733. Py_ssize_t nr_params;
  1734. switch (a1)
  1735. {
  1736. case GL_CONVOLUTION_BORDER_COLOR:
  1737. case GL_CONVOLUTION_FILTER_SCALE:
  1738. case GL_CONVOLUTION_FILTER_BIAS:
  1739. nr_params = 4;
  1740. break;
  1741. default:
  1742. nr_params = 1;
  1743. }
  1744. sipCpp->glGetConvolutionParameteriv(a0, a1, params);
  1745. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  1746. %End
  1747. void glGetConvolutionParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  1748. %MethodCode
  1749. GLfloat params[4];
  1750. Py_ssize_t nr_params;
  1751. switch (a1)
  1752. {
  1753. case GL_CONVOLUTION_BORDER_COLOR:
  1754. case GL_CONVOLUTION_FILTER_SCALE:
  1755. case GL_CONVOLUTION_FILTER_BIAS:
  1756. nr_params = 4;
  1757. break;
  1758. default:
  1759. nr_params = 1;
  1760. }
  1761. sipCpp->glGetConvolutionParameterfv(a0, a1, params);
  1762. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  1763. %End
  1764. void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
  1765. void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  1766. void glConvolutionParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1767. %MethodCode
  1768. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1769. if (sipError == sipErrorNone)
  1770. sipCpp->glConvolutionParameteriv(a0, a1,
  1771. reinterpret_cast<const GLint *>(array));
  1772. %End
  1773. void glConvolutionParameteri(GLenum target, GLenum pname, GLint params);
  1774. void glConvolutionParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1775. %MethodCode
  1776. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1777. if (sipError == sipErrorNone)
  1778. sipCpp->glConvolutionParameterfv(a0, a1,
  1779. reinterpret_cast<const GLfloat *>(array));
  1780. %End
  1781. void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
  1782. void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, SIP_PYOBJECT image /TypeHint="PYQT_OPENGL_ARRAY"/);
  1783. %MethodCode
  1784. const GLvoid *array = qpyopengl_value_array(&sipError, a6, a5, sipSelf);
  1785. if (sipError == sipErrorNone)
  1786. sipCpp->glConvolutionFilter2D(a0, a1, a2, a3, a4, a5, array);
  1787. %End
  1788. void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, SIP_PYOBJECT image /TypeHint="PYQT_OPENGL_ARRAY"/);
  1789. %MethodCode
  1790. const GLvoid *array = qpyopengl_value_array(&sipError, a5, a4, sipSelf);
  1791. if (sipError == sipErrorNone)
  1792. sipCpp->glConvolutionFilter1D(a0, a1, a2, a3, a4, array);
  1793. %End
  1794. void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
  1795. void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, SIP_PYOBJECT data /TypeHint="PYQT_OPENGL_ARRAY"/);
  1796. %MethodCode
  1797. const GLvoid *array = qpyopengl_value_array(&sipError, a5, a4, sipSelf);
  1798. if (sipError == sipErrorNone)
  1799. sipCpp->glColorSubTable(a0, a1, a2, a3, a4, array);
  1800. %End
  1801. void glGetColorTableParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[int, Tuple[int, int, int, int]]"/);
  1802. %MethodCode
  1803. GLint params[4];
  1804. Py_ssize_t nr_params;
  1805. switch (a1)
  1806. {
  1807. case GL_COLOR_TABLE:
  1808. case GL_POST_CONVOLUTION_COLOR_TABLE:
  1809. case GL_POST_COLOR_MATRIX_COLOR_TABLE:
  1810. nr_params = 4;
  1811. break;
  1812. default:
  1813. nr_params = 1;
  1814. }
  1815. sipCpp->glGetColorTableParameteriv(a0, a1, params);
  1816. a2 = qpyopengl_from_GLint(&sipIsErr, params, nr_params);
  1817. %End
  1818. void glGetColorTableParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT *params /TypeHint="Union[float, Tuple[float, float, float, float]]"/);
  1819. %MethodCode
  1820. GLfloat params[4];
  1821. Py_ssize_t nr_params;
  1822. switch (a1)
  1823. {
  1824. case GL_COLOR_TABLE:
  1825. case GL_POST_CONVOLUTION_COLOR_TABLE:
  1826. case GL_POST_COLOR_MATRIX_COLOR_TABLE:
  1827. nr_params = 4;
  1828. break;
  1829. default:
  1830. nr_params = 1;
  1831. }
  1832. sipCpp->glGetColorTableParameterfv(a0, a1, params);
  1833. a2 = qpyopengl_from_GLfloat(&sipIsErr, params, nr_params);
  1834. %End
  1835. void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
  1836. void glColorTableParameteriv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1837. %MethodCode
  1838. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_INT, sipSelf);
  1839. if (sipError == sipErrorNone)
  1840. sipCpp->glColorTableParameteriv(a0, a1,
  1841. reinterpret_cast<const GLint *>(array));
  1842. %End
  1843. void glColorTableParameterfv(GLenum target, GLenum pname, SIP_PYOBJECT params /TypeHint="PYQT_OPENGL_ARRAY"/);
  1844. %MethodCode
  1845. const GLvoid *array = qpyopengl_value_array(&sipError, a2, GL_FLOAT, sipSelf);
  1846. if (sipError == sipErrorNone)
  1847. sipCpp->glColorTableParameterfv(a0, a1,
  1848. reinterpret_cast<const GLfloat *>(array));
  1849. %End
  1850. void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, SIP_PYOBJECT table /TypeHint="PYQT_OPENGL_ARRAY"/);
  1851. %MethodCode
  1852. const GLvoid *array = qpyopengl_value_array(&sipError, a5, a4, sipSelf);
  1853. if (sipError == sipErrorNone)
  1854. sipCpp->glColorTable(a0, a1, a2, a3, a4, array);
  1855. %End
  1856. void glMultTransposeMatrixd(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  1857. %MethodCode
  1858. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1859. if (sipError == sipErrorNone)
  1860. sipCpp->glMultTransposeMatrixd(reinterpret_cast<const GLdouble *>(array));
  1861. %End
  1862. void glMultTransposeMatrixf(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  1863. %MethodCode
  1864. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1865. if (sipError == sipErrorNone)
  1866. sipCpp->glMultTransposeMatrixf(reinterpret_cast<const GLfloat *>(array));
  1867. %End
  1868. void glLoadTransposeMatrixd(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  1869. %MethodCode
  1870. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  1871. if (sipError == sipErrorNone)
  1872. sipCpp->glLoadTransposeMatrixd(reinterpret_cast<const GLdouble *>(array));
  1873. %End
  1874. void glLoadTransposeMatrixf(SIP_PYOBJECT m /TypeHint="PYQT_OPENGL_ARRAY"/);
  1875. %MethodCode
  1876. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  1877. if (sipError == sipErrorNone)
  1878. sipCpp->glLoadTransposeMatrixf(reinterpret_cast<const GLfloat *>(array));
  1879. %End
  1880. void glMultiTexCoord4sv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1881. %MethodCode
  1882. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  1883. if (sipError == sipErrorNone)
  1884. sipCpp->glMultiTexCoord4sv(a0, reinterpret_cast<const GLshort *>(array));
  1885. %End
  1886. void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
  1887. void glMultiTexCoord4iv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1888. %MethodCode
  1889. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1890. if (sipError == sipErrorNone)
  1891. sipCpp->glMultiTexCoord4iv(a0, reinterpret_cast<const GLint *>(array));
  1892. %End
  1893. void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q);
  1894. void glMultiTexCoord4fv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1895. %MethodCode
  1896. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1897. if (sipError == sipErrorNone)
  1898. sipCpp->glMultiTexCoord4fv(a0, reinterpret_cast<const GLfloat *>(array));
  1899. %End
  1900. void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  1901. void glMultiTexCoord4dv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1902. %MethodCode
  1903. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  1904. if (sipError == sipErrorNone)
  1905. sipCpp->glMultiTexCoord4dv(a0, reinterpret_cast<const GLdouble *>(array));
  1906. %End
  1907. void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  1908. void glMultiTexCoord3sv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1909. %MethodCode
  1910. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  1911. if (sipError == sipErrorNone)
  1912. sipCpp->glMultiTexCoord3sv(a0, reinterpret_cast<const GLshort *>(array));
  1913. %End
  1914. void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r);
  1915. void glMultiTexCoord3iv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1916. %MethodCode
  1917. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1918. if (sipError == sipErrorNone)
  1919. sipCpp->glMultiTexCoord3iv(a0, reinterpret_cast<const GLint *>(array));
  1920. %End
  1921. void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
  1922. void glMultiTexCoord3fv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1923. %MethodCode
  1924. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1925. if (sipError == sipErrorNone)
  1926. sipCpp->glMultiTexCoord3fv(a0, reinterpret_cast<const GLfloat *>(array));
  1927. %End
  1928. void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r);
  1929. void glMultiTexCoord3dv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1930. %MethodCode
  1931. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  1932. if (sipError == sipErrorNone)
  1933. sipCpp->glMultiTexCoord3dv(a0, reinterpret_cast<const GLdouble *>(array));
  1934. %End
  1935. void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r);
  1936. void glMultiTexCoord2sv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1937. %MethodCode
  1938. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  1939. if (sipError == sipErrorNone)
  1940. sipCpp->glMultiTexCoord2sv(a0, reinterpret_cast<const GLshort *>(array));
  1941. %End
  1942. void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
  1943. void glMultiTexCoord2iv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1944. %MethodCode
  1945. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1946. if (sipError == sipErrorNone)
  1947. sipCpp->glMultiTexCoord2iv(a0, reinterpret_cast<const GLint *>(array));
  1948. %End
  1949. void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
  1950. void glMultiTexCoord2fv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1951. %MethodCode
  1952. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1953. if (sipError == sipErrorNone)
  1954. sipCpp->glMultiTexCoord2fv(a0, reinterpret_cast<const GLfloat *>(array));
  1955. %End
  1956. void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
  1957. void glMultiTexCoord2dv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1958. %MethodCode
  1959. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  1960. if (sipError == sipErrorNone)
  1961. sipCpp->glMultiTexCoord2dv(a0, reinterpret_cast<const GLdouble *>(array));
  1962. %End
  1963. void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
  1964. void glMultiTexCoord1sv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1965. %MethodCode
  1966. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  1967. if (sipError == sipErrorNone)
  1968. sipCpp->glMultiTexCoord1sv(a0, reinterpret_cast<const GLshort *>(array));
  1969. %End
  1970. void glMultiTexCoord1s(GLenum target, GLshort s);
  1971. void glMultiTexCoord1iv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1972. %MethodCode
  1973. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  1974. if (sipError == sipErrorNone)
  1975. sipCpp->glMultiTexCoord1iv(a0, reinterpret_cast<const GLint *>(array));
  1976. %End
  1977. void glMultiTexCoord1i(GLenum target, GLint s);
  1978. void glMultiTexCoord1fv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1979. %MethodCode
  1980. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  1981. if (sipError == sipErrorNone)
  1982. sipCpp->glMultiTexCoord1fv(a0, reinterpret_cast<const GLfloat *>(array));
  1983. %End
  1984. void glMultiTexCoord1f(GLenum target, GLfloat s);
  1985. void glMultiTexCoord1dv(GLenum target, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1986. %MethodCode
  1987. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  1988. if (sipError == sipErrorNone)
  1989. sipCpp->glMultiTexCoord1dv(a0, reinterpret_cast<const GLdouble *>(array));
  1990. %End
  1991. void glMultiTexCoord1d(GLenum target, GLdouble s);
  1992. void glClientActiveTexture(GLenum texture);
  1993. void glWindowPos3sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  1994. %MethodCode
  1995. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  1996. if (sipError == sipErrorNone)
  1997. sipCpp->glWindowPos3sv(reinterpret_cast<const GLshort *>(array));
  1998. %End
  1999. void glWindowPos3s(GLshort x, GLshort y, GLshort z);
  2000. void glWindowPos3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2001. %MethodCode
  2002. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  2003. if (sipError == sipErrorNone)
  2004. sipCpp->glWindowPos3iv(reinterpret_cast<const GLint *>(array));
  2005. %End
  2006. void glWindowPos3i(GLint x, GLint y, GLint z);
  2007. void glWindowPos3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2008. %MethodCode
  2009. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  2010. if (sipError == sipErrorNone)
  2011. sipCpp->glWindowPos3fv(reinterpret_cast<const GLfloat *>(array));
  2012. %End
  2013. void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z);
  2014. void glWindowPos3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2015. %MethodCode
  2016. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  2017. if (sipError == sipErrorNone)
  2018. sipCpp->glWindowPos3dv(reinterpret_cast<const GLdouble *>(array));
  2019. %End
  2020. void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z);
  2021. void glWindowPos2sv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2022. %MethodCode
  2023. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  2024. if (sipError == sipErrorNone)
  2025. sipCpp->glWindowPos2sv(reinterpret_cast<const GLshort *>(array));
  2026. %End
  2027. void glWindowPos2s(GLshort x, GLshort y);
  2028. void glWindowPos2iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2029. %MethodCode
  2030. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  2031. if (sipError == sipErrorNone)
  2032. sipCpp->glWindowPos2iv(reinterpret_cast<const GLint *>(array));
  2033. %End
  2034. void glWindowPos2i(GLint x, GLint y);
  2035. void glWindowPos2fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2036. %MethodCode
  2037. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  2038. if (sipError == sipErrorNone)
  2039. sipCpp->glWindowPos2fv(reinterpret_cast<const GLfloat *>(array));
  2040. %End
  2041. void glWindowPos2f(GLfloat x, GLfloat y);
  2042. void glWindowPos2dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2043. %MethodCode
  2044. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  2045. if (sipError == sipErrorNone)
  2046. sipCpp->glWindowPos2dv(reinterpret_cast<const GLdouble *>(array));
  2047. %End
  2048. void glWindowPos2d(GLdouble x, GLdouble y);
  2049. void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_ARRAY"/);
  2050. %MethodCode
  2051. const GLvoid *array = qpyopengl_value_array(&sipError, a3, a1, sipSelf);
  2052. if (sipError == sipErrorNone)
  2053. sipCpp->glSecondaryColorPointer(a0, a1, a2, array);
  2054. %End
  2055. void glSecondaryColor3usv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2056. %MethodCode
  2057. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_SHORT,
  2058. sipSelf);
  2059. if (sipError == sipErrorNone)
  2060. sipCpp->glSecondaryColor3usv(reinterpret_cast<const GLushort *>(array));
  2061. %End
  2062. void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue);
  2063. void glSecondaryColor3uiv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2064. %MethodCode
  2065. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_INT,
  2066. sipSelf);
  2067. if (sipError == sipErrorNone)
  2068. sipCpp->glSecondaryColor3uiv(reinterpret_cast<const GLuint *>(array));
  2069. %End
  2070. void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue);
  2071. void glSecondaryColor3ubv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2072. %MethodCode
  2073. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_UNSIGNED_BYTE,
  2074. sipSelf);
  2075. if (sipError == sipErrorNone)
  2076. sipCpp->glSecondaryColor3ubv(reinterpret_cast<const GLubyte *>(array));
  2077. %End
  2078. void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue);
  2079. void glSecondaryColor3sv(SIP_PYBUFFER v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2080. %MethodCode
  2081. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_SHORT, sipSelf);
  2082. if (sipError == sipErrorNone)
  2083. sipCpp->glSecondaryColor3sv(reinterpret_cast<const GLshort *>(array));
  2084. %End
  2085. void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue);
  2086. void glSecondaryColor3iv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2087. %MethodCode
  2088. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_INT, sipSelf);
  2089. if (sipError == sipErrorNone)
  2090. sipCpp->glSecondaryColor3iv(reinterpret_cast<const GLint *>(array));
  2091. %End
  2092. void glSecondaryColor3i(GLint red, GLint green, GLint blue);
  2093. void glSecondaryColor3fv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2094. %MethodCode
  2095. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  2096. if (sipError == sipErrorNone)
  2097. sipCpp->glSecondaryColor3fv(reinterpret_cast<const GLfloat *>(array));
  2098. %End
  2099. void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue);
  2100. void glSecondaryColor3dv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2101. %MethodCode
  2102. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  2103. if (sipError == sipErrorNone)
  2104. sipCpp->glSecondaryColor3dv(reinterpret_cast<const GLdouble *>(array));
  2105. %End
  2106. void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue);
  2107. void glSecondaryColor3bv(SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2108. %MethodCode
  2109. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_BYTE, sipSelf);
  2110. if (sipError == sipErrorNone)
  2111. sipCpp->glSecondaryColor3bv(reinterpret_cast<const GLbyte *>(array));
  2112. %End
  2113. void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue);
  2114. void glFogCoordPointer(GLenum type, GLsizei stride, SIP_PYOBJECT pointer /TypeHint="PYQT_OPENGL_ARRAY"/);
  2115. %MethodCode
  2116. const GLvoid *array = qpyopengl_value_array(&sipError, a2, a0, sipSelf);
  2117. if (sipError == sipErrorNone)
  2118. sipCpp->glFogCoordPointer(a0, a1, array);
  2119. %End
  2120. void glFogCoorddv(SIP_PYOBJECT coord /TypeHint="PYQT_OPENGL_ARRAY"/);
  2121. %MethodCode
  2122. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_DOUBLE, sipSelf);
  2123. if (sipError == sipErrorNone)
  2124. sipCpp->glFogCoorddv(reinterpret_cast<const GLdouble *>(array));
  2125. %End
  2126. void glFogCoordd(GLdouble coord);
  2127. void glFogCoordfv(SIP_PYOBJECT coord /TypeHint="PYQT_OPENGL_ARRAY"/);
  2128. %MethodCode
  2129. const GLvoid *array = qpyopengl_value_array(&sipError, a0, GL_FLOAT, sipSelf);
  2130. if (sipError == sipErrorNone)
  2131. sipCpp->glFogCoordfv(reinterpret_cast<const GLfloat *>(array));
  2132. %End
  2133. void glFogCoordf(GLfloat coord);
  2134. void glVertexAttrib4usv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2135. %MethodCode
  2136. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_SHORT,
  2137. sipSelf);
  2138. if (sipError == sipErrorNone)
  2139. sipCpp->glVertexAttrib4usv(a0, reinterpret_cast<const GLushort *>(array));
  2140. %End
  2141. void glVertexAttrib4uiv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2142. %MethodCode
  2143. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  2144. sipSelf);
  2145. if (sipError == sipErrorNone)
  2146. sipCpp->glVertexAttrib4uiv(a0, reinterpret_cast<const GLuint *>(array));
  2147. %End
  2148. void glVertexAttrib4ubv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2149. %MethodCode
  2150. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_BYTE,
  2151. sipSelf);
  2152. if (sipError == sipErrorNone)
  2153. sipCpp->glVertexAttrib4ubv(a0, reinterpret_cast<const GLubyte *>(array));
  2154. %End
  2155. void glVertexAttrib4sv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2156. %MethodCode
  2157. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  2158. if (sipError == sipErrorNone)
  2159. sipCpp->glVertexAttrib4sv(a0, reinterpret_cast<const GLshort *>(array));
  2160. %End
  2161. void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
  2162. void glVertexAttrib4iv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2163. %MethodCode
  2164. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  2165. if (sipError == sipErrorNone)
  2166. sipCpp->glVertexAttrib4iv(a0, reinterpret_cast<const GLint *>(array));
  2167. %End
  2168. void glVertexAttrib4fv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2169. %MethodCode
  2170. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  2171. if (sipError == sipErrorNone)
  2172. sipCpp->glVertexAttrib4fv(a0, reinterpret_cast<const GLfloat *>(array));
  2173. %End
  2174. void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  2175. void glVertexAttrib4dv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2176. %MethodCode
  2177. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  2178. if (sipError == sipErrorNone)
  2179. sipCpp->glVertexAttrib4dv(a0, reinterpret_cast<const GLdouble *>(array));
  2180. %End
  2181. void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
  2182. void glVertexAttrib4bv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2183. %MethodCode
  2184. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_BYTE, sipSelf);
  2185. if (sipError == sipErrorNone)
  2186. sipCpp->glVertexAttrib4bv(a0, reinterpret_cast<const GLbyte *>(array));
  2187. %End
  2188. void glVertexAttrib4Nusv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2189. %MethodCode
  2190. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_SHORT,
  2191. sipSelf);
  2192. if (sipError == sipErrorNone)
  2193. sipCpp->glVertexAttrib4Nusv(a0, reinterpret_cast<const GLushort *>(array));
  2194. %End
  2195. void glVertexAttrib4Nuiv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2196. %MethodCode
  2197. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_INT,
  2198. sipSelf);
  2199. if (sipError == sipErrorNone)
  2200. sipCpp->glVertexAttrib4Nuiv(a0, reinterpret_cast<const GLuint *>(array));
  2201. %End
  2202. void glVertexAttrib4Nubv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2203. %MethodCode
  2204. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_UNSIGNED_BYTE,
  2205. sipSelf);
  2206. if (sipError == sipErrorNone)
  2207. sipCpp->glVertexAttrib4Nubv(a0, reinterpret_cast<const GLubyte *>(array));
  2208. %End
  2209. void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
  2210. void glVertexAttrib4Nsv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2211. %MethodCode
  2212. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  2213. if (sipError == sipErrorNone)
  2214. sipCpp->glVertexAttrib4Nsv(a0, reinterpret_cast<const GLshort *>(array));
  2215. %End
  2216. void glVertexAttrib4Niv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2217. %MethodCode
  2218. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_INT, sipSelf);
  2219. if (sipError == sipErrorNone)
  2220. sipCpp->glVertexAttrib4Niv(a0, reinterpret_cast<const GLint *>(array));
  2221. %End
  2222. void glVertexAttrib4Nbv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2223. %MethodCode
  2224. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_BYTE, sipSelf);
  2225. if (sipError == sipErrorNone)
  2226. sipCpp->glVertexAttrib4Nbv(a0, reinterpret_cast<const GLbyte *>(array));
  2227. %End
  2228. void glVertexAttrib3sv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2229. %MethodCode
  2230. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  2231. if (sipError == sipErrorNone)
  2232. sipCpp->glVertexAttrib3sv(a0, reinterpret_cast<const GLshort *>(array));
  2233. %End
  2234. void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);
  2235. void glVertexAttrib3fv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2236. %MethodCode
  2237. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  2238. if (sipError == sipErrorNone)
  2239. sipCpp->glVertexAttrib3fv(a0, reinterpret_cast<const GLfloat *>(array));
  2240. %End
  2241. void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
  2242. void glVertexAttrib3dv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2243. %MethodCode
  2244. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  2245. if (sipError == sipErrorNone)
  2246. sipCpp->glVertexAttrib3dv(a0, reinterpret_cast<const GLdouble *>(array));
  2247. %End
  2248. void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
  2249. void glVertexAttrib2sv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2250. %MethodCode
  2251. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  2252. if (sipError == sipErrorNone)
  2253. sipCpp->glVertexAttrib2sv(a0, reinterpret_cast<const GLshort *>(array));
  2254. %End
  2255. void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);
  2256. void glVertexAttrib2fv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2257. %MethodCode
  2258. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  2259. if (sipError == sipErrorNone)
  2260. sipCpp->glVertexAttrib2fv(a0, reinterpret_cast<const GLfloat *>(array));
  2261. %End
  2262. void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
  2263. void glVertexAttrib2dv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2264. %MethodCode
  2265. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  2266. if (sipError == sipErrorNone)
  2267. sipCpp->glVertexAttrib2dv(a0, reinterpret_cast<const GLdouble *>(array));
  2268. %End
  2269. void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);
  2270. void glVertexAttrib1sv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2271. %MethodCode
  2272. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_SHORT, sipSelf);
  2273. if (sipError == sipErrorNone)
  2274. sipCpp->glVertexAttrib1sv(a0, reinterpret_cast<const GLshort *>(array));
  2275. %End
  2276. void glVertexAttrib1s(GLuint index, GLshort x);
  2277. void glVertexAttrib1fv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2278. %MethodCode
  2279. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_FLOAT, sipSelf);
  2280. if (sipError == sipErrorNone)
  2281. sipCpp->glVertexAttrib1fv(a0, reinterpret_cast<const GLfloat *>(array));
  2282. %End
  2283. void glVertexAttrib1f(GLuint index, GLfloat x);
  2284. void glVertexAttrib1dv(GLuint index, SIP_PYOBJECT v /TypeHint="PYQT_OPENGL_ARRAY"/);
  2285. %MethodCode
  2286. const GLvoid *array = qpyopengl_value_array(&sipError, a1, GL_DOUBLE, sipSelf);
  2287. if (sipError == sipErrorNone)
  2288. sipCpp->glVertexAttrib1dv(a0, reinterpret_cast<const GLdouble *>(array));
  2289. %End
  2290. void glVertexAttrib1d(GLuint index, GLdouble x);
  2291. };
  2292. %End