From 966ebb03abd8ae5ed4f47f4b53c00222269a56b4 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 7 Apr 2023 20:20:43 +0200 Subject: refactor: replace usage of opengl-registry-macros --- src/lib.rs | 45 ++------------------------------------------- 1 file changed, 2 insertions(+), 43 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index cd2e4d0..88eb0a3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,20 +1,9 @@ //! OpenGL bindings. #![deny(clippy::all, clippy::pedantic, missing_docs)] -use opengl_registry_macros::for_each_opengl_command; - -for_each_opengl_command! { - #[doc = stringify!(#gl_command_name)] - #[allow(non_snake_case, clippy::too_many_arguments)] - pub unsafe fn #gl_command_name_noprefix(#gl_command_args) -> #gl_command_ret_type { - type GLFunc = - unsafe extern "C" fn(#gl_command_arg_types) -> #gl_command_ret_type; - - let gl_func = std::mem::transmute::<_, GLFunc>(functions::#gl_command_name); +pub use ffi::*; - gl_func(#gl_command_arg_names) - } -} +include!(concat!(env!("OUT_DIR"), "/generated.rs")); mod ffi { @@ -29,33 +18,3 @@ mod ffi include!(concat!(env!("OUT_DIR"), "/bindings.rs")); } - -pub use ffi::*; - -/// Loads OpenGL function pointers using the given function address retriever function. -pub fn load_with(get_proc_addr: GetProcAddrFn) -where - GetProcAddrFn: Fn(&str) -> unsafe extern "C" fn(), -{ - for_each_opengl_command! { - unsafe { - functions::#gl_command_name = get_proc_addr(stringify!(#gl_command_name)); - } - }; -} - -mod functions -{ - use opengl_registry_macros::for_each_opengl_command; - - for_each_opengl_command!( - #[doc = stringify!(#gl_command_name)] - #[allow(non_upper_case_globals)] - pub static mut #gl_command_name: unsafe extern "C" fn() = function_not_loaded; - ); - - extern "C" fn function_not_loaded() - { - panic!("OpenGL function not loaded"); - } -} -- cgit v1.2.3-18-g5258