diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | a38fc482eeeb2c1929803c233835369dcf1b8781 (patch) | |
tree | 73115efff0a679d5d62e2150a35d135651175ec7 /include/freetype/internal/ftcalc.h | |
parent | f463818dd9146e11105c0572fb119e757eb47768 (diff) | |
download | android_external_freetype-a38fc482eeeb2c1929803c233835369dcf1b8781.tar.gz android_external_freetype-a38fc482eeeb2c1929803c233835369dcf1b8781.tar.bz2 android_external_freetype-a38fc482eeeb2c1929803c233835369dcf1b8781.zip |
Initial Contribution
Diffstat (limited to 'include/freetype/internal/ftcalc.h')
-rw-r--r-- | include/freetype/internal/ftcalc.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/include/freetype/internal/ftcalc.h b/include/freetype/internal/ftcalc.h index c7e9901..58def34 100644 --- a/include/freetype/internal/ftcalc.h +++ b/include/freetype/internal/ftcalc.h @@ -4,7 +4,7 @@ /* */ /* Arithmetic computations (specification). */ /* */ -/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */ +/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -112,6 +112,31 @@ FT_BEGIN_HEADER /* + * A variant of FT_Matrix_Multiply which scales its result afterwards. + * The idea is that both `a' and `b' are scaled by factors of 10 so that + * the values are as precise as possible to get a correct result during + * the 64bit multiplication. Let `sa' and `sb' be the scaling factors of + * `a' and `b', respectively, then the scaling factor of the result is + * `sa*sb'. + */ + FT_BASE( void ) + FT_Matrix_Multiply_Scaled( const FT_Matrix* a, + FT_Matrix *b, + FT_Long scaling ); + + + /* + * A variant of FT_Vector_Transform. See comments for + * FT_Matrix_Multiply_Scaled. + */ + + FT_BASE( void ) + FT_Vector_Transform_Scaled( FT_Vector* vector, + const FT_Matrix* matrix, + FT_Long scaling ); + + + /* * Return -1, 0, or +1, depending on the orientation of a given corner. * We use the Cartesian coordinate system, with positive vertical values * going upwards. The function returns +1 if the corner turns to the |