uxtheme: Implement GetBufferedPaintBits().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2017-02-09 01:42:39 +03:00 committed by Alexandre Julliard
parent 89fe0a3f26
commit b557cb42eb
2 changed files with 16 additions and 6 deletions

View file

@ -189,11 +189,22 @@ HRESULT WINAPI BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint, const RECT *pr
/*********************************************************************** /***********************************************************************
* GetBufferedPaintBits (UXTHEME.@) * GetBufferedPaintBits (UXTHEME.@)
*/ */
HRESULT WINAPI GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint, RGBQUAD **ppbBuffer, HRESULT WINAPI GetBufferedPaintBits(HPAINTBUFFER bufferhandle, RGBQUAD **bits, int *width)
int *pcxRow)
{ {
FIXME("Stub (%p %p %p)\n", hBufferedPaint, ppbBuffer, pcxRow); struct paintbuffer *buffer = get_buffer_obj(bufferhandle);
return E_NOTIMPL;
TRACE("(%p %p %p)\n", buffer, bits, width);
if (!bits || !width)
return E_POINTER;
if (!buffer || !buffer->bits)
return E_FAIL;
*bits = buffer->bits;
*width = buffer->rect.right - buffer->rect.left;
return S_OK;
} }
/*********************************************************************** /***********************************************************************

View file

@ -648,7 +648,6 @@ todo_wine
bits = NULL; bits = NULL;
row = 0; row = 0;
hr = pGetBufferedPaintBits(buffer, &bits, &row); hr = pGetBufferedPaintBits(buffer, &bits, &row);
todo_wine {
if (format == BPBF_COMPATIBLEBITMAP) if (format == BPBF_COMPATIBLEBITMAP)
ok(hr == E_FAIL, "Unexpected return code %#x\n", hr); ok(hr == E_FAIL, "Unexpected return code %#x\n", hr);
else else
@ -657,7 +656,7 @@ todo_wine {
ok(bits != NULL, "Bitmap bits %p\n", bits); ok(bits != NULL, "Bitmap bits %p\n", bits);
ok(row > 0, "Bitmap width %d\n", row); ok(row > 0, "Bitmap width %d\n", row);
} }
}
hr = pEndBufferedPaint(buffer, FALSE); hr = pEndBufferedPaint(buffer, FALSE);
ok(hr == S_OK, "Unexpected return code %#x\n", hr); ok(hr == S_OK, "Unexpected return code %#x\n", hr);
} }