1 object OsWindow = 2 def create (width : u32 3 height : u32 4 header : String 5 is_resizable : bool) = 6 let window = GlfwWindow.create width height header is_resizable 7 let (mouse_x, mouse_y) = window.mouse_position 8 let os_window = OsWindow 9 =window =mouse_x =mouse_y =width =height =is_resizable 10 11 Glfw.set_key_callback window 12 key_callback@fn 13 set_char_callback window 14 char_callback@fn 15 set_mouse_button_callback window 16 mouse_button_callback@fn 17 set_scroll_callback window 18 mouse_scroll_callback@fn 19 set_window_size_callback window 20 size_callback@fn 21 set_window_iconify_callback window 22 iconify_callback@fn 23 set_window_maximize_callback window 24 maximize_callback@fn 25 26 windows.add window os_window 27 28 os_window 29 30 end@ window 31 32 def create_surface (instance : VkInstance) (window : GlfwWindow) = 33 let mut surface = null 34 Glfw.create_window_surface instance window null surface@mut_ptr 35 36 surface 37 38 def update = Glfw.poll_events 39