use bevy_ecs::prelude::*;
use windows::core::Result;
use windows::Win32::Graphics::Imaging::D2D::*;
use windows::Win32::Graphics::Imaging::*;
use windows::Win32::System::Com::*;
#[derive(Resource, Clone)]
pub struct WicCore {
factory: IWICImagingFactory2,
}
unsafe impl Send for WicCore {}
unsafe impl Sync for WicCore {}
impl WicCore {
pub fn new() -> Result<Self> {
let factory: IWICImagingFactory2 =
unsafe { CoCreateInstance(&CLSID_WICImagingFactory2, None, CLSCTX_INPROC_SERVER)? };
Ok(Self { factory })
}
pub fn factory(&self) -> &IWICImagingFactory2 {
&self.factory
}
}