progress in handling variable window width/height (mostly only in imperative shell though)
This commit is contained in:
@@ -158,6 +158,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
MLLIB_PUBLIC(void mltonKeyCallback (Int32 x0, Int32 x1, Int32 x2, Int32 x3);)
|
||||
MLLIB_PUBLIC(void mltonFramebufferSizeCallback (Real32 x0, Real32 x1);)
|
||||
|
||||
#undef MLLIB_PRIVATE
|
||||
#undef MLLIB_PUBLIC
|
||||
|
||||
@@ -18,3 +18,13 @@ void keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods
|
||||
void setKeyCallback(GLFWwindow* window) {
|
||||
glfwSetKeyCallback(window, keyCallback);
|
||||
}
|
||||
|
||||
void framebufferSizeCallback(GLFWwindow* window, int width, int height) {
|
||||
glViewport(0, 0, width, height);
|
||||
mltonFramebufferSizeCallback((float) width, (float) height);
|
||||
}
|
||||
|
||||
void setFramebufferSizeCallback(GLFWwindow* window) {
|
||||
glfwSetFramebufferSizeCallback(window, framebufferSizeCallback);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,4 +31,9 @@ struct
|
||||
_export "mltonKeyCallback" public : (int * int * int * int -> unit) -> unit;
|
||||
val setKeyCallback =
|
||||
_import "setKeyCallback" public : window -> unit;
|
||||
|
||||
val exportFramebufferSizeCallback =
|
||||
_export "mltonFramebufferSizeCallback" public : (Real32.real * Real32.real -> unit) -> unit;
|
||||
val setFramebufferSizeCallback =
|
||||
_import "setFramebufferSizeCallback" public : window -> unit;
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user