Created
August 26, 2019 20:38
-
-
Save porky11/44cde10c997ce19a73edbf0091d5812f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import .glfw | |
fn start-glfw () | |
if ((glfw.init) == 0) | |
return; | |
defer glfw.terminate | |
let window = | |
glfw.createWindow 640 480 "Hello World" null null | |
if (window == null) | |
return; | |
while ((glfw.windowShouldClose window) == 0) | |
glfw.swapBuffers window | |
glfw.pollEvents; | |
run-stage; | |
compile-object | |
"wasm32-unknown-unknown-wasm" | |
compiler-file-kind-object | |
module-dir .. "/glfw.wasm" | |
do | |
let _start = | |
static-typify start-glfw | |
locals; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using import enum | |
using import utils.modify-bindings | |
using import utils.utils | |
load-library "/usr/lib/libglfw.so.3" | |
include (import glfw) | |
""""#include <GLFW/glfw3.h> | |
#define GLFW_EXPOSE_NATIVE_X11 | |
#define GLFW_EXPOSE_NATIVE_WAYLAND | |
#include <GLFW/glfw3native.h> | |
define glfw | |
copy-bindings glfw | |
prefix-remover "glfw" | |
Scope; | |
run-stage; | |
glfw .. | |
do | |
unlet Error | |
enum Error plain | |
Init | |
Window | |
inline setErrorCallback (window callback) | |
glfw.setErrorCallback window | |
static-typify callback i32 rawstring | |
inline setMonitorCallback (window callback) | |
glfw.setMonitorCallback window | |
static-typify callback | |
mutable pointer glfw.monitor i32 | |
inline setWindowPosCallback (window callback) | |
glfw.setWindowPosCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 | |
inline setWindowSizeCallback (window callback) | |
glfw.setWindowSizeCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 | |
inline setWindowCloseCallback (window callback) | |
glfw.setWindowCloseCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
inline setWindowRefreshCallback (window callback) | |
glfw.setWindowRefreshCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
inline setWindowFocusCallback (window callback) | |
glfw.setWindowFocusCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 | |
inline setWindowIconifyCallback (window callback) | |
glfw.setWindowIconifyCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 | |
inline setWindowSetFramebufferSizeCallback (window callback) | |
glfw.setWindowSetFramebufferSizeCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 | |
inline setKeyCallback (window callback) | |
glfw.setKeyCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 i32 i32 | |
inline setCharCallback (window callback) | |
glfw.setCharCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ u32 | |
inline setCharModsCallback (window callback) | |
glfw.setCharModsCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ u32 i32 | |
inline setMouseButtonCallback (window callback) | |
glfw.setMouseButtonCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 i32 | |
inline setCurserPosCallback (window callback) | |
glfw.setCursorPosCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ f64 f64 | |
inline setCurserEnterCallback (window callback) | |
glfw.setCursorPosCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 | |
inline setDropCallback (window callback) | |
glfw.setDropCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 | |
mutable pointer rawstring | |
inline setScrollCallback (window callback) | |
glfw.setScrollCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ f64 f64 | |
inline setJoystickCallback (window callback) | |
glfw.setJoystickCallback window | |
static-typify callback | |
mutable pointer glfw.window | |
\ i32 i32 | |
locals; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment