wingl.nim 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. import opengl, windows
  2. {.deadCodeElim: on.}
  3. proc wglGetExtensionsStringARB*(hdc: HDC): cstring{.dynlib: dllname,
  4. importc: "wglGetExtensionsStringARB".}
  5. const
  6. WGL_FRONT_COLOR_BUFFER_BIT_ARB* = 0x00000001
  7. WGL_BACK_COLOR_BUFFER_BIT_ARB* = 0x00000002
  8. WGL_DEPTH_BUFFER_BIT_ARB* = 0x00000004
  9. WGL_STENCIL_BUFFER_BIT_ARB* = 0x00000008
  10. proc WinChoosePixelFormat*(DC: HDC, p2: PPixelFormatDescriptor): int{.
  11. dynlib: "gdi32", importc: "ChoosePixelFormat".}
  12. proc wglCreateBufferRegionARB*(hDC: HDC, iLayerPlane: TGLint, uType: TGLuint): THandle{.
  13. dynlib: dllname, importc: "wglCreateBufferRegionARB".}
  14. proc wglDeleteBufferRegionARB*(hRegion: THandle){.dynlib: dllname,
  15. importc: "wglDeleteBufferRegionARB".}
  16. proc wglSaveBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint,
  17. width: TGLint, height: TGLint): BOOL{.
  18. dynlib: dllname, importc: "wglSaveBufferRegionARB".}
  19. proc wglRestoreBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint,
  20. width: TGLint, height: TGLint, xSrc: TGLint,
  21. ySrc: TGLint): BOOL{.dynlib: dllname,
  22. importc: "wglRestoreBufferRegionARB".}
  23. proc wglAllocateMemoryNV*(size: TGLsizei, readFrequency: TGLfloat,
  24. writeFrequency: TGLfloat, priority: TGLfloat): PGLvoid{.
  25. dynlib: dllname, importc: "wglAllocateMemoryNV".}
  26. proc wglFreeMemoryNV*(pointer: PGLvoid){.dynlib: dllname,
  27. importc: "wglFreeMemoryNV".}
  28. const
  29. WGL_IMAGE_BUFFER_MIN_ACCESS_I3D* = 0x00000001
  30. WGL_IMAGE_BUFFER_LOCK_I3D* = 0x00000002
  31. proc wglCreateImageBufferI3D*(hDC: HDC, dwSize: DWORD, uFlags: UINT): PGLvoid{.
  32. dynlib: dllname, importc: "wglCreateImageBufferI3D".}
  33. proc wglDestroyImageBufferI3D*(hDC: HDC, pAddress: PGLvoid): BOOL{.
  34. dynlib: dllname, importc: "wglDestroyImageBufferI3D".}
  35. proc wglAssociateImageBufferEventsI3D*(hdc: HDC, pEvent: PHandle,
  36. pAddress: PGLvoid, pSize: PDWORD,
  37. count: UINT): BOOL{.dynlib: dllname,
  38. importc: "wglAssociateImageBufferEventsI3D".}
  39. proc wglReleaseImageBufferEventsI3D*(hdc: HDC, pAddress: PGLvoid, count: UINT): BOOL{.
  40. dynlib: dllname, importc: "wglReleaseImageBufferEventsI3D".}
  41. proc wglEnableFrameLockI3D*(): BOOL{.dynlib: dllname,
  42. importc: "wglEnableFrameLockI3D".}
  43. proc wglDisableFrameLockI3D*(): BOOL{.dynlib: dllname,
  44. importc: "wglDisableFrameLockI3D".}
  45. proc wglIsEnabledFrameLockI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname,
  46. importc: "wglIsEnabledFrameLockI3D".}
  47. proc wglQueryFrameLockMasterI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname,
  48. importc: "wglQueryFrameLockMasterI3D".}
  49. proc wglGetFrameUsageI3D*(pUsage: PGLfloat): BOOL{.dynlib: dllname,
  50. importc: "wglGetFrameUsageI3D".}
  51. proc wglBeginFrameTrackingI3D*(): BOOL{.dynlib: dllname,
  52. importc: "wglBeginFrameTrackingI3D".}
  53. proc wglEndFrameTrackingI3D*(): BOOL{.dynlib: dllname,
  54. importc: "wglEndFrameTrackingI3D".}
  55. proc wglQueryFrameTrackingI3D*(pFrameCount: PDWORD, pMissedFrames: PDWORD,
  56. pLastMissedUsage: PGLfloat): BOOL{.
  57. dynlib: dllname, importc: "wglQueryFrameTrackingI3D".}
  58. const
  59. WGL_NUMBER_PIXEL_FORMATS_ARB* = 0x00002000
  60. WGL_DRAW_TO_WINDOW_ARB* = 0x00002001
  61. WGL_DRAW_TO_BITMAP_ARB* = 0x00002002
  62. WGL_ACCELERATION_ARB* = 0x00002003
  63. WGL_NEED_PALETTE_ARB* = 0x00002004
  64. WGL_NEED_SYSTEM_PALETTE_ARB* = 0x00002005
  65. WGL_SWAP_LAYER_BUFFERS_ARB* = 0x00002006
  66. WGL_SWAP_METHOD_ARB* = 0x00002007
  67. WGL_NUMBER_OVERLAYS_ARB* = 0x00002008
  68. WGL_NUMBER_UNDERLAYS_ARB* = 0x00002009
  69. WGL_TRANSPARENT_ARB* = 0x0000200A
  70. WGL_TRANSPARENT_RED_VALUE_ARB* = 0x00002037
  71. WGL_TRANSPARENT_GREEN_VALUE_ARB* = 0x00002038
  72. WGL_TRANSPARENT_BLUE_VALUE_ARB* = 0x00002039
  73. WGL_TRANSPARENT_ALPHA_VALUE_ARB* = 0x0000203A
  74. WGL_TRANSPARENT_INDEX_VALUE_ARB* = 0x0000203B
  75. WGL_SHARE_DEPTH_ARB* = 0x0000200C
  76. WGL_SHARE_STENCIL_ARB* = 0x0000200D
  77. WGL_SHARE_ACCUM_ARB* = 0x0000200E
  78. WGL_SUPPORT_GDI_ARB* = 0x0000200F
  79. WGL_SUPPORT_OPENGL_ARB* = 0x00002010
  80. WGL_DOUBLE_BUFFER_ARB* = 0x00002011
  81. WGL_STEREO_ARB* = 0x00002012
  82. WGL_PIXEL_TYPE_ARB* = 0x00002013
  83. WGL_COLOR_BITS_ARB* = 0x00002014
  84. WGL_RED_BITS_ARB* = 0x00002015
  85. WGL_RED_SHIFT_ARB* = 0x00002016
  86. WGL_GREEN_BITS_ARB* = 0x00002017
  87. WGL_GREEN_SHIFT_ARB* = 0x00002018
  88. WGL_BLUE_BITS_ARB* = 0x00002019
  89. WGL_BLUE_SHIFT_ARB* = 0x0000201A
  90. WGL_ALPHA_BITS_ARB* = 0x0000201B
  91. WGL_ALPHA_SHIFT_ARB* = 0x0000201C
  92. WGL_ACCUM_BITS_ARB* = 0x0000201D
  93. WGL_ACCUM_RED_BITS_ARB* = 0x0000201E
  94. WGL_ACCUM_GREEN_BITS_ARB* = 0x0000201F
  95. WGL_ACCUM_BLUE_BITS_ARB* = 0x00002020
  96. WGL_ACCUM_ALPHA_BITS_ARB* = 0x00002021
  97. WGL_DEPTH_BITS_ARB* = 0x00002022
  98. WGL_STENCIL_BITS_ARB* = 0x00002023
  99. WGL_AUX_BUFFERS_ARB* = 0x00002024
  100. WGL_NO_ACCELERATION_ARB* = 0x00002025
  101. WGL_GENERIC_ACCELERATION_ARB* = 0x00002026
  102. WGL_FULL_ACCELERATION_ARB* = 0x00002027
  103. WGL_SWAP_EXCHANGE_ARB* = 0x00002028
  104. WGL_SWAP_COPY_ARB* = 0x00002029
  105. WGL_SWAP_UNDEFINED_ARB* = 0x0000202A
  106. WGL_TYPE_RGBA_ARB* = 0x0000202B
  107. WGL_TYPE_COLORINDEX_ARB* = 0x0000202C
  108. proc wglGetPixelFormatAttribivARB*(hdc: HDC, iPixelFormat: TGLint,
  109. iLayerPlane: TGLint, nAttributes: TGLuint,
  110. piAttributes: PGLint, piValues: PGLint): BOOL{.
  111. dynlib: dllname, importc: "wglGetPixelFormatAttribivARB".}
  112. proc wglGetPixelFormatAttribfvARB*(hdc: HDC, iPixelFormat: TGLint,
  113. iLayerPlane: TGLint, nAttributes: TGLuint,
  114. piAttributes: PGLint, pfValues: PGLfloat): BOOL{.
  115. dynlib: dllname, importc: "wglGetPixelFormatAttribfvARB".}
  116. proc wglChoosePixelFormatARB*(hdc: HDC, piAttribIList: PGLint,
  117. pfAttribFList: PGLfloat, nMaxFormats: TGLuint,
  118. piFormats: PGLint, nNumFormats: PGLuint): BOOL{.
  119. dynlib: dllname, importc: "wglChoosePixelFormatARB".}
  120. const
  121. WGL_ERROR_INVALID_PIXEL_TYPE_ARB* = 0x00002043
  122. WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB* = 0x00002054
  123. proc wglMakeContextCurrentARB*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{.
  124. dynlib: dllname, importc: "wglMakeContextCurrentARB".}
  125. proc wglGetCurrentReadDCARB*(): HDC{.dynlib: dllname,
  126. importc: "wglGetCurrentReadDCARB".}
  127. const
  128. WGL_DRAW_TO_PBUFFER_ARB* = 0x0000202D # WGL_DRAW_TO_PBUFFER_ARB { already defined }
  129. WGL_MAX_PBUFFER_PIXELS_ARB* = 0x0000202E
  130. WGL_MAX_PBUFFER_WIDTH_ARB* = 0x0000202F
  131. WGL_MAX_PBUFFER_HEIGHT_ARB* = 0x00002030
  132. WGL_PBUFFER_LARGEST_ARB* = 0x00002033
  133. WGL_PBUFFER_WIDTH_ARB* = 0x00002034
  134. WGL_PBUFFER_HEIGHT_ARB* = 0x00002035
  135. WGL_PBUFFER_LOST_ARB* = 0x00002036
  136. proc wglCreatePbufferARB*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint,
  137. iHeight: TGLint, piAttribList: PGLint): THandle{.
  138. dynlib: dllname, importc: "wglCreatePbufferARB".}
  139. proc wglGetPbufferDCARB*(hPbuffer: THandle): HDC{.dynlib: dllname,
  140. importc: "wglGetPbufferDCARB".}
  141. proc wglReleasePbufferDCARB*(hPbuffer: THandle, hDC: HDC): TGLint{.
  142. dynlib: dllname, importc: "wglReleasePbufferDCARB".}
  143. proc wglDestroyPbufferARB*(hPbuffer: THandle): BOOL{.dynlib: dllname,
  144. importc: "wglDestroyPbufferARB".}
  145. proc wglQueryPbufferARB*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{.
  146. dynlib: dllname, importc: "wglQueryPbufferARB".}
  147. proc wglSwapIntervalEXT*(interval: TGLint): BOOL{.dynlib: dllname,
  148. importc: "wglSwapIntervalEXT".}
  149. proc wglGetSwapIntervalEXT*(): TGLint{.dynlib: dllname,
  150. importc: "wglGetSwapIntervalEXT".}
  151. const
  152. WGL_BIND_TO_TEXTURE_RGB_ARB* = 0x00002070
  153. WGL_BIND_TO_TEXTURE_RGBA_ARB* = 0x00002071
  154. WGL_TEXTURE_FORMAT_ARB* = 0x00002072
  155. WGL_TEXTURE_TARGET_ARB* = 0x00002073
  156. WGL_MIPMAP_TEXTURE_ARB* = 0x00002074
  157. WGL_TEXTURE_RGB_ARB* = 0x00002075
  158. WGL_TEXTURE_RGBA_ARB* = 0x00002076
  159. WGL_NO_TEXTURE_ARB* = 0x00002077
  160. WGL_TEXTURE_CUBE_MAP_ARB* = 0x00002078
  161. WGL_TEXTURE_1D_ARB* = 0x00002079
  162. WGL_TEXTURE_2D_ARB* = 0x0000207A # WGL_NO_TEXTURE_ARB { already defined }
  163. WGL_MIPMAP_LEVEL_ARB* = 0x0000207B
  164. WGL_CUBE_MAP_FACE_ARB* = 0x0000207C
  165. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB* = 0x0000207D
  166. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB* = 0x0000207E
  167. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB* = 0x0000207F
  168. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB* = 0x00002080
  169. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB* = 0x00002081
  170. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB* = 0x00002082
  171. WGL_FRONT_LEFT_ARB* = 0x00002083
  172. WGL_FRONT_RIGHT_ARB* = 0x00002084
  173. WGL_BACK_LEFT_ARB* = 0x00002085
  174. WGL_BACK_RIGHT_ARB* = 0x00002086
  175. WGL_AUX0_ARB* = 0x00002087
  176. WGL_AUX1_ARB* = 0x00002088
  177. WGL_AUX2_ARB* = 0x00002089
  178. WGL_AUX3_ARB* = 0x0000208A
  179. WGL_AUX4_ARB* = 0x0000208B
  180. WGL_AUX5_ARB* = 0x0000208C
  181. WGL_AUX6_ARB* = 0x0000208D
  182. WGL_AUX7_ARB* = 0x0000208E
  183. WGL_AUX8_ARB* = 0x0000208F
  184. WGL_AUX9_ARB* = 0x00002090
  185. proc wglBindTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{.
  186. dynlib: dllname, importc: "wglBindTexImageARB".}
  187. proc wglReleaseTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{.
  188. dynlib: dllname, importc: "wglReleaseTexImageARB".}
  189. proc wglSetPbufferAttribARB*(hPbuffer: THandle, piAttribList: PGLint): BOOL{.
  190. dynlib: dllname, importc: "wglSetPbufferAttribARB".}
  191. proc wglGetExtensionsStringEXT*(): cstring{.dynlib: dllname,
  192. importc: "wglGetExtensionsStringEXT".}
  193. proc wglMakeContextCurrentEXT*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{.
  194. dynlib: dllname, importc: "wglMakeContextCurrentEXT".}
  195. proc wglGetCurrentReadDCEXT*(): HDC{.dynlib: dllname,
  196. importc: "wglGetCurrentReadDCEXT".}
  197. const
  198. WGL_DRAW_TO_PBUFFER_EXT* = 0x0000202D
  199. WGL_MAX_PBUFFER_PIXELS_EXT* = 0x0000202E
  200. WGL_MAX_PBUFFER_WIDTH_EXT* = 0x0000202F
  201. WGL_MAX_PBUFFER_HEIGHT_EXT* = 0x00002030
  202. WGL_OPTIMAL_PBUFFER_WIDTH_EXT* = 0x00002031
  203. WGL_OPTIMAL_PBUFFER_HEIGHT_EXT* = 0x00002032
  204. WGL_PBUFFER_LARGEST_EXT* = 0x00002033
  205. WGL_PBUFFER_WIDTH_EXT* = 0x00002034
  206. WGL_PBUFFER_HEIGHT_EXT* = 0x00002035
  207. proc wglCreatePbufferEXT*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint,
  208. iHeight: TGLint, piAttribList: PGLint): THandle{.
  209. dynlib: dllname, importc: "wglCreatePbufferEXT".}
  210. proc wglGetPbufferDCEXT*(hPbuffer: THandle): HDC{.dynlib: dllname,
  211. importc: "wglGetPbufferDCEXT".}
  212. proc wglReleasePbufferDCEXT*(hPbuffer: THandle, hDC: HDC): TGLint{.
  213. dynlib: dllname, importc: "wglReleasePbufferDCEXT".}
  214. proc wglDestroyPbufferEXT*(hPbuffer: THandle): BOOL{.dynlib: dllname,
  215. importc: "wglDestroyPbufferEXT".}
  216. proc wglQueryPbufferEXT*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{.
  217. dynlib: dllname, importc: "wglQueryPbufferEXT".}
  218. const
  219. WGL_NUMBER_PIXEL_FORMATS_EXT* = 0x00002000
  220. WGL_DRAW_TO_WINDOW_EXT* = 0x00002001
  221. WGL_DRAW_TO_BITMAP_EXT* = 0x00002002
  222. WGL_ACCELERATION_EXT* = 0x00002003
  223. WGL_NEED_PALETTE_EXT* = 0x00002004
  224. WGL_NEED_SYSTEM_PALETTE_EXT* = 0x00002005
  225. WGL_SWAP_LAYER_BUFFERS_EXT* = 0x00002006
  226. WGL_SWAP_METHOD_EXT* = 0x00002007
  227. WGL_NUMBER_OVERLAYS_EXT* = 0x00002008
  228. WGL_NUMBER_UNDERLAYS_EXT* = 0x00002009
  229. WGL_TRANSPARENT_EXT* = 0x0000200A
  230. WGL_TRANSPARENT_VALUE_EXT* = 0x0000200B
  231. WGL_SHARE_DEPTH_EXT* = 0x0000200C
  232. WGL_SHARE_STENCIL_EXT* = 0x0000200D
  233. WGL_SHARE_ACCUM_EXT* = 0x0000200E
  234. WGL_SUPPORT_GDI_EXT* = 0x0000200F
  235. WGL_SUPPORT_OPENGL_EXT* = 0x00002010
  236. WGL_DOUBLE_BUFFER_EXT* = 0x00002011
  237. WGL_STEREO_EXT* = 0x00002012
  238. WGL_PIXEL_TYPE_EXT* = 0x00002013
  239. WGL_COLOR_BITS_EXT* = 0x00002014
  240. WGL_RED_BITS_EXT* = 0x00002015
  241. WGL_RED_SHIFT_EXT* = 0x00002016
  242. WGL_GREEN_BITS_EXT* = 0x00002017
  243. WGL_GREEN_SHIFT_EXT* = 0x00002018
  244. WGL_BLUE_BITS_EXT* = 0x00002019
  245. WGL_BLUE_SHIFT_EXT* = 0x0000201A
  246. WGL_ALPHA_BITS_EXT* = 0x0000201B
  247. WGL_ALPHA_SHIFT_EXT* = 0x0000201C
  248. WGL_ACCUM_BITS_EXT* = 0x0000201D
  249. WGL_ACCUM_RED_BITS_EXT* = 0x0000201E
  250. WGL_ACCUM_GREEN_BITS_EXT* = 0x0000201F
  251. WGL_ACCUM_BLUE_BITS_EXT* = 0x00002020
  252. WGL_ACCUM_ALPHA_BITS_EXT* = 0x00002021
  253. WGL_DEPTH_BITS_EXT* = 0x00002022
  254. WGL_STENCIL_BITS_EXT* = 0x00002023
  255. WGL_AUX_BUFFERS_EXT* = 0x00002024
  256. WGL_NO_ACCELERATION_EXT* = 0x00002025
  257. WGL_GENERIC_ACCELERATION_EXT* = 0x00002026
  258. WGL_FULL_ACCELERATION_EXT* = 0x00002027
  259. WGL_SWAP_EXCHANGE_EXT* = 0x00002028
  260. WGL_SWAP_COPY_EXT* = 0x00002029
  261. WGL_SWAP_UNDEFINED_EXT* = 0x0000202A
  262. WGL_TYPE_RGBA_EXT* = 0x0000202B
  263. WGL_TYPE_COLORINDEX_EXT* = 0x0000202C
  264. proc wglGetPixelFormatAttribivEXT*(hdc: HDC, iPixelFormat: TGLint,
  265. iLayerPlane: TGLint, nAttributes: TGLuint,
  266. piAttributes: PGLint, piValues: PGLint): BOOL{.
  267. dynlib: dllname, importc: "wglGetPixelFormatAttribivEXT".}
  268. proc wglGetPixelFormatAttribfvEXT*(hdc: HDC, iPixelFormat: TGLint,
  269. iLayerPlane: TGLint, nAttributes: TGLuint,
  270. piAttributes: PGLint, pfValues: PGLfloat): BOOL{.
  271. dynlib: dllname, importc: "wglGetPixelFormatAttribfvEXT".}
  272. proc wglChoosePixelFormatEXT*(hdc: HDC, piAttribIList: PGLint,
  273. pfAttribFList: PGLfloat, nMaxFormats: TGLuint,
  274. piFormats: PGLint, nNumFormats: PGLuint): BOOL{.
  275. dynlib: dllname, importc: "wglChoosePixelFormatEXT".}
  276. const
  277. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D* = 0x00002050
  278. WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D* = 0x00002051
  279. WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D* = 0x00002052
  280. WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D* = 0x00002053
  281. proc wglGetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint,
  282. piValue: PGLint): BOOL{.dynlib: dllname,
  283. importc: "wglGetDigitalVideoParametersI3D".}
  284. proc wglSetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint,
  285. piValue: PGLint): BOOL{.dynlib: dllname,
  286. importc: "wglSetDigitalVideoParametersI3D".}
  287. const
  288. WGL_GAMMA_TABLE_SIZE_I3D* = 0x0000204E
  289. WGL_GAMMA_EXCLUDE_DESKTOP_I3D* = 0x0000204F
  290. proc wglGetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint,
  291. piValue: PGLint): BOOL{.dynlib: dllname,
  292. importc: "wglGetGammaTableParametersI3D".}
  293. proc wglSetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint,
  294. piValue: PGLint): BOOL{.dynlib: dllname,
  295. importc: "wglSetGammaTableParametersI3D".}
  296. proc wglGetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT,
  297. puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{.
  298. dynlib: dllname, importc: "wglGetGammaTableI3D".}
  299. proc wglSetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT,
  300. puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{.
  301. dynlib: dllname, importc: "wglSetGammaTableI3D".}
  302. const
  303. WGL_GENLOCK_SOURCE_MULTIVIEW_I3D* = 0x00002044
  304. WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D* = 0x00002045
  305. WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D* = 0x00002046
  306. WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D* = 0x00002047
  307. WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D* = 0x00002048
  308. WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D* = 0x00002049
  309. WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D* = 0x0000204A
  310. WGL_GENLOCK_SOURCE_EDGE_RISING_I3D* = 0x0000204B
  311. WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D* = 0x0000204C
  312. WGL_FLOAT_COMPONENTS_NV* = 0x000020B0
  313. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV* = 0x000020B1
  314. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV* = 0x000020B2
  315. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV* = 0x000020B3
  316. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV* = 0x000020B4
  317. WGL_TEXTURE_FLOAT_R_NV* = 0x000020B5
  318. WGL_TEXTURE_FLOAT_RG_NV* = 0x000020B6
  319. WGL_TEXTURE_FLOAT_RGB_NV* = 0x000020B7
  320. WGL_TEXTURE_FLOAT_RGBA_NV* = 0x000020B8
  321. proc wglEnableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname,
  322. importc: "wglEnableGenlockI3D".}
  323. proc wglDisableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname,
  324. importc: "wglDisableGenlockI3D".}
  325. proc wglIsEnabledGenlockI3D*(hDC: HDC, pFlag: PBOOL): BOOL{.dynlib: dllname,
  326. importc: "wglIsEnabledGenlockI3D".}
  327. proc wglGenlockSourceI3D*(hDC: HDC, uSource: TGLuint): BOOL{.dynlib: dllname,
  328. importc: "wglGenlockSourceI3D".}
  329. proc wglGetGenlockSourceI3D*(hDC: HDC, uSource: PGLUINT): BOOL{.dynlib: dllname,
  330. importc: "wglGetGenlockSourceI3D".}
  331. proc wglGenlockSourceEdgeI3D*(hDC: HDC, uEdge: TGLuint): BOOL{.dynlib: dllname,
  332. importc: "wglGenlockSourceEdgeI3D".}
  333. proc wglGetGenlockSourceEdgeI3D*(hDC: HDC, uEdge: PGLUINT): BOOL{.
  334. dynlib: dllname, importc: "wglGetGenlockSourceEdgeI3D".}
  335. proc wglGenlockSampleRateI3D*(hDC: HDC, uRate: TGLuint): BOOL{.dynlib: dllname,
  336. importc: "wglGenlockSampleRateI3D".}
  337. proc wglGetGenlockSampleRateI3D*(hDC: HDC, uRate: PGLUINT): BOOL{.
  338. dynlib: dllname, importc: "wglGetGenlockSampleRateI3D".}
  339. proc wglGenlockSourceDelayI3D*(hDC: HDC, uDelay: TGLuint): BOOL{.
  340. dynlib: dllname, importc: "wglGenlockSourceDelayI3D".}
  341. proc wglGetGenlockSourceDelayI3D*(hDC: HDC, uDelay: PGLUINT): BOOL{.
  342. dynlib: dllname, importc: "wglGetGenlockSourceDelayI3D".}
  343. proc wglQueryGenlockMaxSourceDelayI3D*(hDC: HDC, uMaxLineDelay: PGLUINT,
  344. uMaxPixelDelay: PGLUINT): BOOL{.
  345. dynlib: dllname, importc: "wglQueryGenlockMaxSourceDelayI3D".}
  346. const
  347. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV* = 0x000020A0
  348. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV* = 0x000020A1
  349. WGL_TEXTURE_RECTANGLE_NV* = 0x000020A2
  350. const
  351. WGL_RGBA_FLOAT_MODE_ATI* = 0x00008820
  352. WGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI* = 0x00008835
  353. WGL_TYPE_RGBA_FLOAT_ATI* = 0x000021A0
  354. # implementation