Trait IShellImageData_Impl
pub trait IShellImageData_Impl: IUnknownImpl {
Show 30 methods
    // Required methods
    fn Decode(&self, dwflags: u32, cxdesired: u32, cydesired: u32) -> Result<()>;
    fn Draw(
        &self,
        hdc: HDC,
        prcdest: *mut RECT,
        prcsrc: *mut RECT,
    ) -> Result<()>;
    fn NextFrame(&self) -> Result<()>;
    fn NextPage(&self) -> Result<()>;
    fn PrevPage(&self) -> Result<()>;
    fn IsTransparent(&self) -> Result<()>;
    fn IsAnimated(&self) -> Result<()>;
    fn IsVector(&self) -> Result<()>;
    fn IsMultipage(&self) -> Result<()>;
    fn IsEditable(&self) -> Result<()>;
    fn IsPrintable(&self) -> Result<()>;
    fn IsDecoded(&self) -> Result<()>;
    fn GetCurrentPage(&self, pnpage: *mut u32) -> Result<()>;
    fn GetPageCount(&self, pcpages: *mut u32) -> Result<()>;
    fn SelectPage(&self, ipage: u32) -> Result<()>;
    fn GetSize(&self, psize: *mut SIZE) -> Result<()>;
    fn GetRawDataFormat(&self, pdataformat: *mut GUID) -> Result<()>;
    fn GetPixelFormat(&self, pformat: *mut u32) -> Result<()>;
    fn GetDelay(&self, pdwdelay: *mut u32) -> Result<()>;
    fn GetProperties(&self, dwmode: u32) -> Result<IPropertySetStorage>;
    fn Rotate(&self, dwangle: u32) -> Result<()>;
    fn Scale(&self, cx: u32, cy: u32, hints: InterpolationMode) -> Result<()>;
    fn DiscardEdit(&self) -> Result<()>;
    fn SetEncoderParams(&self, pbagenc: Ref<'_, IPropertyBag>) -> Result<()>;
    fn DisplayName(&self, wszname: &PCWSTR, cch: u32) -> Result<()>;
    fn GetResolution(
        &self,
        puresolutionx: *mut u32,
        puresolutiony: *mut u32,
    ) -> Result<()>;
    fn GetEncoderParams(
        &self,
        pguidfmt: *mut GUID,
        ppencparams: *mut *mut u8,
    ) -> Result<()>;
    fn RegisterAbort(
        &self,
        pabort: Ref<'_, IShellImageDataAbort>,
    ) -> Result<IShellImageDataAbort>;
    fn CloneFrame(&self, ppimg: *mut *mut u8) -> Result<()>;
    fn ReplaceFrame(&self, pimg: *mut u8) -> Result<()>;
}Required Methods§
fn Decode(&self, dwflags: u32, cxdesired: u32, cydesired: u32) -> Result<()>
fn Draw(&self, hdc: HDC, prcdest: *mut RECT, prcsrc: *mut RECT) -> Result<()>
fn NextFrame(&self) -> Result<()>
fn NextPage(&self) -> Result<()>
fn PrevPage(&self) -> Result<()>
fn IsTransparent(&self) -> Result<()>
fn IsAnimated(&self) -> Result<()>
fn IsVector(&self) -> Result<()>
fn IsMultipage(&self) -> Result<()>
fn IsEditable(&self) -> Result<()>
fn IsPrintable(&self) -> Result<()>
fn IsDecoded(&self) -> Result<()>
fn GetCurrentPage(&self, pnpage: *mut u32) -> Result<()>
fn GetPageCount(&self, pcpages: *mut u32) -> Result<()>
fn SelectPage(&self, ipage: u32) -> Result<()>
fn GetSize(&self, psize: *mut SIZE) -> Result<()>
fn GetRawDataFormat(&self, pdataformat: *mut GUID) -> Result<()>
fn GetPixelFormat(&self, pformat: *mut u32) -> Result<()>
fn GetDelay(&self, pdwdelay: *mut u32) -> Result<()>
fn GetProperties(&self, dwmode: u32) -> Result<IPropertySetStorage>
fn Rotate(&self, dwangle: u32) -> Result<()>
fn Scale(&self, cx: u32, cy: u32, hints: InterpolationMode) -> Result<()>
fn DiscardEdit(&self) -> Result<()>
fn SetEncoderParams(&self, pbagenc: Ref<'_, IPropertyBag>) -> Result<()>
fn DisplayName(&self, wszname: &PCWSTR, cch: u32) -> Result<()>
fn GetResolution( &self, puresolutionx: *mut u32, puresolutiony: *mut u32, ) -> Result<()>
fn GetEncoderParams( &self, pguidfmt: *mut GUID, ppencparams: *mut *mut u8, ) -> Result<()>
fn RegisterAbort( &self, pabort: Ref<'_, IShellImageDataAbort>, ) -> Result<IShellImageDataAbort>
fn CloneFrame(&self, ppimg: *mut *mut u8) -> Result<()>
fn ReplaceFrame(&self, pimg: *mut u8) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.