Vincent Povirk : windowscodecs: Implement Initialize for the BMP frame encoder.
Alexandre Julliard
julliard at winehq.org
Wed Aug 12 11:09:30 CDT 2009
Module: wine
Branch: master
Commit: 4664116a42d6a0800eff706dbe97a8e4e12b2491
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4664116a42d6a0800eff706dbe97a8e4e12b2491
Author: Vincent Povirk <vincent at 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;
More information about the wine-cvs
mailing list