[1/4] include: Add declarations related to D3DXFLOAT16.
Dylan Smith
dylan.ah.smith at gmail.com
Tue Mar 29 13:02:15 CDT 2011
Split from a patch submitted by Misha Koshelev <misha680 at gmail.com>.
---
include/d3dx9math.h | 18 ++++++++++++++++++
include/d3dx9math.inl | 31 +++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/include/d3dx9math.h b/include/d3dx9math.h
index f842e3e..cdb1deb 100644
--- a/include/d3dx9math.h
+++ b/include/d3dx9math.h
@@ -261,6 +261,21 @@ typedef struct D3DXCOLOR
FLOAT r, g, b, a;
} D3DXCOLOR, *LPD3DXCOLOR;
+typedef struct D3DXFLOAT16
+{
+#ifdef __cplusplus
+ D3DXFLOAT16();
+ D3DXFLOAT16(FLOAT f);
+ D3DXFLOAT16(CONST D3DXFLOAT16 &f);
+
+ operator FLOAT ();
+
+ BOOL operator == (CONST D3DXFLOAT16 &) const;
+ BOOL operator != (CONST D3DXFLOAT16 &) const;
+#endif /* __cplusplus */
+ WORD value;
+} D3DXFLOAT16, *LPD3DXFLOAT16;
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -358,6 +373,9 @@ D3DXVECTOR4* WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv);
D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv, CONST D3DXMATRIX *pm);
D3DXVECTOR4* WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, CONST D3DXVECTOR4 *pv, UINT vstride, CONST D3DXMATRIX *pm, UINT n);
+D3DXFLOAT16 *WINAPI D3DXFloat32To16Array(D3DXFLOAT16 *pout, CONST FLOAT *pin, UINT n);
+FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pout, CONST D3DXFLOAT16 *pin, UINT n);
+
#ifdef __cplusplus
}
#endif
diff --git a/include/d3dx9math.inl b/include/d3dx9math.inl
index 3cd078a..3f55aef 100644
--- a/include/d3dx9math.inl
+++ b/include/d3dx9math.inl
@@ -851,6 +851,37 @@ inline BOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
return r != col.r || g != col.g || b != col.b || a != col.a;
}
+inline D3DXFLOAT16::D3DXFLOAT16()
+{
+}
+
+inline D3DXFLOAT16::D3DXFLOAT16(FLOAT f)
+{
+ D3DXFloat32To16Array(this, &f, 1);
+}
+
+inline D3DXFLOAT16::D3DXFLOAT16(CONST D3DXFLOAT16 &f)
+{
+ value = f.value;
+}
+
+inline D3DXFLOAT16::operator FLOAT ()
+{
+ FLOAT f;
+ D3DXFloat16To32Array(&f, this, 1);
+ return f;
+}
+
+inline BOOL D3DXFLOAT16::operator == (CONST D3DXFLOAT16 &f) const
+{
+ return value == f.value;
+}
+
+inline BOOL D3DXFLOAT16::operator != (CONST D3DXFLOAT16 &f) const
+{
+ return value != f.value;
+}
+
#endif /* __cplusplus */
/*_______________D3DXCOLOR_____________________*/
--
1.7.2.5
More information about the wine-patches
mailing list