Module: GLFW
- Extended by:
- Fiddle::Importer
- Defined in:
- lib/glfw.rb
Constant Summary collapse
- GLFW_FUNCTIONS_MAP =
Fiddle’s default ‘extern’ stores all methods into local variable ‘@func_map’, that makes difficult to ‘include GLFW’. So I override it and replace ‘@func_map’ into ‘GLFW_FUNCTIONS_MAP’. Ref.: /lib/ruby/2.0.0/fiddle/import.rb
{}
- GLFW_TRUE =
defines
1
- GLFW_FALSE =
Available since GLFW 3.2
0
- GLFW_RELEASE =
Available since GLFW 3.2
0
- GLFW_PRESS =
1
- GLFW_REPEAT =
2
- GLFW_HAT_CENTERED =
Available since GLFW 3.3
0
- GLFW_HAT_UP =
Available since GLFW 3.3
1
- GLFW_HAT_RIGHT =
Available since GLFW 3.3
2
- GLFW_HAT_DOWN =
Available since GLFW 3.3
4
- GLFW_HAT_LEFT =
Available since GLFW 3.3
8
- GLFW_HAT_RIGHT_UP =
Available since GLFW 3.3
(GLFW_HAT_RIGHT | GLFW_HAT_UP)
- GLFW_HAT_RIGHT_DOWN =
Available since GLFW 3.3
(GLFW_HAT_RIGHT | GLFW_HAT_DOWN)
- GLFW_HAT_LEFT_UP =
Available since GLFW 3.3
(GLFW_HAT_LEFT | GLFW_HAT_UP)
- GLFW_HAT_LEFT_DOWN =
Available since GLFW 3.3
(GLFW_HAT_LEFT | GLFW_HAT_DOWN)
- GLFW_KEY_UNKNOWN =
-1
- GLFW_KEY_SPACE =
32
- GLFW_KEY_APOSTROPHE =
‘
39
- GLFW_KEY_COMMA =
,
44
- GLFW_KEY_MINUS =
-
45
- GLFW_KEY_PERIOD =
.
46
- GLFW_KEY_SLASH =
/
47
- GLFW_KEY_0 =
48
- GLFW_KEY_1 =
49
- GLFW_KEY_2 =
50
- GLFW_KEY_3 =
51
- GLFW_KEY_4 =
52
- GLFW_KEY_5 =
53
- GLFW_KEY_6 =
54
- GLFW_KEY_7 =
55
- GLFW_KEY_8 =
56
- GLFW_KEY_9 =
57
- GLFW_KEY_SEMICOLON =
;
59
- GLFW_KEY_EQUAL =
61
- GLFW_KEY_A =
65
- GLFW_KEY_B =
66
- GLFW_KEY_C =
67
- GLFW_KEY_D =
68
- GLFW_KEY_E =
69
- GLFW_KEY_F =
70
- GLFW_KEY_G =
71
- GLFW_KEY_H =
72
- GLFW_KEY_I =
73
- GLFW_KEY_J =
74
- GLFW_KEY_K =
75
- GLFW_KEY_L =
76
- GLFW_KEY_M =
77
- GLFW_KEY_N =
78
- GLFW_KEY_O =
79
- GLFW_KEY_P =
80
- GLFW_KEY_Q =
81
- GLFW_KEY_R =
82
- GLFW_KEY_S =
83
- GLFW_KEY_T =
84
- GLFW_KEY_U =
85
- GLFW_KEY_V =
86
- GLFW_KEY_W =
87
- GLFW_KEY_X =
88
- GLFW_KEY_Y =
89
- GLFW_KEY_Z =
90
- GLFW_KEY_LEFT_BRACKET =
[
91
- GLFW_KEY_BACKSLASH =
\
92
- GLFW_KEY_RIGHT_BRACKET =
]
93
- GLFW_KEY_GRAVE_ACCENT =
‘
96
- GLFW_KEY_WORLD_1 =
non-US #1
161
- GLFW_KEY_WORLD_2 =
non-US #2
162
- GLFW_KEY_ESCAPE =
256
- GLFW_KEY_ENTER =
257
- GLFW_KEY_TAB =
258
- GLFW_KEY_BACKSPACE =
259
- GLFW_KEY_INSERT =
260
- GLFW_KEY_DELETE =
261
- GLFW_KEY_RIGHT =
262
- GLFW_KEY_LEFT =
263
- GLFW_KEY_DOWN =
264
- GLFW_KEY_UP =
265
- GLFW_KEY_PAGE_UP =
266
- GLFW_KEY_PAGE_DOWN =
267
- GLFW_KEY_HOME =
268
- GLFW_KEY_END =
269
- GLFW_KEY_CAPS_LOCK =
280
- GLFW_KEY_SCROLL_LOCK =
281
- GLFW_KEY_NUM_LOCK =
282
- GLFW_KEY_PRINT_SCREEN =
283
- GLFW_KEY_PAUSE =
284
- GLFW_KEY_F1 =
290
- GLFW_KEY_F2 =
291
- GLFW_KEY_F3 =
292
- GLFW_KEY_F4 =
293
- GLFW_KEY_F5 =
294
- GLFW_KEY_F6 =
295
- GLFW_KEY_F7 =
296
- GLFW_KEY_F8 =
297
- GLFW_KEY_F9 =
298
- GLFW_KEY_F10 =
299
- GLFW_KEY_F11 =
300
- GLFW_KEY_F12 =
301
- GLFW_KEY_F13 =
302
- GLFW_KEY_F14 =
303
- GLFW_KEY_F15 =
304
- GLFW_KEY_F16 =
305
- GLFW_KEY_F17 =
306
- GLFW_KEY_F18 =
307
- GLFW_KEY_F19 =
308
- GLFW_KEY_F20 =
309
- GLFW_KEY_F21 =
310
- GLFW_KEY_F22 =
311
- GLFW_KEY_F23 =
312
- GLFW_KEY_F24 =
313
- GLFW_KEY_F25 =
314
- GLFW_KEY_KP_0 =
320
- GLFW_KEY_KP_1 =
321
- GLFW_KEY_KP_2 =
322
- GLFW_KEY_KP_3 =
323
- GLFW_KEY_KP_4 =
324
- GLFW_KEY_KP_5 =
325
- GLFW_KEY_KP_6 =
326
- GLFW_KEY_KP_7 =
327
- GLFW_KEY_KP_8 =
328
- GLFW_KEY_KP_9 =
329
- GLFW_KEY_KP_DECIMAL =
330
- GLFW_KEY_KP_DIVIDE =
331
- GLFW_KEY_KP_MULTIPLY =
332
- GLFW_KEY_KP_SUBTRACT =
333
- GLFW_KEY_KP_ADD =
334
- GLFW_KEY_KP_ENTER =
335
- GLFW_KEY_KP_EQUAL =
336
- GLFW_KEY_LEFT_SHIFT =
340
- GLFW_KEY_LEFT_CONTROL =
341
- GLFW_KEY_LEFT_ALT =
342
- GLFW_KEY_LEFT_SUPER =
343
- GLFW_KEY_RIGHT_SHIFT =
344
- GLFW_KEY_RIGHT_CONTROL =
345
- GLFW_KEY_RIGHT_ALT =
346
- GLFW_KEY_RIGHT_SUPER =
347
- GLFW_KEY_MENU =
348
- GLFW_KEY_LAST =
GLFW_KEY_MENU
- GLFW_MOD_SHIFT =
0x0001
- GLFW_MOD_CONTROL =
0x0002
- GLFW_MOD_ALT =
0x0004
- GLFW_MOD_SUPER =
0x0008
- GLFW_MOD_CAPS_LOCK =
Available since GLFW 3.3
0x0010
- GLFW_MOD_NUM_LOCK =
Available since GLFW 3.3
0x0020
- GLFW_MOUSE_BUTTON_1 =
0
- GLFW_MOUSE_BUTTON_2 =
1
- GLFW_MOUSE_BUTTON_3 =
2
- GLFW_MOUSE_BUTTON_4 =
3
- GLFW_MOUSE_BUTTON_5 =
4
- GLFW_MOUSE_BUTTON_6 =
5
- GLFW_MOUSE_BUTTON_7 =
6
- GLFW_MOUSE_BUTTON_8 =
7
- GLFW_MOUSE_BUTTON_LAST =
GLFW_MOUSE_BUTTON_8
- GLFW_MOUSE_BUTTON_LEFT =
GLFW_MOUSE_BUTTON_1
- GLFW_MOUSE_BUTTON_RIGHT =
GLFW_MOUSE_BUTTON_2
- GLFW_MOUSE_BUTTON_MIDDLE =
GLFW_MOUSE_BUTTON_3
- GLFW_JOYSTICK_1 =
0
- GLFW_JOYSTICK_2 =
1
- GLFW_JOYSTICK_3 =
2
- GLFW_JOYSTICK_4 =
3
- GLFW_JOYSTICK_5 =
4
- GLFW_JOYSTICK_6 =
5
- GLFW_JOYSTICK_7 =
6
- GLFW_JOYSTICK_8 =
7
- GLFW_JOYSTICK_9 =
8
- GLFW_JOYSTICK_10 =
9
- GLFW_JOYSTICK_11 =
10
- GLFW_JOYSTICK_12 =
11
- GLFW_JOYSTICK_13 =
12
- GLFW_JOYSTICK_14 =
13
- GLFW_JOYSTICK_15 =
14
- GLFW_JOYSTICK_16 =
15
- GLFW_JOYSTICK_LAST =
GLFW_JOYSTICK_16
- GLFW_GAMEPAD_BUTTON_A =
Available since GLFW 3.3
0
- GLFW_GAMEPAD_BUTTON_B =
Available since GLFW 3.3
1
- GLFW_GAMEPAD_BUTTON_X =
Available since GLFW 3.3
2
- GLFW_GAMEPAD_BUTTON_Y =
Available since GLFW 3.3
3
- GLFW_GAMEPAD_BUTTON_LEFT_BUMPER =
Available since GLFW 3.3
4
- GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER =
Available since GLFW 3.3
5
- GLFW_GAMEPAD_BUTTON_BACK =
Available since GLFW 3.3
6
- GLFW_GAMEPAD_BUTTON_START =
Available since GLFW 3.3
7
- GLFW_GAMEPAD_BUTTON_GUIDE =
Available since GLFW 3.3
8
- GLFW_GAMEPAD_BUTTON_LEFT_THUMB =
Available since GLFW 3.3
9
- GLFW_GAMEPAD_BUTTON_RIGHT_THUMB =
Available since GLFW 3.3
10
- GLFW_GAMEPAD_BUTTON_DPAD_UP =
Available since GLFW 3.3
11
- GLFW_GAMEPAD_BUTTON_DPAD_RIGHT =
Available since GLFW 3.3
12
- GLFW_GAMEPAD_BUTTON_DPAD_DOWN =
Available since GLFW 3.3
13
- GLFW_GAMEPAD_BUTTON_DPAD_LEFT =
Available since GLFW 3.3
14
- GLFW_GAMEPAD_BUTTON_LAST =
Available since GLFW 3.3
GLFW_GAMEPAD_BUTTON_DPAD_LEFT
- GLFW_GAMEPAD_BUTTON_CROSS =
Available since GLFW 3.3
GLFW_GAMEPAD_BUTTON_A
- GLFW_GAMEPAD_BUTTON_CIRCLE =
Available since GLFW 3.3
GLFW_GAMEPAD_BUTTON_B
- GLFW_GAMEPAD_BUTTON_SQUARE =
Available since GLFW 3.3
GLFW_GAMEPAD_BUTTON_X
- GLFW_GAMEPAD_BUTTON_TRIANGLE =
Available since GLFW 3.3
GLFW_GAMEPAD_BUTTON_Y
- GLFW_GAMEPAD_AXIS_LEFT_X =
Available since GLFW 3.3
0
- GLFW_GAMEPAD_AXIS_LEFT_Y =
Available since GLFW 3.3
1
- GLFW_GAMEPAD_AXIS_RIGHT_X =
Available since GLFW 3.3
2
- GLFW_GAMEPAD_AXIS_RIGHT_Y =
Available since GLFW 3.3
3
- GLFW_GAMEPAD_AXIS_LEFT_TRIGGER =
Available since GLFW 3.3
4
- GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER =
Available since GLFW 3.3
5
- GLFW_GAMEPAD_AXIS_LAST =
Available since GLFW 3.3
GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
- GLFW_NO_ERROR =
Available since GLFW 3.3
0
- GLFW_NOT_INITIALIZED =
0x00010001
- GLFW_NO_CURRENT_CONTEXT =
0x00010002
- GLFW_INVALID_ENUM =
0x00010003
- GLFW_INVALID_VALUE =
0x00010004
- GLFW_OUT_OF_MEMORY =
0x00010005
- GLFW_API_UNAVAILABLE =
0x00010006
- GLFW_VERSION_UNAVAILABLE =
0x00010007
- GLFW_PLATFORM_ERROR =
0x00010008
- GLFW_FORMAT_UNAVAILABLE =
0x00010009
- GLFW_NO_WINDOW_CONTEXT =
Available since GLFW 3.2
0x0001000A
- GLFW_FOCUSED =
0x00020001
- GLFW_ICONIFIED =
0x00020002
- GLFW_RESIZABLE =
0x00020003
- GLFW_VISIBLE =
0x00020004
- GLFW_DECORATED =
0x00020005
- GLFW_AUTO_ICONIFY =
Available since GLFW 3.1
0x00020006
- GLFW_FLOATING =
Available since GLFW 3.1
0x00020007
- GLFW_MAXIMIZED =
Available since GLFW 3.2
0x00020008
- GLFW_CENTER_CURSOR =
Available since GLFW 3.3
0x00020009
- GLFW_TRANSPARENT_FRAMEBUFFER =
Available since GLFW 3.3
0x0002000A
- GLFW_HOVERED =
Available since GLFW 3.3
0x0002000B
- GLFW_RED_BITS =
0x00021001
- GLFW_GREEN_BITS =
0x00021002
- GLFW_BLUE_BITS =
0x00021003
- GLFW_ALPHA_BITS =
0x00021004
- GLFW_DEPTH_BITS =
0x00021005
- GLFW_STENCIL_BITS =
0x00021006
- GLFW_ACCUM_RED_BITS =
0x00021007
- GLFW_ACCUM_GREEN_BITS =
0x00021008
- GLFW_ACCUM_BLUE_BITS =
0x00021009
- GLFW_ACCUM_ALPHA_BITS =
0x0002100A
- GLFW_AUX_BUFFERS =
0x0002100B
- GLFW_STEREO =
0x0002100C
- GLFW_SAMPLES =
0x0002100D
- GLFW_SRGB_CAPABLE =
0x0002100E
- GLFW_REFRESH_RATE =
0x0002100F
- GLFW_DOUBLEBUFFER =
0x00021010
- GLFW_CLIENT_API =
0x00022001
- GLFW_CONTEXT_VERSION_MAJOR =
0x00022002
- GLFW_CONTEXT_VERSION_MINOR =
0x00022003
- GLFW_CONTEXT_REVISION =
0x00022004
- GLFW_CONTEXT_ROBUSTNESS =
0x00022005
- GLFW_OPENGL_FORWARD_COMPAT =
0x00022006
- GLFW_OPENGL_DEBUG_CONTEXT =
0x00022007
- GLFW_OPENGL_PROFILE =
0x00022008
- GLFW_CONTEXT_RELEASE_BEHAVIOR =
0x00022009
- GLFW_CONTEXT_NO_ERROR =
0x0002200A
- GLFW_CONTEXT_CREATION_API =
Available since GLFW 3.2
0x0002200B
- GLFW_COCOA_RETINA_FRAMEBUFFER =
Available since GLFW 3.3
0x00023001
- GLFW_COCOA_FRAME_NAME =
Available since GLFW 3.3
0x00023002
- GLFW_COCOA_GRAPHICS_SWITCHING =
Available since GLFW 3.3
0x00023003
- GLFW_X11_CLASS_NAME =
Available since GLFW 3.3
0x00024001
- GLFW_X11_INSTANCE_NAME =
Available since GLFW 3.3
0x00024002
- GLFW_NO_API =
Available since GLFW 3.2
0
- GLFW_OPENGL_API =
0x00030001
- GLFW_OPENGL_ES_API =
0x00030002
- GLFW_NO_ROBUSTNESS =
0
- GLFW_NO_RESET_NOTIFICATION =
0x00031001
- GLFW_LOSE_CONTEXT_ON_RESET =
0x00031002
- GLFW_OPENGL_ANY_PROFILE =
0
- GLFW_OPENGL_CORE_PROFILE =
0x00032001
- GLFW_OPENGL_COMPAT_PROFILE =
0x00032002
- GLFW_CURSOR =
0x00033001
- GLFW_STICKY_KEYS =
0x00033002
- GLFW_STICKY_MOUSE_BUTTONS =
0x00033003
- GLFW_LOCK_KEY_MODS =
Available since GLFW 3.3
0x00033004
- GLFW_CURSOR_NORMAL =
0x00034001
- GLFW_CURSOR_HIDDEN =
0x00034002
- GLFW_CURSOR_DISABLED =
0x00034003
- GLFW_ANY_RELEASE_BEHAVIOR =
0
- GLFW_RELEASE_BEHAVIOR_FLUSH =
0x00035001
- GLFW_RELEASE_BEHAVIOR_NONE =
0x00035002
- GLFW_NATIVE_CONTEXT_API =
Available since GLFW 3.2
0x00036001
- GLFW_EGL_CONTEXT_API =
Available since GLFW 3.2
0x00036002
- GLFW_OSMESA_CONTEXT_API =
Available since GLFW 3.3
0x00036003
- GLFW_ARROW_CURSOR =
0x00036001
- GLFW_IBEAM_CURSOR =
0x00036002
- GLFW_CROSSHAIR_CURSOR =
0x00036003
- GLFW_HAND_CURSOR =
0x00036004
- GLFW_HRESIZE_CURSOR =
0x00036005
- GLFW_VRESIZE_CURSOR =
0x00036006
- GLFW_CONNECTED =
0x00040001
- GLFW_DISCONNECTED =
0x00040002
- GLFW_JOYSTICK_HAT_BUTTONS =
Available since GLFW 3.3
0x00050001
- GLFW_COCOA_CHDIR_RESOURCES =
Available since GLFW 3.3
0x00051001
- GLFW_COCOA_MENUBAR =
Available since GLFW 3.3
0x00051002
- GLFW_DONT_CARE =
-1
- GLFWerrorfun_cb_args =
[Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP]
- GLFWerrorfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowposfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWwindowposfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowsizefun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWwindowsizefun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowclosefun_cb_args =
[Fiddle::TYPE_VOIDP]
- GLFWwindowclosefun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowrefreshfun_cb_args =
[Fiddle::TYPE_VOIDP]
- GLFWwindowrefreshfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowfocusfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT]
- GLFWwindowfocusfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWwindowiconifyfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT]
- GLFWwindowiconifyfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWframebuffersizefun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWframebuffersizefun_cb_retval =
Fiddle::TYPE_VOID
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT]
Fiddle::TYPE_VOID
- GLFWcursorposfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_DOUBLE, Fiddle::TYPE_DOUBLE]
- GLFWcursorposfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWcursorenterfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT]
- GLFWcursorenterfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWscrollfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_DOUBLE, Fiddle::TYPE_DOUBLE]
- GLFWscrollfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWkeyfun_cb_args =
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWkeyfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWcharfun_cb_args =
[Fiddle::TYPE_VOIDP, -Fiddle::TYPE_INT]
- GLFWcharfun_cb_retval =
Fiddle::TYPE_VOID
- GLFWcharmodsfun_cb_args =
Available since GLFW 3.1
[Fiddle::TYPE_VOIDP, -Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWcharmodsfun_cb_retval =
Available since GLFW 3.1
Fiddle::TYPE_VOID
- GLFWdropfun_cb_args =
Available since GLFW 3.1
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP]
- GLFWdropfun_cb_retval =
Available since GLFW 3.1
Fiddle::TYPE_VOID
- GLFWmonitorfun_cb_args =
Available since GLFW 3.0
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT]
- GLFWmonitorfun_cb_retval =
Available since GLFW 3.0
Fiddle::TYPE_VOID
- GLFWjoystickfun_cb_args =
Available since GLFW 3.2
[Fiddle::TYPE_INT, Fiddle::TYPE_INT]
- GLFWjoystickfun_cb_retval =
Available since GLFW 3.2
Fiddle::TYPE_VOID
- GLFWvidmode =
struct
struct(["int width", "int height", "int redBits", "int greenBits", "int blueBits", "int refreshRate"])
- GLFWgammaramp =
struct(["unsigned short* red", "unsigned short* green", "unsigned short* blue", "unsigned int size"])
- GLFWimage =
Available since GLFW 3.1
struct(["int width", "int height", "unsigned char* pixels"])
- GLFWgamepadstate =
Available since GLFW 3.3
struct(["unsigned char buttons[15]", "float axes[6]"])
- @@glfw_cb_function_signature =
typedefs
{ :GLFWerrorfun => "void GLFWerrorfun(int,const char*)", :GLFWwindowposfun => "void GLFWwindowposfun(void*,int,int)", :GLFWwindowsizefun => "void GLFWwindowsizefun(void*,int,int)", :GLFWwindowclosefun => "void GLFWwindowclosefun(void*)", :GLFWwindowrefreshfun => "void GLFWwindowrefreshfun(void*)", :GLFWwindowfocusfun => "void GLFWwindowfocusfun(void*,int)", :GLFWwindowiconifyfun => "void GLFWwindowiconifyfun(void*,int)", :GLFWwindowmaximizefun => "void GLFWwindowmaximizefun(void*,int)", :GLFWframebuffersizefun => "void GLFWframebuffersizefun(void*,int,int)", :GLFWwindowcontentscalefun => "void GLFWwindowcontentscalefun(void*,float,float)", # Available since GLFW 3.3 :GLFWmousebuttonfun => "void GLFWmousebuttonfun(void*,int,int,int)", :GLFWcursorposfun => "void GLFWcursorposfun(void*,double,double)", :GLFWcursorenterfun => "void GLFWcursorenterfun(void*,int)", :GLFWscrollfun => "void GLFWscrollfun(void*,double,double)", :GLFWkeyfun => "void GLFWkeyfun(void*,int,int,int,int)", :GLFWcharfun => "void GLFWcharfun(void*,unsigned int)", :GLFWcharmodsfun => "void GLFWcharmodsfun(void*,unsigned int,int)", # Available since GLFW 3.1 / Scheduled for removal in version 4.0. :GLFWdropfun => "void GLFWdropfun(void*,int,const char**)", # Available since GLFW 3.1 :GLFWmonitorfun => "void GLFWmonitorfun(void*,int)", # Available since GLFW 3.0 :GLFWjoystickfun => "void GGLFWjoystickfun(int,int)", # Available since GLFW 3.2 }
- @@glfw_cb_closure_signature =
{ :GLFWerrorfun => [GLFWerrorfun_cb_retval, GLFWerrorfun_cb_args], :GLFWwindowposfun => [GLFWwindowposfun_cb_retval, GLFWwindowposfun_cb_args], :GLFWwindowsizefun => [GLFWwindowsizefun_cb_retval, GLFWwindowsizefun_cb_args], :GLFWwindowclosefun => [GLFWwindowclosefun_cb_retval, GLFWwindowclosefun_cb_args], :GLFWwindowrefreshfun => [GLFWwindowrefreshfun_cb_retval, GLFWwindowrefreshfun_cb_args], :GLFWwindowfocusfun => [GLFWwindowfocusfun_cb_retval, GLFWwindowfocusfun_cb_args], :GLFWwindowiconifyfun => [GLFWwindowiconifyfun_cb_retval, GLFWwindowiconifyfun_cb_args], :GLFWframebuffersizefun => [GLFWframebuffersizefun_cb_retval, GLFWframebuffersizefun_cb_args], :GLFWmousebuttonfun => [GLFWmousebuttonfun_cb_retval, GLFWmousebuttonfun_cb_args], :GLFWcursorposfun => [GLFWcursorposfun_cb_retval, GLFWcursorposfun_cb_args], :GLFWcursorenterfun => [GLFWcursorenterfun_cb_retval, GLFWcursorenterfun_cb_args], :GLFWscrollfun => [GLFWscrollfun_cb_retval, GLFWscrollfun_cb_args], :GLFWkeyfun => [GLFWkeyfun_cb_retval, GLFWkeyfun_cb_args], :GLFWcharfun => [GLFWcharfun_cb_retval, GLFWcharfun_cb_args], :GLFWcharmodsfun => [GLFWcharmodsfun_cb_retval, GLFWcharmodsfun_cb_args], # Available since GLFW 3.1 :GLFWdropfun => [GLFWdropfun_cb_retval, GLFWdropfun_cb_args], # Available since GLFW 3.1 :GLFWmonitorfun => [GLFWmonitorfun_cb_retval, GLFWmonitorfun_cb_args], :GLFWjoystickfun => [GLFWjoystickfun_cb_retval, GLFWjoystickfun_cb_args], # Available since GLFW 3.2 }
- @@glfw_import_done =
false
- @@lib_signature =
[ 'int glfwInit()', 'void glfwTerminate()', 'void glfwInitHint(int, int)', # Available since GLFW 3.3 'void glfwGetVersion(int*, int*, int*)', 'const char* glfwGetVersionString()', 'int glfwGetError(const char**)', # Available since GLFW 3.3 'void* glfwSetErrorCallback(void*)', 'void** glfwGetMonitors(int*)', 'void* glfwGetPrimaryMonitor()', 'void glfwGetMonitorPos(void*, int*, int*)', 'void glfwGetMonitorPhysicalSize(void*, int*, int*)', 'void glfwGetMonitorContentScale(void*, float*, float*)', # Available since GLFW 3.3 'const char* glfwGetMonitorName(void*)', 'const void glfwSetMonitorUserPointer(void*, void*)', # Available since GLFW 3.3 'const void* glfwGetMonitorUserPointer(void**)', # Available since GLFW 3.3 'void* glfwSetMonitorCallback(void*)', # Available since GLFW 3.0 'const void* glfwGetVideoModes(void*, int*)', 'const void* glfwGetVideoMode(void*)', # Available since GLFW 3.0 'void glfwSetGamma(void*, float)', # Available since GLFW 3.0 'const void* glfwGetGammaRamp(void*)', # Available since GLFW 3.0 'void glfwSetGammaRamp(void*, const void*)', # Available since GLFW 3.0 'void glfwDefaultWindowHints()', # Available since GLFW 3.0 'void glfwWindowHint(int, int)', # Available since GLFW 3.0 'void glfwWindowHintString(int, const char*)', # Available since GLFW 3.3 'void* glfwCreateWindow(int, int, const char*, void*, void*)', # Available since GLFW 3.0 'void glfwDestroyWindow(void*)', # Available since GLFW 3.0 'int glfwWindowShouldClose(void*)', # Available since GLFW 3.0 'void glfwSetWindowShouldClose(void* window, int)', # Available since GLFW 3.0 'void glfwSetWindowTitle(void*, const char*)', 'void glfwSetWindowIcon(void*, int, void*)', # Available since GLFW 3.2 'void glfwGetWindowPos(void*, int*, int*)', # Available since GLFW 3.0 'void glfwSetWindowPos(void*, int, int)', 'void glfwGetWindowSize(void*, int*, int*)', 'void glfwSetWindowSizeLimits(void*, int, int, int, int)', # Available since GLFW 3.2 'void glfwSetWindowAspectRatio(void*, int, int)', # Available since GLFW 3.2 'void glfwSetWindowSize(void*, int, int)', 'void glfwGetFramebufferSize(void*, int*, int*)', # Available since GLFW 3.0 'void glfwGetWindowFrameSize(void*, int*, int*, int*, int*)', # Available since GLFW 3.1 'void glfwGetWindowContentScale(void*, float*, float*)', # Available since GLFW 3.3 'float glfwGetWindowOpacity(void*)', # Available since GLFW 3.3 'void glfwSetWindowOpacity(void*, float)', # Available since GLFW 3.3 'void glfwIconifyWindow(void*)', 'void glfwRestoreWindow(void*)', 'void glfwMaximizeWindow(void*)', # Available since GLFW 3.2 'void glfwShowWindow(void*)', # Available since GLFW 3.0 'void glfwHideWindow(void*)', # Available since GLFW 3.0 'void glfwFocusWindow(void*)', # Available since GLFW 3.2 'void glfwRequestWindowAttention(void*)', # Available since GLFW 3.3 'void* glfwGetWindowMonitor(void*)', # Available since GLFW 3.0 'void glfwSetWindowMonitor(void*, void*, int, int, int, int, int)', # Available since GLFW 3.2 'int glfwGetWindowAttrib(void*, int)', # Available since GLFW 3.0 'void glfwSetWindowAttrib(void*, int, int)', # Available since GLFW 3.3 'void glfwSetWindowUserPointer(void*, void*)', # Available since GLFW 3.0 'void* glfwGetWindowUserPointer(void*)', # Available since GLFW 3.0 'void* glfwSetWindowPosCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetWindowSizeCallback(void*, void*)', 'void* glfwSetWindowCloseCallback(void*, void*)', 'void* glfwSetWindowRefreshCallback(void*, void*)', 'void* glfwSetWindowFocusCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetWindowIconifyCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetWindowMaximizeCallback(void*, void*)', # Available since GLFW 3.3 'void* glfwSetFramebufferSizeCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetWindowContentScaleCallback(void*, void*)', # Available since GLFW 3.3 'void glfwPollEvents()', 'void glfwWaitEvents()', 'void glfwWaitEventsTimeout(double)', # Available since GLFW 3.2 'void glfwPostEmptyEvent()', # Available since GLFW 3.1 'int glfwGetInputMode(void*, int)', # Available since GLFW 3.0 'void glfwSetInputMode(void*, int, int)', # Available since GLFW 3.0 'const char* glfwGetKeyName(int, int)', # Available since GLFW 3.2 'int glfwGetKeyScancode(int)', # Available since GLFW 3.3 'int glfwGetKey(void*, int)', 'int glfwGetMouseButton(void*, int)', 'void glfwGetCursorPos(void*, double*, double*)', # Available since GLFW 3.0 'void glfwSetCursorPos(void*, double, double)', # Available since GLFW 3.0 'void* glfwCreateCursor(void*, int, int)', # Available since GLFW 3.1 'void* glfwCreateStandardCursor(int)', # Available since GLFW 3.1 'void glfwDestroyCursor(void*)', # Available since GLFW 3.1 'void glfwSetCursor(void*, void*)', # Available since GLFW 3.1 'void* glfwSetKeyCallback(void*, void*)', 'void* glfwSetCharCallback(void*, void*)', 'void* glfwSetCharModsCallback(void*, void*)', # Available since GLFW 3.1 / Scheduled for removal in version 4.0. 'void* glfwSetMouseButtonCallback(void*, void*)', 'void* glfwSetCursorPosCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetCursorEnterCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetScrollCallback(void*, void*)', # Available since GLFW 3.0 'void* glfwSetDropCallback(void*, void*)', # Available since GLFW 3.1 'int glfwJoystickPresent(int)', # Available since GLFW 3.0 'const float* glfwGetJoystickAxes(int, int*)', # Available since GLFW 3.0 'const unsigned char* glfwGetJoystickButtons(int, int*)', 'const unsigned char* glfwGetJoystickHats(int, int*)', # Available since GLFW 3.3 'const char* glfwGetJoystickName(int)', # Available since GLFW 3.0 'const char* glfwGetJoystickGUID(int)', # Available since GLFW 3.3 'void glfwSetJoystickUserPointer(int, void*)', # Available since GLFW 3.3 'void* glfwGetJoystickUserPointer(int)', # Available since GLFW 3.3 'int glfwJoystickIsGamepad(int)', # Available since GLFW 3.3 'void* glfwSetJoystickCallback(void*)', # Available since GLFW 3.2 'int glfwUpdateGamepadMappings(const char*)', # Available since GLFW 3.3 'const char* glfwGetGamepadName(int)', # Available since GLFW 3.3 'int glfwGetGamepadState(int, void*)', # Available since GLFW 3.3 'void glfwSetClipboardString(void*, const char*)', # Available since GLFW 3.0 'const char* glfwGetClipboardString(void*)', # Available since GLFW 3.0 'double glfwGetTime()', 'void glfwSetTime(double)', 'GLFWuint64 glfwGetTimerValue()', # Available since GLFW 3.2 'GLFWuint64 glfwGetTimerFrequency()', # Available since GLFW 3.2 'void glfwMakeContextCurrent(void*)', # Available since GLFW 3.0 'void* glfwGetCurrentContext()', # Available since GLFW 3.0 'void glfwSwapBuffers(void*)', 'void glfwSwapInterval(int)', 'int glfwExtensionSupported(const char*)', 'void* glfwGetProcAddress(const char*)', # >>> Vulkan >>> 'int glfwVulkanSupported()', # Available since GLFW 3.2 'const char** glfwGetRequiredInstanceExtensions(unsigned int*)', # Available since GLFW 3.2 # 'GLFWvkproc glfwGetInstanceProcAddress(void*, const char*)', # 'int glfwGetPhysicalDevicePresentationSupport(void*, void*, unsigned int)', # 'VkResult glfwCreateWindowSurface(void*, void*, const void*, void*)', # <<< Vulkan <<< ]
Class Method Summary collapse
-
.create_callback(sym, proc = nil, &blk) ⇒ Object
NOTE : Use ‘create_callback_function’ for backward compatibility.
-
.create_callback_closure(sym, proc = nil, &blk) ⇒ Object
Creates a callback as an instance of Fiddle::Closure::BlockCaller.
-
.create_callback_function(sym, proc = nil, &blk) ⇒ Object
Creates a callback as an instance of Fiddle::Function.
- .extern(signature, *opts) ⇒ Object
- .import_symbols(output_error = false) ⇒ Object
- .load_dll(lib = nil, path = nil) ⇒ Object
-
.load_lib(lib = nil, path = nil, output_error = false) ⇒ Object
Load native library.
Class Method Details
.create_callback(sym, proc = nil, &blk) ⇒ Object
NOTE : Use ‘create_callback_function’ for backward compatibility.
457 458 459 |
# File 'lib/glfw.rb', line 457 def self.create_callback( sym, proc=nil, &blk ) return self.create_callback_closure( sym, proc, &blk ) end |
.create_callback_closure(sym, proc = nil, &blk) ⇒ Object
Creates a callback as an instance of Fiddle::Closure::BlockCaller
446 447 448 449 450 451 452 453 454 |
# File 'lib/glfw.rb', line 446 def self.create_callback_closure( sym, proc=nil, &blk ) cb_retval = @@glfw_cb_closure_signature[sym][0] cb_args = @@glfw_cb_closure_signature[sym][1] if block_given? return Fiddle::Closure::BlockCaller.new( cb_retval, cb_args, Fiddle::Function::DEFAULT, &blk ) else return Fiddle::Closure::BlockCaller.new( cb_retval, cb_args, Fiddle::Function::DEFAULT, &proc ) end end |
.create_callback_function(sym, proc = nil, &blk) ⇒ Object
Creates a callback as an instance of Fiddle::Function
379 380 381 382 383 384 385 |
# File 'lib/glfw.rb', line 379 def self.create_callback_function( sym, proc=nil, &blk ) if block_given? return bind( @@glfw_cb_function_signature[sym], nil, &blk ) else return bind( @@glfw_cb_function_signature[sym], nil, &proc ) end end |
.extern(signature, *opts) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/glfw.rb', line 15 def self.extern(signature, *opts) symname, ctype, argtype = parse_signature(signature, @type_alias) opt = (opts) f = import_function(symname, ctype, argtype, opt[:call_type]) name = symname.gsub(/@.+/,'') GLFW_FUNCTIONS_MAP[name] = f begin /^(.+?):(\d+)/ =~ caller.first file, line = $1, $2.to_i rescue file, line = __FILE__, __LINE__+3 end args_str="*args" module_eval(<<-EOS, file, line) def #{name}(*args, &block) GLFW_FUNCTIONS_MAP['#{name}'].call(*args,&block) end EOS module_function(name) f end |
.import_symbols(output_error = false) ⇒ Object
634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 |
# File 'lib/glfw.rb', line 634 def self.import_symbols(output_error = false) typealias 'GLFWuint64', 'unsigned long long' # Available since GLFW 3.2 # function @@lib_signature.each do |sig| begin extern sig rescue $stderr.puts("[Warning] Failed to import #{sig}.") if output_error end end ver_major = ' ' * 4 ver_minor = ' ' * 4 ver_rev = ' ' * 4 glfwGetVersion(ver_major, ver_minor, ver_rev) GLFW.const_set('GLFW_VERSION_MAJOR', ver_major.unpack('L')[0]) GLFW.const_set('GLFW_VERSION_MINOR', ver_minor.unpack('L')[0]) GLFW.const_set('GLFW_VERSION_REVISION', ver_rev.unpack('L')[0]) @@glfw_import_done = true end |
.load_dll(lib = nil, path = nil) ⇒ Object
506 507 508 509 |
# File 'lib/glfw.rb', line 506 def self.load_dll(lib = nil, path = nil) puts "Warning GLFW.load_dll is deprecated, use GLFW.load_lib instead" self.load_lib(lib, path) end |
.load_lib(lib = nil, path = nil, output_error = false) ⇒ Object
Load native library.
486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 |
# File 'lib/glfw.rb', line 486 def self.load_lib(lib = nil, path = nil, output_error = false) if lib == nil && path == nil case OpenGL.get_platform when :OPENGL_PLATFORM_WINDOWS lib, path = 'GLFW3.dll', Dir.pwd when :OPENGL_PLATFORM_MACOSX lib, path = 'libglfw.dylib', Dir.pwd else lib = 'libglfw.so' end end if path dlload (path + '/' + lib) else dlload (lib) end import_symbols(output_error) unless @@glfw_import_done end |