12#ifndef __SIMGDECODER_I__H__
13#define __SIMGDECODER_I__H__
15#include <interface/obj-ref-i.h>
27#define INTERFACE IImgFrame
36 STDMETHOD_(BOOL,
GetSize)(THIS_ UINT * pWid, UINT * pHei) PURE;
42 STDMETHOD_(
const VOID *,
GetPixels)(CTHIS) SCONST PURE;
59#define INTERFACE IImgX
139#define INTERFACE IImgDecoderFactory
176 (CTHIS_ BYTE * pBits,
int nWid,
int nHei, LPCWSTR pszFileName,
const void *pFormat) SCONST PURE;
188 (CTHIS_ BYTE * pBits,
int nWid,
int nHei, LPCWSTR pszFileName, ImgFmt imgFmt) SCONST PURE;
Interface for image decoder factory.
void OnFinalRelease() PURE
Final release of the object.
HRESULT SaveImage2(BYTE *pBits, int nWid, int nHei, LPCWSTR pszFileName, ImgFmt imgFmt) SCONST PURE
Save an image to a file with a specified format.
HRESULT SaveImage(BYTE *pBits, int nWid, int nHei, LPCWSTR pszFileName, const void *pFormat) SCONST PURE
Save an image to a file with a specified format.
LPCWSTR GetDescription() SCONST PURE
Get the description of the image decoder.
long AddRef() PURE
Increment the reference count.
long Release() PURE
Decrement the reference count.
BOOL CreateImgX(IImgX **ppImgDecoder) PURE
Create an IImgX object.
Interface for an image frame.
const VOID * GetPixels() SCONST PURE
Get the pixel buffer of the image.
BOOL GetSize(UINT *pWid, UINT *pHei) PURE
Get the size of the image in pixels.
int GetDelay() PURE
Get the delay time for a GIF image frame.
Interface for image data.
int LoadFromFileA(LPCSTR pszFileName) PURE
Load image data from a file (ANSI encoding).
int LoadFromMemory(void *pBuf, size_t bufLen) PURE
Load image data from a memory buffer.
long AddRef() PURE
Increment the reference count.
void OnFinalRelease() PURE
Final release of the object.
UINT GetFrameCount() PURE
Get the number of frames in the image.
int LoadFromFileW(LPCWSTR pszFileName) PURE
Load image data from a file (Unicode encoding).
long Release() PURE
Decrement the reference count.
IImgFrame * GetFrame(UINT iFrame) PURE
Get a specific frame of the image.
Interface for reference counting.