Add MATRIX accelerator flag MX_SCALE and set it in XForm2MatrixS, when off-diagonal elements are zero.

svn path=/trunk/; revision=34552
This commit is contained in:
Timo Kreuzer
2008-07-16 18:57:23 +00:00
parent 816777c79a
commit 4a5e93fab1
2 changed files with 12 additions and 1 deletions
+7 -1
View File
@@ -96,6 +96,12 @@ typedef enum _TRANSFORMTYPE
GdiDpToLp,
GdiLpToDp,
} TRANSFORMTYPE, *PTRANSFORMTYPE;
/* MATRIX flAccel flags */
enum
{
MX_SCALE = 1,
};
typedef enum GDIObjType
{
@@ -335,7 +341,7 @@ typedef struct _EFLOAT_S
LONG lMant;
LONG lExp;
} EFLOAT_S;
/* XFORM Structures */
typedef struct _MATRIX_S
{
@@ -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