Module: wine Branch: master Commit: 4664116a42d6a0800eff706dbe97a8e4e12b2491 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4664116a42d6a0800eff706dbe...
Author: Vincent Povirk vincent@codeweavers.com Date: Tue Aug 11 16:18:40 2009 -0500
windowscodecs: Implement Initialize for the BMP frame encoder.
---
dlls/windowscodecs/bmpencode.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/windowscodecs/bmpencode.c b/dlls/windowscodecs/bmpencode.c index 7b47450..a7cabe4 100644 --- a/dlls/windowscodecs/bmpencode.c +++ b/dlls/windowscodecs/bmpencode.c @@ -39,6 +39,7 @@ typedef struct BmpFrameEncode { const IWICBitmapFrameEncodeVtbl *lpVtbl; LONG ref; IStream *stream; + BOOL initialized; } BmpFrameEncode;
static HRESULT WINAPI BmpFrameEncode_QueryInterface(IWICBitmapFrameEncode *iface, REFIID iid, @@ -93,8 +94,14 @@ static ULONG WINAPI BmpFrameEncode_Release(IWICBitmapFrameEncode *iface) static HRESULT WINAPI BmpFrameEncode_Initialize(IWICBitmapFrameEncode *iface, IPropertyBag2 *pIEncoderOptions) { - FIXME("(%p,%p): stub\n", iface, pIEncoderOptions); - return E_NOTIMPL; + BmpFrameEncode *This = (BmpFrameEncode*)iface; + TRACE("(%p,%p)\n", iface, pIEncoderOptions); + + if (This->initialized) return WINCODEC_ERR_WRONGSTATE; + + This->initialized = TRUE; + + return S_OK; }
static HRESULT WINAPI BmpFrameEncode_SetSize(IWICBitmapFrameEncode *iface, @@ -319,6 +326,7 @@ static HRESULT WINAPI BmpEncoder_CreateNewFrame(IWICBitmapEncoder *iface, encode->ref = 2; IStream_AddRef(This->stream); encode->stream = This->stream; + encode->initialized = FALSE;
*ppIFrameEncode = (IWICBitmapFrameEncode*)encode; This->frame = (IWICBitmapFrameEncode*)encode;