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_FOCUS_ON_SHOW =
Available since GLFW 3.3
0x0002000C- 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_SCALE_TO_MONITOR =
Available since GLFW 3.3
0x0002200C- 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_RAW_MOUSE_MOTION =
Available since GLFW 3.3
0x00033005- 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_WAYLAND_PREFER_LIBDECOR =
Available since GLFW 3.3.9
0x00038001- GLFW_WAYLAND_DISABLE_LIBDECOR =
Available since GLFW 3.3.9
0x00038002- 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_WAYLAND_LIBDECOR =
Available since GLFW 3.3.9
0x00053001- 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
- GLFWwindowcontentscalefun_cb_args =
Available since GLFW 3.3
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_FLOAT, Fiddle::TYPE_FLOAT]
- GLFWwindowcontentscalefun_cb_retval =
Available since GLFW 3.3
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], :GLFWwindowcontentscalefun => [GLFWwindowcontentscalefun_cb_retval, GLFWwindowcontentscalefun_cb_args], # Available since GLFW 3.3 :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 glfwGetMonitorWorkarea(void* monitor, int*, int*, int*, int*)', # Available since GLFW 3.3 'void glfwGetMonitorPhysicalSize(void*, int*, int*)', 'void glfwGetMonitorContentScale(void*, float*, float*)', # Available since GLFW 3.3 'const char* glfwGetMonitorName(void*)', '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 'int glfwRawMouseMotionSupported()', # Available since GLFW 3.3 '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.
468 469 470 |
# File 'lib/glfw.rb', line 468 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
457 458 459 460 461 462 463 464 465 |
# File 'lib/glfw.rb', line 457 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
387 388 389 390 391 392 393 |
# File 'lib/glfw.rb', line 387 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
667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 |
# File 'lib/glfw.rb', line 667 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
517 518 519 520 |
# File 'lib/glfw.rb', line 517 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.
497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 |
# File 'lib/glfw.rb', line 497 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.3' end end if path dlload (path + '/' + lib) else dlload (lib) end import_symbols(output_error) unless @@glfw_import_done end |