d3drm: Implement D3DRMCreateColorRGB.

This commit is contained in:
David Adam 2007-05-20 16:27:30 +02:00 committed by Alexandre Julliard
parent 21b7413dee
commit 7eaf1fe2f5
4 changed files with 17 additions and 1 deletions

View File

@ -2,7 +2,7 @@
@ stdcall D3DRMColorGetBlue(long) @ stdcall D3DRMColorGetBlue(long)
@ stdcall D3DRMColorGetGreen(long) @ stdcall D3DRMColorGetGreen(long)
@ stdcall D3DRMColorGetRed(long) @ stdcall D3DRMColorGetRed(long)
@ stub D3DRMCreateColorRGB @ stdcall D3DRMCreateColorRGB(long long long)
@ stdcall D3DRMCreateColorRGBA(long long long long) @ stdcall D3DRMCreateColorRGBA(long long long long)
@ stdcall D3DRMMatrixFromQuaternion(ptr ptr) @ stdcall D3DRMMatrixFromQuaternion(ptr ptr)
@ stdcall D3DRMQuaternionFromRotation(ptr ptr long) @ stdcall D3DRMQuaternionFromRotation(ptr ptr long)

View File

@ -34,6 +34,11 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3drm); WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
/* Create a RGB color from its components */
D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE red, D3DVALUE green, D3DVALUE blue)
{
return (D3DRMCreateColorRGBA(red, green, blue, 255.0));
}
/* Create a RGBA color from its components */ /* Create a RGBA color from its components */
D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE red, D3DVALUE green, D3DVALUE blue, D3DVALUE alpha) D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE red, D3DVALUE green, D3DVALUE blue, D3DVALUE alpha)
{ {

View File

@ -79,6 +79,7 @@ static LPD3DVECTOR (WINAPI * pD3DRMVectorScale)(LPD3DVECTOR, LPD3DVECTOR, D3DVAL
static LPD3DVECTOR (WINAPI * pD3DRMVectorSubtract)(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR); static LPD3DVECTOR (WINAPI * pD3DRMVectorSubtract)(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
static LPD3DRMQUATERNION (WINAPI * pD3DRMQuaternionFromRotation)(LPD3DRMQUATERNION, LPD3DVECTOR, D3DVALUE); static LPD3DRMQUATERNION (WINAPI * pD3DRMQuaternionFromRotation)(LPD3DRMQUATERNION, LPD3DVECTOR, D3DVALUE);
static LPD3DRMQUATERNION (WINAPI * pD3DRMQuaternionSlerp)(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE); static LPD3DRMQUATERNION (WINAPI * pD3DRMQuaternionSlerp)(LPD3DRMQUATERNION, LPD3DRMQUATERNION, LPD3DRMQUATERNION, D3DVALUE);
static D3DCOLOR (WINAPI * pD3DRMCreateColorRGB)(D3DVALUE, D3DVALUE, D3DVALUE);
static D3DCOLOR (WINAPI * pD3DRMCreateColorRGBA)(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE); static D3DCOLOR (WINAPI * pD3DRMCreateColorRGBA)(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
static D3DVALUE (WINAPI * pD3DRMColorGetAlpha)(D3DCOLOR); static D3DVALUE (WINAPI * pD3DRMColorGetAlpha)(D3DCOLOR);
static D3DVALUE (WINAPI * pD3DRMColorGetBlue)(D3DCOLOR); static D3DVALUE (WINAPI * pD3DRMColorGetBlue)(D3DCOLOR);
@ -115,6 +116,7 @@ static BOOL InitFunctionPtrs(void)
D3DRM_GET_PROC(D3DRMVectorSubtract) D3DRM_GET_PROC(D3DRMVectorSubtract)
D3DRM_GET_PROC(D3DRMQuaternionFromRotation) D3DRM_GET_PROC(D3DRMQuaternionFromRotation)
D3DRM_GET_PROC(D3DRMQuaternionSlerp) D3DRM_GET_PROC(D3DRMQuaternionSlerp)
D3DRM_GET_PROC(D3DRMCreateColorRGB)
D3DRM_GET_PROC(D3DRMCreateColorRGBA) D3DRM_GET_PROC(D3DRMCreateColorRGBA)
D3DRM_GET_PROC(D3DRMColorGetAlpha) D3DRM_GET_PROC(D3DRMColorGetAlpha)
D3DRM_GET_PROC(D3DRMColorGetBlue) D3DRM_GET_PROC(D3DRMColorGetBlue)
@ -261,6 +263,14 @@ static void ColorTest(void)
D3DCOLOR color, expected_color, got_color; D3DCOLOR color, expected_color, got_color;
D3DVALUE expected, got, red, green, blue, alpha; D3DVALUE expected, got, red, green, blue, alpha;
/*___________D3DRMCreateColorRGB_________________________*/
red=0.8;
green=0.3;
blue=0.55;
expected_color=0xffcc4c8c;
got_color=pD3DRMCreateColorRGB(red,green,blue);
ok((expected_color==got_color),"Expected color=%x, Got color=%x\n",expected_color,got_color);
/*___________D3DRMCreateColorRGBA________________________*/ /*___________D3DRMCreateColorRGBA________________________*/
red=0.1; red=0.1;
green=0.4; green=0.4;

View File

@ -54,6 +54,7 @@ LPD3DVECTOR WINAPI D3DRMVectorReflect(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE); LPD3DVECTOR WINAPI D3DRMVectorScale(LPD3DVECTOR, LPD3DVECTOR, D3DVALUE);
LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR); LPD3DVECTOR WINAPI D3DRMVectorSubtract(LPD3DVECTOR, LPD3DVECTOR, LPD3DVECTOR);
D3DCOLOR WINAPI D3DRMCreateColorRGB(D3DVALUE, D3DVALUE, D3DVALUE);
D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE); D3DCOLOR WINAPI D3DRMCreateColorRGBA(D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE);
D3DVALUE WINAPI D3DRMColorGetAlpha(D3DCOLOR); D3DVALUE WINAPI D3DRMColorGetAlpha(D3DCOLOR);
D3DVALUE WINAPI D3DRMColorGetBlue(D3DCOLOR); D3DVALUE WINAPI D3DRMColorGetBlue(D3DCOLOR);