Add MATRIX accelerator flag MX_SCALE and set it in XForm2MatrixS, when off-diagonal...
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 16 Jul 2008 18:57:23 +0000 (18:57 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Wed, 16 Jul 2008 18:57:23 +0000 (18:57 +0000)
svn path=/trunk/; revision=34552

reactos/include/reactos/win32k/ntgdityp.h
reactos/subsystems/win32/win32k/eng/float.c

index 1d008ea..dd488d6 100644 (file)
@@ -96,6 +96,12 @@ typedef enum _TRANSFORMTYPE
     GdiDpToLp,
     GdiLpToDp,
 } TRANSFORMTYPE, *PTRANSFORMTYPE;
+\r
+/* MATRIX flAccel flags */\r
+enum\r
+{\r
+    MX_SCALE = 1,\r
+};\r
 
 typedef enum GDIObjType
 {
@@ -335,7 +341,7 @@ typedef struct _EFLOAT_S
     LONG lMant;
     LONG lExp;
 } EFLOAT_S;
-
+\r
 /* XFORM Structures */
 typedef struct _MATRIX_S
 {
index 94e58df..0d348db 100644 (file)
@@ -219,6 +219,11 @@ gxf_long f;
   FtoEF( &Matrix->efDx, f.l);
   f.f = XForm->eDy;
   FtoEF( &Matrix->efDy, f.l);
+  Matrix->flAccel = 0;
+  if (XForm->eM12 == 0. && XForm->eM21 == 0.)
+  {
+    Matrix->flAccel |= MX_SCALE;
+  }
 }
 
 VOID FASTCALL