diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-08-01 20:49:45 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-08-01 20:49:45 +0000 |
commit | 1b20280f9b2e95fdcf4a2ee6f7f9d5a92c5b94c2 (patch) | |
tree | c9a5baf928a68f707ae82989170b1601566e76c7 /include | |
parent | 14fc32114b44433ee14b11b3fe7541ceec5d8b50 (diff) |
deprecate SkScalarFloor, SkScalarCeil, SkScalarRound
Should instead use the explicit version that returns either a scalar or int
e.g.
SkScalarRoundToInt
SkScalarROundToScalar
git-svn-id: http://skia.googlecode.com/svn/trunk@2018 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkFixed.h | 22 | ||||
-rw-r--r-- | include/core/SkScalar.h | 36 |
2 files changed, 38 insertions, 20 deletions
diff --git a/include/core/SkFixed.h b/include/core/SkFixed.h index 649ee23cb0..625074fe65 100644 --- a/include/core/SkFixed.h +++ b/include/core/SkFixed.h @@ -96,17 +96,23 @@ inline SkFixed SkFixedFraction(SkFixed x) /** Converts a SkFract to a SkFixed */ #define SkFractToFixed(x) ((x) >> 14) -/** Round a SkFixed to an integer -*/ -#define SkFixedRound(x) (((x) + SK_FixedHalf) >> 16) -#define SkFixedCeil(x) (((x) + SK_Fixed1 - 1) >> 16) -#define SkFixedFloor(x) ((x) >> 16) + +#define SkFixedRoundToInt(x) (((x) + SK_FixedHalf) >> 16) +#define SkFixedCeilToInt(x) (((x) + SK_Fixed1 - 1) >> 16) +#define SkFixedFloorToInt(x) ((x) >> 16) + +#define SkFixedRoundToFixed(x) (((x) + SK_FixedHalf) & 0xFFFF0000) +#define SkFixedCeilToFixed(x) (((x) + SK_Fixed1 - 1) & 0xFFFF0000) +#define SkFixedFloorToFixed(x) ((x) & 0xFFFF0000) + +// DEPRECATED +#define SkFixedFloor(x) SkFixedFloorToInt(x) +#define SkFixedCeil(x) SkFixedCeilToInt(x) +#define SkFixedRound(x) SkFixedRoundToInt(x) + #define SkFixedAbs(x) SkAbs32(x) #define SkFixedAve(a, b) (((a) + (b)) >> 1) -// The same as SkIntToFixed(SkFixedFloor(x)) -#define SkFixedFloorToFixed(x) ((x) & ~0xFFFF) - SkFixed SkFixedMul_portable(SkFixed, SkFixed); SkFract SkFractMul_portable(SkFract, SkFract); inline SkFixed SkFixedSquare_portable(SkFixed value) diff --git a/include/core/SkScalar.h b/include/core/SkScalar.h index 5a5bda715d..e4f82ea22c 100644 --- a/include/core/SkScalar.h +++ b/include/core/SkScalar.h @@ -116,15 +116,15 @@ /** SkScalarFraction(x) returns the signed fractional part of the argument */ #define SkScalarFraction(x) sk_float_mod(x, 1.0f) - /** Rounds the SkScalar to the nearest integer value - */ - #define SkScalarRound(x) sk_float_round2int(x) - /** Returns the smallest integer that is >= the specified SkScalar - */ - #define SkScalarCeil(x) sk_float_ceil2int(x) - /** Returns the largest integer that is <= the specified SkScalar - */ - #define SkScalarFloor(x) sk_float_floor2int(x) + + #define SkScalarFloorToScalar(x) sk_float_floor(x) + #define SkScalarCeilToScalar(x) sk_float_ceil(x) + #define SkScalarRoundToScalar(x) sk_float_round(x) + + #define SkScalarFloorToInt(x) sk_float_floor2int(x) + #define SkScalarCeilToInt(x) sk_float_ceil2int(x) + #define SkScalarRoundToInt(x) sk_float_round2int(x) + /** Returns the absolute value of the specified SkScalar */ #define SkScalarAbs(x) sk_float_abs(x) @@ -230,9 +230,15 @@ #define SkDoubleToScalar(n) SkDoubleToFixed(n) #endif #define SkScalarFraction(x) SkFixedFraction(x) - #define SkScalarRound(x) SkFixedRound(x) - #define SkScalarCeil(x) SkFixedCeil(x) - #define SkScalarFloor(x) SkFixedFloor(x) + + #define SkScalarFloorToScalar(x) SkFixedFloorToFixed(x) + #define SkScalarCeilToScalar(x) SkFixedCeilToFixed(x) + #define SkScalarRoundToScalar(x) SkFixedRoundToFixed(x) + + #define SkScalarFloorToInt(x) SkFixedFloorToInt(x) + #define SkScalarCeilToInt(x) SkFixedCeilToInt(x) + #define SkScalarRoundToInt(x) SkFixedRoundToInt(x) + #define SkScalarAbs(x) SkFixedAbs(x) #define SkScalarCopySign(x, y) SkCopySign32(x, y) #define SkScalarClampMax(x, max) SkClampMax(x, max) @@ -277,6 +283,12 @@ } #endif +// DEPRECATED : use ToInt or ToScalar variant +#define SkScalarFloor(x) SkScalarFloorToInt(x) +#define SkScalarCeil(x) SkScalarCeilToInt(x) +#define SkScalarRound(x) SkScalarRoundToInt(x) + + #define SK_ScalarNearlyZero (SK_Scalar1 / (1 << 12)) /* <= is slower than < for floats, so we use < for our tolerance test |