GLFW 3.2.1.
Dart bindings toSupports Linux and Windows. OSX is not supported due to inherent incompatibilites in the OSX UI threading model, as well as Apple announcing the discontinuing of support of OpenGL on OSX (https://goo.gl/qQdeQ5).
Steps to generate the bindings
mkdir -p lib/src/generated/
pub run tools/glfw_generator.dart --glfw3_path=<path to glfw3.h>
clang-format -i --style=Google generated/*.{cc,h}
dartfmt -w generated/*.dart
mv generated/* lib/src/generated
Steps to compile the bindings
The previous method for compiling the bindings is no longer available. We are working on a new solution for both Linux and Windows.
In the meantime, the Makefile in the lib/ directory is a good starting point for compiling on Linux.
Notes about the auto-generated bindings
glfwWindowShouldClose
returns anint
, rather than abool
, but unlike in C, the expression!(1)
returns true so you must explicitly testglfwWindowShouldClose(window) != 1
- There is also a convenience function
bool glfwWindowShouldCloseAsBool(GLFWwindow window)
- There is also a convenience function
The following functions have changed from the C GLFW API
These changes are due to the C library's use of pointer arguments to return values. See also lib/src/manual_bindings.dart.
- glfwGetVersion
- Returns a
GLFWVersion
instance which hasmajor
,minor
,rev
fields.
- Returns a
- glfwGetMonitors
- Returns a
List<GLFWmonitor>
instance.
- Returns a
- glfwGetMonitorPos
- Returns a
Point
instance.
- Returns a
- glfwGetMonitorPhysicalSize
- Returns a
Rectangle
instance withxpos
andypos
set to 0.
- Returns a
- glfwGetVideoModes
- Returns a
List<GLFWvidmode>
instance.
- Returns a
- glfwGetWindowPos
- Returns a
Point
instance.
- Returns a
- glfwGetWindowSize
- Returns a
Rectangle
instance withxpos
andypos
set to 0.
- Returns a
- glfwGetFramebufferSize
- Returns a
Rectangle
instance withxpos
andypos
set to 0.
- Returns a
- glfwGetWindowFrameSize
- Returns a
Rectangle
instance.
- Returns a
- glfwSetWindowUserPointer
pointer
parameter is a DartObject
.
- glfwGetWindowUserPointer
- Returns an
Object
instance.
- Returns an
- glfwGetCursorPos
- Returns a
Point
instance.
- Returns a
- glfwGetJoystickAxes
- Returns a
List<double>
instance.
- Returns a
- glfwGetJoystickButtons
- Returns a
List<int>
instance.
- Returns a
The following functions are additions to the C GLFW API
- glfwSwapBuffersAsync
- An async version of glfwSwapBuffers that can be
await
-ed. This avoids blocking the current isolate while the glfwSwapBuffers call is waiting to finish.
- An async version of glfwSwapBuffers that can be