1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
|
Attribute VB_Name = "GLFW"
'========================================================================
' GLFW - An OpenGL framework
' File: glfw.bas
' Platform: Visual Basic/Windows
' API version: 2.5
' WWW: http://glfw.sourceforge.net
'------------------------------------------------------------------------
' Copyright (c) 2002-2005 Camilla Berglund
'
' This software is provided 'as-is', without any express or implied
' warranty. In no event will the authors be held liable for any damages
' arising from the use of this software.
'
' Permission is granted to anyone to use this software for any purpose,
' including commercial applications, and to alter it and redistribute it
' freely, subject to the following restrictions:
'
' 1. The origin of this software must not be misrepresented; you must not
' claim that you wrote the original software. If you use this software
' in a product, an acknowledgment in the product documentation would
' be appreciated but is not required.
'
' 2. Altered source versions must be plainly marked as such, and must not
' be misrepresented as being the original software.
'
' 3. This notice may not be removed or altered from any source
' distribution.
'
'========================================================================
'========================================================================
' GLFW version
'========================================================================
Public Const GLFW_VERSION_MAJOR = 2
Public Const GLFW_VERSION_MINOR = 5
Public Const GLFW_VERSION_REVISION = 0
'========================================================================
' Input handling definitions
'========================================================================
' Key and button state/action definitions
Public Const GLFW_RELEASE = 0
Public Const GLFW_PRESS = 1
' Keyboard key definitions: 8-bit ISO-8859-1 (Latin 1) encoding is used
' for printable keys (such as A-Z, 0-9 etc), and values above 256
' represent special (non-printable) keys (e.g. F1, Page Up etc).
Public Const GLFW_KEY_UNKNOWN = -1
Public Const GLFW_KEY_SPACE = 32
Public Const GLFW_KEY_SPECIAL = 256
Public Const GLFW_KEY_ESC = (GLFW_KEY_SPECIAL + 1)
Public Const GLFW_KEY_F1 = (GLFW_KEY_SPECIAL + 2)
Public Const GLFW_KEY_F2 = (GLFW_KEY_SPECIAL + 3)
Public Const GLFW_KEY_F3 = (GLFW_KEY_SPECIAL + 4)
Public Const GLFW_KEY_F4 = (GLFW_KEY_SPECIAL + 5)
Public Const GLFW_KEY_F5 = (GLFW_KEY_SPECIAL + 6)
Public Const GLFW_KEY_F6 = (GLFW_KEY_SPECIAL + 7)
Public Const GLFW_KEY_F7 = (GLFW_KEY_SPECIAL + 8)
Public Const GLFW_KEY_F8 = (GLFW_KEY_SPECIAL + 9)
Public Const GLFW_KEY_F9 = (GLFW_KEY_SPECIAL + 10)
Public Const GLFW_KEY_F10 = (GLFW_KEY_SPECIAL + 11)
Public Const GLFW_KEY_F11 = (GLFW_KEY_SPECIAL + 12)
Public Const GLFW_KEY_F12 = (GLFW_KEY_SPECIAL + 13)
Public Const GLFW_KEY_F13 = (GLFW_KEY_SPECIAL + 14)
Public Const GLFW_KEY_F14 = (GLFW_KEY_SPECIAL + 15)
Public Const GLFW_KEY_F15 = (GLFW_KEY_SPECIAL + 16)
Public Const GLFW_KEY_F16 = (GLFW_KEY_SPECIAL + 17)
Public Const GLFW_KEY_F17 = (GLFW_KEY_SPECIAL + 18)
Public Const GLFW_KEY_F18 = (GLFW_KEY_SPECIAL + 19)
Public Const GLFW_KEY_F19 = (GLFW_KEY_SPECIAL + 20)
Public Const GLFW_KEY_F20 = (GLFW_KEY_SPECIAL + 21)
Public Const GLFW_KEY_F21 = (GLFW_KEY_SPECIAL + 22)
Public Const GLFW_KEY_F22 = (GLFW_KEY_SPECIAL + 23)
Public Const GLFW_KEY_F23 = (GLFW_KEY_SPECIAL + 24)
Public Const GLFW_KEY_F24 = (GLFW_KEY_SPECIAL + 25)
Public Const GLFW_KEY_F25 = (GLFW_KEY_SPECIAL + 26)
Public Const GLFW_KEY_UP = (GLFW_KEY_SPECIAL + 27)
Public Const GLFW_KEY_DOWN = (GLFW_KEY_SPECIAL + 28)
Public Const GLFW_KEY_LEFT = (GLFW_KEY_SPECIAL + 29)
Public Const GLFW_KEY_RIGHT = (GLFW_KEY_SPECIAL + 30)
Public Const GLFW_KEY_LSHIFT = (GLFW_KEY_SPECIAL + 31)
Public Const GLFW_KEY_RSHIFT = (GLFW_KEY_SPECIAL + 32)
Public Const GLFW_KEY_LCTRL = (GLFW_KEY_SPECIAL + 33)
Public Const GLFW_KEY_RCTRL = (GLFW_KEY_SPECIAL + 34)
Public Const GLFW_KEY_LALT = (GLFW_KEY_SPECIAL + 35)
Public Const GLFW_KEY_RALT = (GLFW_KEY_SPECIAL + 36)
Public Const GLFW_KEY_TAB = (GLFW_KEY_SPECIAL + 37)
Public Const GLFW_KEY_ENTER = (GLFW_KEY_SPECIAL + 38)
Public Const GLFW_KEY_BACKSPACE = (GLFW_KEY_SPECIAL + 39)
Public Const GLFW_KEY_INSERT = (GLFW_KEY_SPECIAL + 40)
Public Const GLFW_KEY_DEL = (GLFW_KEY_SPECIAL + 41)
Public Const GLFW_KEY_PAGEUP = (GLFW_KEY_SPECIAL + 42)
Public Const GLFW_KEY_PAGEDOWN = (GLFW_KEY_SPECIAL + 43)
Public Const GLFW_KEY_HOME = (GLFW_KEY_SPECIAL + 44)
Public Const GLFW_KEY_END = (GLFW_KEY_SPECIAL + 45)
Public Const GLFW_KEY_KP_0 = (GLFW_KEY_SPECIAL + 46)
Public Const GLFW_KEY_KP_1 = (GLFW_KEY_SPECIAL + 47)
Public Const GLFW_KEY_KP_2 = (GLFW_KEY_SPECIAL + 48)
Public Const GLFW_KEY_KP_3 = (GLFW_KEY_SPECIAL + 49)
Public Const GLFW_KEY_KP_4 = (GLFW_KEY_SPECIAL + 50)
Public Const GLFW_KEY_KP_5 = (GLFW_KEY_SPECIAL + 51)
Public Const GLFW_KEY_KP_6 = (GLFW_KEY_SPECIAL + 52)
Public Const GLFW_KEY_KP_7 = (GLFW_KEY_SPECIAL + 53)
Public Const GLFW_KEY_KP_8 = (GLFW_KEY_SPECIAL + 54)
Public Const GLFW_KEY_KP_9 = (GLFW_KEY_SPECIAL + 55)
Public Const GLFW_KEY_KP_DIVIDE = (GLFW_KEY_SPECIAL + 56)
Public Const GLFW_KEY_KP_MULTIPLY = (GLFW_KEY_SPECIAL + 57)
Public Const GLFW_KEY_KP_SUBTRACT = (GLFW_KEY_SPECIAL + 58)
Public Const GLFW_KEY_KP_ADD = (GLFW_KEY_SPECIAL + 59)
Public Const GLFW_KEY_KP_DECIMAL = (GLFW_KEY_SPECIAL + 60)
Public Const GLFW_KEY_KP_EQUAL = (GLFW_KEY_SPECIAL + 61)
Public Const GLFW_KEY_KP_ENTER = (GLFW_KEY_SPECIAL + 62)
Public Const GLFW_KEY_LAST = GLFW_KEY_KP_ENTER
' Mouse button definitions
Public Const GLFW_MOUSE_BUTTON_1 = 0
Public Const GLFW_MOUSE_BUTTON_2 = 1
Public Const GLFW_MOUSE_BUTTON_3 = 2
Public Const GLFW_MOUSE_BUTTON_4 = 3
Public Const GLFW_MOUSE_BUTTON_5 = 4
Public Const GLFW_MOUSE_BUTTON_6 = 5
Public Const GLFW_MOUSE_BUTTON_7 = 6
Public Const GLFW_MOUSE_BUTTON_8 = 7
Public Const GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8
' Mouse button aliases
Public Const GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1
Public Const GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2
Public Const GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3
' Joystick identifiers
Public Const GLFW_JOYSTICK_1 = 0
Public Const GLFW_JOYSTICK_2 = 1
Public Const GLFW_JOYSTICK_3 = 2
Public Const GLFW_JOYSTICK_4 = 3
Public Const GLFW_JOYSTICK_5 = 4
Public Const GLFW_JOYSTICK_6 = 5
Public Const GLFW_JOYSTICK_7 = 6
Public Const GLFW_JOYSTICK_8 = 7
Public Const GLFW_JOYSTICK_9 = 8
Public Const GLFW_JOYSTICK_10 = 9
Public Const GLFW_JOYSTICK_11 = 10
Public Const GLFW_JOYSTICK_12 = 11
Public Const GLFW_JOYSTICK_13 = 12
Public Const GLFW_JOYSTICK_14 = 13
Public Const GLFW_JOYSTICK_15 = 14
Public Const GLFW_JOYSTICK_16 = 15
Public Const GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16
'========================================================================
' Other definitions
'========================================================================
' glfwOpenWindow modes
Public Const GLFW_WINDOW = &H10001
Public Const GLFW_FULLSCREEN = &H10002
' glfwGetWindowParam tokens
Public Const GLFW_OPENED = &H20001
Public Const GLFW_ACTIVE = &H20002
Public Const GLFW_ICONIFIED = &H20003
Public Const GLFW_ACCELERATED = &H20004
Public Const GLFW_RED_BITS = &H20005
Public Const GLFW_GREEN_BITS = &H20006
Public Const GLFW_BLUE_BITS = &H20007
Public Const GLFW_ALPHA_BITS = &H20008
Public Const GLFW_DEPTH_BITS = &H20009
Public Const GLFW_STENCIL_BITS = &H2000A
' The following constants are used for both glfwGetWindowParam
' and glfwOpenWindowHint
Public Const GLFW_REFRESH_RATE = &H2000B
Public Const GLFW_ACCUM_RED_BITS = &H2000C
Public Const GLFW_ACCUM_GREEN_BITS = &H2000D
Public Const GLFW_ACCUM_BLUE_BITS = &H2000E
Public Const GLFW_ACCUM_ALPHA_BITS = &H2000F
Public Const GLFW_AUX_BUFFERS = &H20010
Public Const GLFW_STEREO = &H20011
' glfwEnable/glfwDisable tokens
Public Const GLFW_MOUSE_CURSOR = &H30001
Public Const GLFW_STICKY_KEYS = &H30002
Public Const GLFW_STICKY_MOUSE_BUTTONS = &H30003
Public Const GLFW_SYSTEM_KEYS = &H30004
Public Const GLFW_KEY_REPEAT = &H30005
Public Const GLFW_AUTO_POLL_EVENTS = &H30006
' glfwWaitThread wait modes
Public Const GLFW_WAIT = &H40001
Public Const GLFW_NOWAIT = &H40002
' glfwGetJoystickParam tokens
Public Const GLFW_PRESENT = &H50001
Public Const GLFW_AXES = &H50002
Public Const GLFW_BUTTONS = &H50003
' glfwReadImage/glfwLoadTexture2D flags
Public Const GLFW_NO_RESCALE_BIT = &H1
Public Const GLFW_ORIGIN_UL_BIT = &H2
Public Const GLFW_BUILD_MIPMAPS_BIT = &H4
Public Const GLFW_ALPHA_MAP_BIT = &H8
' Time spans longer than this (seconds) are considered to be infinity
Public Const GLFW_INFINITY = 100000#
'========================================================================
' Typedefs
'========================================================================
' The video mode structure used by glfwGetVideoModes()
Public Type GLFWvidmode
width As Long
height As Long
redbits As Long
greenbits As Long
bluebits As Long
End Type
' Image/texture information
Public Type GLFWimage
width As Long
height As Long
format As Long
BytesPerPixel As Long
data() As Byte
End Type
'========================================================================
' Prototypes
'========================================================================
' GLFW initialization, termination and version querying
Public Declare Function glfwInit Lib "glfw.dll" () As Long
Public Declare Sub glfwTerminate Lib "glfw.dll" ()
Public Declare Sub glfwGetVersion Lib "glfw.dll" (major As Long, minor As Long, rev As Long)
' Window handling
Public Declare Function glfwOpenWindow Lib "glfw.dll" (ByVal width As Long, ByVal height As Long, ByVal redbits As Long, ByVal greenbits As Long, ByVal bluebits As Long, ByVal alphabits As Long, ByVal depthbits As Long, ByVal stencilbits As Long, ByVal mode As Long) As Long
Public Declare Sub glfwOpenWindowHint Lib "glfw.dll" (ByVal target As Long, ByVal hint As Long)
Public Declare Sub glfwCloseWindow Lib "glfw.dll" ()
Public Declare Sub glfwSetWindowTitle Lib "glfw.dll" (ByVal title As String)
Public Declare Sub glfwGetWindowSize Lib "glfw.dll" (width As Long, height As Long)
Public Declare Sub glfwSetWindowSize Lib "glfw.dll" (ByVal width As Long, ByVal height As Long)
Public Declare Sub glfwSetWindowPos Lib "glfw.dll" (ByVal x As Long, ByVal y As Long)
Public Declare Sub glfwIconifyWindow Lib "glfw.dll" ()
Public Declare Sub glfwUnIconifyWindow Lib "glfw.dll" ()
Public Declare Sub glfwSwapBuffers Lib "glfw.dll" ()
Public Declare Sub glfwSwapInterval Lib "glfw.dll" (ByVal interval As Long)
Public Declare Function glfwGetWindowParam Lib "glfw.dll" (ByVal param As Long) As Long
Public Declare Sub glfwSetWindowSizeCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetWindowCloseCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetWindowRefreshCallback Lib "glfw.dll" (ByVal cbfun As Long)
' Video mode functions
Public Declare Function glfwGetVideoModes Lib "glfw.dll" (list() As GLFWvidmode, ByVal maxcount As Long) As Long
Public Declare Sub glfwGetDesktopMode Lib "glfw.dll" (mode As GLFWvidmode)
' Input handling
Public Declare Sub glfwPollEvents Lib "glfw.dll" ()
Public Declare Sub glfwWaitEvents Lib "glfw.dll" ()
Public Declare Function glfwGetKey Lib "glfw.dll" (ByVal key As Long) As Long
Public Declare Function glfwGetMouseButton Lib "glfw.dll" (ByVal button As Long) As Long
Public Declare Sub glfwGetMousePos Lib "glfw.dll" (xpos As Long, ypos As Long)
Public Declare Sub glfwSetMousePos Lib "glfw.dll" (ByVal xpos As Long, ByVal ypos As Long)
Public Declare Function glfwGetMouseWheel Lib "glfw.dll" () As Long
Public Declare Sub glfwSetMouseWheel Lib "glfw.dll" (ByVal pos As Long)
Public Declare Sub glfwSetKeyCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetCharCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetMouseButtonCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetMousePosCallback Lib "glfw.dll" (ByVal cbfun As Long)
Public Declare Sub glfwSetMouseWheelCallback Lib "glfw.dll" (ByVal cbfun As Long)
' Joystick input
Public Declare Function glfwGetJoystickParam Lib "glfw.dll" (ByVal joy As Long, ByVal param As Long) As Long
Public Declare Function glfwGetJoystickPos Lib "glfw.dll" (ByVal joy As Long, pos As Single, ByVal numaxes As Long) As Long
Public Declare Function glfwGetJoystickButtons Lib "glfw.dll" (ByVal joy As Long, buttons As Byte, ByVal numbuttons As Long) As Long
' Time
Public Declare Function glfwGetTime Lib "glfw.dll" () As Double
Public Declare Sub glfwSetTime Lib "glfw.dll" (ByVal time As Double)
Public Declare Sub glfwSleep Lib "glfw.dll" (ByVal time As Double)
' Extension support
Public Declare Function glfwExtensionSupported Lib "glfw.dll" (ByVal extension As String) As Long
Public Declare Function glfwGetProcAddress Lib "glfw.dll" (ByVal procname As String) As Long
Public Declare Sub glfwGetGLVersion Lib "glfw.dll" (major As Long, minor As Long, rev As Long)
' Threading support
Public Declare Function glfwCreateThread Lib "glfw.dll" (ByVal cbfun As Long, ByVal arg As Long) As Long
Public Declare Sub glfwDestroyThread Lib "glfw.dll" (ByVal id As Long)
Public Declare Function glfwWaitThread Lib "glfw.dll" (ByVal id As Long, ByVal waitmode As Long) As Long
Public Declare Function glfwGetThreadID Lib "glfw.dll" () As Long
Public Declare Function glfwCreateMutex Lib "glfw.dll" () As Long
Public Declare Sub glfwDestroyMutex Lib "glfw.dll" (ByVal mutex As Long)
Public Declare Sub glfwLockMutex Lib "glfw.dll" (ByVal mutex As Long)
Public Declare Sub glfwUnlockMutex Lib "glfw.dll" (ByVal mutex As Long)
Public Declare Function glfwCreateCond Lib "glfw.dll" () As Long
Public Declare Sub glfwDestroyCond Lib "glfw.dll" (ByVal cond As Long)
Public Declare Sub glfwWaitCond Lib "glfw.dll" (ByVal cond As Long, ByVal mutex As Long, ByVal timeout As Double)
Public Declare Sub glfwSignalCond Lib "glfw.dll" (ByVal cond As Long)
Public Declare Sub glfwBroadcastCond Lib "glfw.dll" (ByVal cond As Long)
Public Declare Function glfwGetNumberOfProcessors Lib "glfw.dll" () As Long
' Enable/disable functions
Public Declare Sub glfwEnable Lib "glfw.dll" (ByVal token As Long)
Public Declare Sub glfwDisable Lib "glfw.dll" (ByVal token As Long)
' Image/texture I/O support
Public Declare Function glfwReadImage Lib "glfw.dll" (ByVal name As String, img As GLFWimage, ByVal flags As Long) As Long
Public Declare Sub glfwFreeImage Lib "glfw.dll" (img As GLFWimage)
Public Declare Function glfwLoadTexture2D Lib "glfw.dll" (ByVal name As String, ByVal flags As Long) As Long
|