David Adam : d3dx8: Implement D3DXColorAdjustContrast.

Alexandre Julliard julliard at winehq.org
Tue Nov 20 10:55:00 CST 2007


Module: wine
Branch: master
Commit: 375dcaa82e22efc02de82d929558bbb6ad63faeb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=375dcaa82e22efc02de82d929558bbb6ad63faeb

Author: David Adam <David.Adam at math.cnrs.fr>
Date:   Mon Nov 19 15:38:34 2007 +0100

d3dx8: Implement D3DXColorAdjustContrast.

---

 dlls/d3dx8/d3dx8.spec   |    2 +-
 dlls/d3dx8/math.c       |    9 +++++++++
 dlls/d3dx8/tests/math.c |    5 +++++
 include/d3dx8math.h     |    2 ++
 4 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index ab796af..4a6d26c 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -67,7 +67,7 @@
 @ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
 @ stdcall D3DXPlaneTransform(ptr ptr ptr)
 @ stdcall D3DXColorAdjustSaturation(ptr ptr long)
-@ stub D3DXColorAdjustContrast
+@ stdcall D3DXColorAdjustContrast(ptr ptr long)
 @ stub D3DXCreateMatrixStack
 @ stdcall D3DXCreateFont(ptr ptr ptr)
 @ stub D3DXCreateFontIndirect
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index ac66481..3cff34f 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -34,6 +34,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3dx8);
 
 /*_________________D3DXColor____________________*/
 
+D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s)
+{
+    pout->r = 0.5f + s * (pc->r - 0.5f);
+    pout->g = 0.5f + s * (pc->g - 0.5f);
+    pout->b = 0.5f + s * (pc->b - 0.5f);
+    pout->a = pc->a;
+    return pout;
+}
+
 D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s)
 {
     FLOAT grey;
diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index f349a28..f62bd80 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -82,6 +82,11 @@ static void D3DXColorTest(void)
     funcpointer = D3DXColorAdd(NULL,NULL,NULL);
     ok(funcpointer == NULL, "Expected: %p, Got: %p\n", NULL, funcpointer);
 
+/*_______________D3DXColorAdjustContrast______*/
+    expected.r = 0.41f; expected.g = 0.575f; expected.b = 0.473f, expected.a = 0.93f;
+    D3DXColorAdjustContrast(&got,&color,scale);
+    expect_color(expected,got);
+
 /*_______________D3DXColorAdjustSaturation______*/
     expected.r = 0.486028f; expected.g = 0.651028f; expected.b = 0.549028f, expected.a = 0.93f;
     D3DXColorAdjustSaturation(&got,&color,scale);
diff --git a/include/d3dx8math.h b/include/d3dx8math.h
index 28c1bbe..a3eca67 100644
--- a/include/d3dx8math.h
+++ b/include/d3dx8math.h
@@ -263,7 +263,9 @@ typedef struct D3DXCOLOR
 extern "C" {
 #endif
 
+D3DXCOLOR* WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
 D3DXCOLOR* WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, CONST D3DXCOLOR *pc, FLOAT s);
+
 D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, float scaling, D3DXVECTOR3 *rotationcenter, D3DXQUATERNION *rotation, D3DXVECTOR3 *translation);
 FLOAT WINAPI D3DXMatrixfDeterminant(CONST D3DXMATRIX *pm);
 D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, CONST D3DXMATRIX *pm);




More information about the wine-cvs mailing list