require_relative 'glfw/version' require 'fiddle' require 'fiddle/import' module GLFW extend Fiddle::Importer dlload File.expand_path('./glfw3.dll') typealias 'window', 'void*' typealias 'monitor', 'void*' typealias 'string', 'const char*' typealias 'bool', 'int' extern 'bool glfwInit(void)' extern 'window glfwCreateWindow(int, int, string, monitor, window)' extern 'void glfwShowWindow(window)' extern 'bool glfwWindowShouldClose(window)' extern 'void glfwWaitEvents(window)' puts glfwInit != 0 window = self.glfwCreateWindow(640, 480, "HOWDY".encode('utf-8'), nil, nil) glfwShowWindow(window) while glfwWindowShouldClose(window) == 0 glfwWaitEvents(window) end p window # glfwCreateCursor # glfwCreateStandardCursor # glfwCreateWindowSurface # glfwDefaultWindowHints # glfwDestroyCursor # glfwDestroyWindow # glfwExtensionSupported # glfwFocusWindow # glfwGetClipboardString # glfwGetCurrentContext # glfwGetCursorPos # glfwGetEGLContext # glfwGetEGLDisplay # glfwGetEGLSurface # glfwGetFramebufferSize # glfwGetGammaRamp # glfwGetInputMode # glfwGetInstanceProcAddress # glfwGetJoystickAxes # glfwGetJoystickButtons # glfwGetJoystickName # glfwGetKey # glfwGetKeyName # glfwGetMonitorName # glfwGetMonitorPhysicalSize # glfwGetMonitorPos # glfwGetMonitors # glfwGetMouseButton # glfwGetPhysicalDevicePresentationSupport # glfwGetPrimaryMonitor # glfwGetProcAddress # glfwGetRequiredInstanceExtensions # glfwGetTime # glfwGetTimerFrequency # glfwGetTimerValue # glfwGetVersion # glfwGetVersionString # glfwGetVideoMode # glfwGetVideoModes # glfwGetWGLContext # glfwGetWin32Adapter # glfwGetWin32Monitor # glfwGetWin32Window # glfwGetWindowAttrib # glfwGetWindowFrameSize # glfwGetWindowMonitor # glfwGetWindowPos # glfwGetWindowSize # glfwGetWindowUserPointer # glfwHideWindow # glfwIconifyWindow # glfwJoystickPresent # glfwMakeContextCurrent # glfwMaximizeWindow # glfwPollEvents # glfwPostEmptyEvent # glfwRestoreWindow # glfwSetCharCallback # glfwSetCharModsCallback # glfwSetClipboardString # glfwSetCursor # glfwSetCursorEnterCallback # glfwSetCursorPos # glfwSetCursorPosCallback # glfwSetDropCallback # glfwSetErrorCallback # glfwSetFramebufferSizeCallback # glfwSetGamma # glfwSetGammaRamp # glfwSetInputMode # glfwSetJoystickCallback # glfwSetKeyCallback # glfwSetMonitorCallback # glfwSetMouseButtonCallback # glfwSetScrollCallback # glfwSetTime # glfwSetWindowAspectRatio # glfwSetWindowCloseCallback # glfwSetWindowFocusCallback # glfwSetWindowIcon # glfwSetWindowIconifyCallback # glfwSetWindowMonitor # glfwSetWindowPos # glfwSetWindowPosCallback # glfwSetWindowRefreshCallback # glfwSetWindowShouldClose # glfwSetWindowSize # glfwSetWindowSizeCallback # glfwSetWindowSizeLimits # glfwSetWindowTitle # glfwSetWindowUserPointer # glfwSwapBuffers # glfwSwapInterval # glfwTerminate # glfwVulkanSupported # glfwWaitEventsTimeout # glfwWindowHint end