module GLFW
Constants
- GLFW_ACCUM_ALPHA_BITS
- GLFW_ACCUM_BLUE_BITS
- GLFW_ACCUM_GREEN_BITS
- GLFW_ACCUM_RED_BITS
- GLFW_ALPHA_BITS
- GLFW_ANY_RELEASE_BEHAVIOR
- GLFW_API_UNAVAILABLE
- GLFW_ARROW_CURSOR
- GLFW_AUTO_ICONIFY
- GLFW_AUX_BUFFERS
- GLFW_BLUE_BITS
- GLFW_CENTER_CURSOR
- GLFW_CLIENT_API
- GLFW_COCOA_CHDIR_RESOURCES
- GLFW_COCOA_FRAME_NAME
- GLFW_COCOA_GRAPHICS_SWITCHING
- GLFW_COCOA_MENUBAR
- GLFW_COCOA_RETINA_FRAMEBUFFER
- GLFW_CONNECTED
- GLFW_CONTEXT_CREATION_API
- GLFW_CONTEXT_NO_ERROR
- GLFW_CONTEXT_RELEASE_BEHAVIOR
- GLFW_CONTEXT_REVISION
- GLFW_CONTEXT_ROBUSTNESS
- GLFW_CONTEXT_VERSION_MAJOR
- GLFW_CONTEXT_VERSION_MINOR
- GLFW_CROSSHAIR_CURSOR
- GLFW_CURSOR
- GLFW_CURSOR_DISABLED
- GLFW_CURSOR_HIDDEN
- GLFW_CURSOR_NORMAL
- GLFW_DECORATED
- GLFW_DEPTH_BITS
- GLFW_DISCONNECTED
- GLFW_DONT_CARE
- GLFW_DOUBLEBUFFER
- GLFW_EGL_CONTEXT_API
- GLFW_FALSE
- GLFW_FLOATING
- GLFW_FOCUSED
- GLFW_FOCUS_ON_SHOW
- GLFW_FORMAT_UNAVAILABLE
- GLFW_GAMEPAD_AXIS_LAST
- GLFW_GAMEPAD_AXIS_LEFT_TRIGGER
- GLFW_GAMEPAD_AXIS_LEFT_X
- GLFW_GAMEPAD_AXIS_LEFT_Y
- GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
- GLFW_GAMEPAD_AXIS_RIGHT_X
- GLFW_GAMEPAD_AXIS_RIGHT_Y
- GLFW_GAMEPAD_BUTTON_A
- GLFW_GAMEPAD_BUTTON_B
- GLFW_GAMEPAD_BUTTON_BACK
- GLFW_GAMEPAD_BUTTON_CIRCLE
- GLFW_GAMEPAD_BUTTON_CROSS
- GLFW_GAMEPAD_BUTTON_DPAD_DOWN
- GLFW_GAMEPAD_BUTTON_DPAD_LEFT
- GLFW_GAMEPAD_BUTTON_DPAD_RIGHT
- GLFW_GAMEPAD_BUTTON_DPAD_UP
- GLFW_GAMEPAD_BUTTON_GUIDE
- GLFW_GAMEPAD_BUTTON_LAST
- GLFW_GAMEPAD_BUTTON_LEFT_BUMPER
- GLFW_GAMEPAD_BUTTON_LEFT_THUMB
- GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER
- GLFW_GAMEPAD_BUTTON_RIGHT_THUMB
- GLFW_GAMEPAD_BUTTON_SQUARE
- GLFW_GAMEPAD_BUTTON_START
- GLFW_GAMEPAD_BUTTON_TRIANGLE
- GLFW_GAMEPAD_BUTTON_X
- GLFW_GAMEPAD_BUTTON_Y
- GLFW_GREEN_BITS
- GLFW_HAND_CURSOR
- GLFW_HAT_CENTERED
- GLFW_HAT_DOWN
- GLFW_HAT_LEFT
- GLFW_HAT_LEFT_DOWN
- GLFW_HAT_LEFT_UP
- GLFW_HAT_RIGHT
- GLFW_HAT_RIGHT_DOWN
- GLFW_HAT_RIGHT_UP
- GLFW_HAT_UP
- GLFW_HOVERED
- GLFW_HRESIZE_CURSOR
- GLFW_IBEAM_CURSOR
- GLFW_ICONIFIED
- GLFW_INVALID_ENUM
- GLFW_INVALID_VALUE
- GLFW_JOYSTICK_1
- GLFW_JOYSTICK_10
- GLFW_JOYSTICK_11
- GLFW_JOYSTICK_12
- GLFW_JOYSTICK_13
- GLFW_JOYSTICK_14
- GLFW_JOYSTICK_15
- GLFW_JOYSTICK_16
- GLFW_JOYSTICK_2
- GLFW_JOYSTICK_3
- GLFW_JOYSTICK_4
- GLFW_JOYSTICK_5
- GLFW_JOYSTICK_6
- GLFW_JOYSTICK_7
- GLFW_JOYSTICK_8
- GLFW_JOYSTICK_9
- GLFW_JOYSTICK_HAT_BUTTONS
- GLFW_JOYSTICK_LAST
- GLFW_KEY_0
- GLFW_KEY_1
- GLFW_KEY_2
- GLFW_KEY_3
- GLFW_KEY_4
- GLFW_KEY_5
- GLFW_KEY_6
- GLFW_KEY_7
- GLFW_KEY_8
- GLFW_KEY_9
- GLFW_KEY_A
- GLFW_KEY_APOSTROPHE
- GLFW_KEY_B
- GLFW_KEY_BACKSLASH
- GLFW_KEY_BACKSPACE
- GLFW_KEY_C
- GLFW_KEY_CAPS_LOCK
- GLFW_KEY_COMMA
- GLFW_KEY_D
- GLFW_KEY_DELETE
- GLFW_KEY_DOWN
- GLFW_KEY_E
- GLFW_KEY_END
- GLFW_KEY_ENTER
- GLFW_KEY_EQUAL
- GLFW_KEY_ESCAPE
- GLFW_KEY_F
- GLFW_KEY_F1
- GLFW_KEY_F10
- GLFW_KEY_F11
- GLFW_KEY_F12
- GLFW_KEY_F13
- GLFW_KEY_F14
- GLFW_KEY_F15
- GLFW_KEY_F16
- GLFW_KEY_F17
- GLFW_KEY_F18
- GLFW_KEY_F19
- GLFW_KEY_F2
- GLFW_KEY_F20
- GLFW_KEY_F21
- GLFW_KEY_F22
- GLFW_KEY_F23
- GLFW_KEY_F24
- GLFW_KEY_F25
- GLFW_KEY_F3
- GLFW_KEY_F4
- GLFW_KEY_F5
- GLFW_KEY_F6
- GLFW_KEY_F7
- GLFW_KEY_F8
- GLFW_KEY_F9
- GLFW_KEY_G
- GLFW_KEY_GRAVE_ACCENT
- GLFW_KEY_H
- GLFW_KEY_HOME
- GLFW_KEY_I
- GLFW_KEY_INSERT
- GLFW_KEY_J
- GLFW_KEY_K
- GLFW_KEY_KP_0
- GLFW_KEY_KP_1
- GLFW_KEY_KP_2
- GLFW_KEY_KP_3
- GLFW_KEY_KP_4
- GLFW_KEY_KP_5
- GLFW_KEY_KP_6
- GLFW_KEY_KP_7
- GLFW_KEY_KP_8
- GLFW_KEY_KP_9
- GLFW_KEY_KP_ADD
- GLFW_KEY_KP_DECIMAL
- GLFW_KEY_KP_DIVIDE
- GLFW_KEY_KP_ENTER
- GLFW_KEY_KP_EQUAL
- GLFW_KEY_KP_MULTIPLY
- GLFW_KEY_KP_SUBTRACT
- GLFW_KEY_L
- GLFW_KEY_LAST
- GLFW_KEY_LEFT
- GLFW_KEY_LEFT_ALT
- GLFW_KEY_LEFT_BRACKET
- GLFW_KEY_LEFT_CONTROL
- GLFW_KEY_LEFT_SHIFT
- GLFW_KEY_LEFT_SUPER
- GLFW_KEY_M
- GLFW_KEY_MENU
- GLFW_KEY_MINUS
- GLFW_KEY_N
- GLFW_KEY_NUM_LOCK
- GLFW_KEY_O
- GLFW_KEY_P
- GLFW_KEY_PAGE_DOWN
- GLFW_KEY_PAGE_UP
- GLFW_KEY_PAUSE
- GLFW_KEY_PERIOD
- GLFW_KEY_PRINT_SCREEN
- GLFW_KEY_Q
- GLFW_KEY_R
- GLFW_KEY_RIGHT
- GLFW_KEY_RIGHT_ALT
- GLFW_KEY_RIGHT_BRACKET
- GLFW_KEY_RIGHT_CONTROL
- GLFW_KEY_RIGHT_SHIFT
- GLFW_KEY_RIGHT_SUPER
- GLFW_KEY_S
- GLFW_KEY_SCROLL_LOCK
- GLFW_KEY_SEMICOLON
- GLFW_KEY_SLASH
- GLFW_KEY_SPACE
- GLFW_KEY_T
- GLFW_KEY_TAB
- GLFW_KEY_U
- GLFW_KEY_UNKNOWN
- GLFW_KEY_UP
- GLFW_KEY_V
- GLFW_KEY_W
- GLFW_KEY_WORLD_1
- GLFW_KEY_WORLD_2
- GLFW_KEY_X
- GLFW_KEY_Y
- GLFW_KEY_Z
- GLFW_LOCK_KEY_MODS
- GLFW_LOSE_CONTEXT_ON_RESET
- GLFW_MAXIMIZED
- GLFW_MOD_ALT
- GLFW_MOD_CAPS_LOCK
- GLFW_MOD_CONTROL
- GLFW_MOD_NUM_LOCK
- GLFW_MOD_SHIFT
- GLFW_MOD_SUPER
- GLFW_MOUSE_BUTTON_1
- GLFW_MOUSE_BUTTON_2
- GLFW_MOUSE_BUTTON_3
- GLFW_MOUSE_BUTTON_4
- GLFW_MOUSE_BUTTON_5
- GLFW_MOUSE_BUTTON_6
- GLFW_MOUSE_BUTTON_7
- GLFW_MOUSE_BUTTON_8
- GLFW_MOUSE_BUTTON_LAST
- GLFW_MOUSE_BUTTON_LEFT
- GLFW_MOUSE_BUTTON_MIDDLE
- GLFW_MOUSE_BUTTON_RIGHT
- GLFW_NATIVE_CONTEXT_API
- GLFW_NOT_INITIALIZED
- GLFW_NO_API
- GLFW_NO_CURRENT_CONTEXT
- GLFW_NO_ERROR
- GLFW_NO_RESET_NOTIFICATION
- GLFW_NO_ROBUSTNESS
- GLFW_NO_WINDOW_CONTEXT
- GLFW_OPENGL_ANY_PROFILE
- GLFW_OPENGL_API
- GLFW_OPENGL_COMPAT_PROFILE
- GLFW_OPENGL_CORE_PROFILE
- GLFW_OPENGL_DEBUG_CONTEXT
- GLFW_OPENGL_ES_API
- GLFW_OPENGL_FORWARD_COMPAT
- GLFW_OPENGL_PROFILE
- GLFW_OSMESA_CONTEXT_API
- GLFW_OUT_OF_MEMORY
- GLFW_PLATFORM_ERROR
- GLFW_PRESS
- GLFW_RAW_MOUSE_MOTION
- GLFW_RED_BITS
- GLFW_REFRESH_RATE
- GLFW_RELEASE
- GLFW_RELEASE_BEHAVIOR_FLUSH
- GLFW_RELEASE_BEHAVIOR_NONE
- GLFW_REPEAT
- GLFW_RESIZABLE
- GLFW_SAMPLES
- GLFW_SCALE_TO_MONITOR
- GLFW_SRGB_CAPABLE
- GLFW_STENCIL_BITS
- GLFW_STEREO
- GLFW_STICKY_KEYS
- GLFW_STICKY_MOUSE_BUTTONS
- GLFW_TRANSPARENT_FRAMEBUFFER
- GLFW_TRUE
defines
- GLFW_VERSION_UNAVAILABLE
- GLFW_VISIBLE
- GLFW_VRESIZE_CURSOR
- GLFW_X11_CLASS_NAME
- GLFW_X11_INSTANCE_NAME
- GLFWcharfun_cb_args
- GLFWcharfun_cb_retval
- GLFWcharmodsfun_cb_args
- GLFWcharmodsfun_cb_retval
- GLFWcursorenterfun_cb_args
- GLFWcursorenterfun_cb_retval
- GLFWcursorposfun_cb_args
- GLFWcursorposfun_cb_retval
- GLFWdropfun_cb_args
- GLFWdropfun_cb_retval
- GLFWerrorfun_cb_args
- GLFWerrorfun_cb_retval
- GLFWframebuffersizefun_cb_args
- GLFWframebuffersizefun_cb_retval
- GLFWgamepadstate
Available since
GLFW
3.3- GLFWgammaramp
- GLFWimage
Available since
GLFW
3.1- GLFWjoystickfun_cb_args
- GLFWjoystickfun_cb_retval
- GLFWkeyfun_cb_args
- GLFWkeyfun_cb_retval
- GLFWmonitorfun_cb_args
- GLFWmonitorfun_cb_retval
- GLFWscrollfun_cb_args
- GLFWscrollfun_cb_retval
- GLFWvidmode
struct
- GLFWwindowclosefun_cb_args
- GLFWwindowclosefun_cb_retval
- GLFWwindowcontentscalefun_cb_args
- GLFWwindowcontentscalefun_cb_retval
- GLFWwindowfocusfun_cb_args
- GLFWwindowfocusfun_cb_retval
- GLFWwindowiconifyfun_cb_args
- GLFWwindowiconifyfun_cb_retval
- GLFWwindowposfun_cb_args
- GLFWwindowposfun_cb_retval
- GLFWwindowrefreshfun_cb_args
- GLFWwindowrefreshfun_cb_retval
- GLFWwindowsizefun_cb_args
- GLFWwindowsizefun_cb_retval
Public Class Methods
create_callback(sym, proc=nil, &blk)
click to toggle source
NOTE : Use ‘create_callback_function’ for backward compatibility.
# File lib/glfw.rb, line 434 def self.create_callback(sym, proc=nil, &blk) return self.create_callback_closure( sym, proc, &blk ) end
create_callback_closure(sym, proc=nil, &blk)
click to toggle source
Creates a callback as an instance of Fiddle::Closure::BlockCaller
# File lib/glfw.rb, line 423 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)
click to toggle source
Creates a callback as an instance of Fiddle::Function
# File lib/glfw.rb, line 353 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
import_symbols(output_error = false)
click to toggle source
# File lib/glfw.rb, line 625 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]) # Convert method names (e.g.: GLFW.glfwInit -> GLFW.Init) self.singleton_methods(false).each do |method_name| m = singleton_method(method_name) if m.name.to_s.start_with? 'glfw' modified_api = m.name.to_s[4..-1] # omit prefix "glfw" define_singleton_method(modified_api, m) # define alias end end # Convert constant names (e.g.: GLFW::GLFW_KEY_ESCAPE -> GLFW::KEY_ESCAPE) self.constants.each do |constant| cs = constant.to_s if cs[0..4] == "GLFW_" if cs[5] =~ /\d/ # We have to abandon name conversion like 'GL_2D, GL_3D_COLOR, GL_4_BYTES, etc. # Because constants can't start with a digit or underscore. # [Note] This rule has been inherited from Yoshi's very original ruby-opengl (confirmed with opengl-0.32g, 2004-07-17). else # Convert by omitting the 'GLFW_' prefix like GLFW::GLFW_KEY_ESCAPE into GLFW::KEY_ESCAPE const_set(cs[5..-1], GLFW.const_get(constant)) end end end @@glfw_import_done = true end
load_lib(lib_path = nil, output_error = false)
click to toggle source
Load native library.
# File lib/glfw.rb, line 463 def self.load_lib(lib_path = nil, output_error = false) if lib_path == nil lib_path = case GL.get_platform when :OPENGL_PLATFORM_WINDOWS Dir.pwd + '/GLFW3.dll' when :OPENGL_PLATFORM_MACOSX 'libglfw.dylib' else 'libglfw.so' # not tested end end dlload(lib_path) import_symbols(output_error) unless @@glfw_import_done end