Commit 66c8cb3e authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

d3drm: Implement IDirect3DRMTexture3::{Get,Set}DecalTransparency().

parent 49845c51
......@@ -68,6 +68,7 @@ struct d3drm_texture
LONG decal_y;
DWORD max_colors;
DWORD max_shades;
BOOL transparency;
};
struct d3drm_frame
......
......@@ -2712,6 +2712,7 @@ static void test_Texture(void)
IDirectDrawSurface *surface;
LONG decalx, decaly;
DWORD colors, shades;
BOOL transparency;
D3DRMIMAGE initimg =
{
......@@ -2919,6 +2920,18 @@ static void test_Texture(void)
hr = IDirect3DRMTexture_SetShades(texture1, 8);
ok(hr == S_OK, "got %#lx.\n", hr);
transparency = IDirect3DRMTexture_GetDecalTransparency(texture1);
ok(transparency == FALSE, "Got %d.\n", transparency);
hr = IDirect3DRMTexture_SetDecalTransparency(texture1, TRUE);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
transparency = IDirect3DRMTexture_GetDecalTransparency(texture1);
ok(transparency == TRUE, "Got %d.\n", transparency);
hr = IDirect3DRMTexture_SetDecalTransparency(texture1, FALSE);
ok(hr == S_OK, "Got hr %#lx.\n", hr);
d3drm_img = IDirect3DRMTexture_GetImage(texture1);
ok(!!d3drm_img, "Failed to get image.\n");
ok(d3drm_img == &initimg, "Expected image returned == %p, got %p.\n", &initimg, d3drm_img);
......
......@@ -1219,9 +1219,13 @@ static HRESULT WINAPI d3drm_texture3_SetDecalScale(IDirect3DRMTexture3 *iface, D
static HRESULT WINAPI d3drm_texture3_SetDecalTransparency(IDirect3DRMTexture3 *iface, BOOL transparency)
{
FIXME("iface %p, transparency %#x stub!\n", iface, transparency);
struct d3drm_texture *texture = impl_from_IDirect3DRMTexture3(iface);
return E_NOTIMPL;
TRACE("iface %p, transparency %#x.\n", iface, transparency);
texture->transparency = transparency;
return S_OK;
}
static HRESULT WINAPI d3drm_texture3_SetDecalTransparentColor(IDirect3DRMTexture3 *iface, D3DCOLOR color)
......@@ -1282,9 +1286,11 @@ static DWORD WINAPI d3drm_texture3_GetDecalScale(IDirect3DRMTexture3 *iface)
static BOOL WINAPI d3drm_texture3_GetDecalTransparency(IDirect3DRMTexture3 *iface)
{
FIXME("iface %p stub!\n", iface);
struct d3drm_texture *texture = impl_from_IDirect3DRMTexture3(iface);
TRACE("iface %p.\n", iface);
return FALSE;
return texture->transparency;
}
static D3DCOLOR WINAPI d3drm_texture3_GetDecalTransparentColor(IDirect3DRMTexture3 *iface)
......@@ -1441,6 +1447,7 @@ HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm)
object->d3drm = d3drm;
object->max_colors = 8;
object->max_shades = 16;
object->transparency = FALSE;
d3drm_object_init(&object->obj, classname);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment