// Copyright 2023 Gabriel Jensen. use crate::dw::app::{App,Gfx}; extern crate gl; extern crate glfw; use glfw::{Context}; use std::ffi::c_void; impl App { pub fn inigfx(&mut self) -> Gfx { eprintln!("initialising glfw"); let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); eprintln!("creating window"); glfw.window_hint(glfw::WindowHint::ContextVersion(0x3,0x2)); glfw.window_hint(glfw::WindowHint::OpenGlProfile(glfw::OpenGlProfileHint::Core)); glfw.window_hint(glfw::WindowHint::Samples(Some(0x8))); let (mut win,evt) = glfw.create_window(0x400,0x300,"dw",glfw::WindowMode::Windowed).expect("unable to create window"); win.set_key_polling(true); win.make_current(); eprintln!("initialising opengl"); gl::load_with(|nam| glfw.get_proc_address_raw(nam) as *const c_void); let shdprg = self.getshdprg(); return Gfx { evt: evt, glfw: glfw, shdprg:shdprg, win: win, }; } }