use std::ffi::c_void;

pub type AppIcon = c_void;

pub mod ffi {
    use super::AppIcon;
    use std::ffi::c_int;

    unsafe extern "C" {
        pub fn wAppIconIsDocked(app_icon: *mut AppIcon) -> c_int;

        pub fn wAppIconIsRelaunching(app_icon: *mut AppIcon) -> c_int;

        pub fn wAppIconGetIcon(app_icon: *mut AppIcon) -> *mut crate::icon::Icon;

        pub fn wAppIconPaint(app_icon: *mut AppIcon);

        pub fn create_appicon_for_application(
            app: *mut crate::application::Application,
            wwin: *mut crate::window::Window,
        );

        pub fn removeAppIconFor(app: *mut crate::application::Application);
    }
}
