diff options
author | Torne (Richard Coles) <torne@google.com> | 2014-01-07 11:51:33 +0000 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2014-01-07 11:51:33 +0000 |
commit | 8d71c064730a0eec8ed758c5dd8c18fd6b5e0f06 (patch) | |
tree | c4206163e88e1227e4eca4ebf32074df54ec9839 | |
parent | 4865519fb17bc38732621183ee62a9e9bf3f4d2c (diff) | |
parent | abb8f3b8ecef5688d1e5c29aad9bac4cd389940c (diff) | |
download | include-8d71c064730a0eec8ed758c5dd8c18fd6b5e0f06.tar.gz |
Merge third_party/skia/include from https://chromium.googlesource.com/a/external/skia/include.git at abb8f3b8ecef5688d1e5c29aad9bac4cd389940c
This commit was generated by merge_from_chromium.py.
Change-Id: I0b728b0eb9377f050e8f35ca9d22c6818d1094cb
-rw-r--r-- | core/SkCanvas.h | 26 | ||||
-rw-r--r-- | core/SkScalarCompare.h | 38 |
2 files changed, 12 insertions, 52 deletions
diff --git a/core/SkCanvas.h b/core/SkCanvas.h index 6c41680..5a5cc65 100644 --- a/core/SkCanvas.h +++ b/core/SkCanvas.h @@ -18,7 +18,6 @@ #include "SkRefCnt.h" #include "SkPath.h" #include "SkRegion.h" -#include "SkScalarCompare.h" #include "SkXfermode.h" class SkBounder; @@ -455,14 +454,13 @@ public: not intersect the current clip) */ bool quickRejectY(SkScalar top, SkScalar bottom) const { - SkASSERT(SkScalarToCompareType(top) <= SkScalarToCompareType(bottom)); - const SkRectCompareType& clipR = this->getLocalClipBoundsCompareType(); + SkASSERT(top <= bottom); + const SkRect& clipR = this->getLocalClipBounds(); // In the case where the clip is empty and we are provided with a // negative top and positive bottom parameter then this test will return // false even though it will be clipped. We have chosen to exclude that // check as it is rare and would result double the comparisons. - return SkScalarToCompareType(top) >= clipR.fBottom - || SkScalarToCompareType(bottom) <= clipR.fTop; + return top >= clipR.fBottom || bottom <= clipR.fTop; } /** Return the bounds of the current clip (in local coordinates) in the @@ -1100,20 +1098,20 @@ private: /* These maintain a cache of the clip bounds in local coordinates, (converted to 2s-compliment if floats are slow). */ - mutable SkRectCompareType fLocalBoundsCompareType; - mutable bool fLocalBoundsCompareTypeDirty; + mutable SkRect fCachedLocalClipBounds; + mutable bool fCachedLocalClipBoundsDirty; bool fAllowSoftClip; bool fAllowSimplifyClip; - const SkRectCompareType& getLocalClipBoundsCompareType() const { - if (fLocalBoundsCompareTypeDirty) { - this->computeLocalClipBoundsCompareType(); - fLocalBoundsCompareTypeDirty = false; + const SkRect& getLocalClipBounds() const { + if (fCachedLocalClipBoundsDirty) { + if (!this->getClipBounds(&fCachedLocalClipBounds)) { + fCachedLocalClipBounds.setEmpty(); + } + fCachedLocalClipBoundsDirty = false; } - return fLocalBoundsCompareType; + return fCachedLocalClipBounds; } - void computeLocalClipBoundsCompareType() const; - class AutoValidateClip : ::SkNoncopyable { public: diff --git a/core/SkScalarCompare.h b/core/SkScalarCompare.h deleted file mode 100644 index 5361294..0000000 --- a/core/SkScalarCompare.h +++ /dev/null @@ -1,38 +0,0 @@ - -/* - * Copyright 2006 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - - -#ifndef SkScalarCompare_DEFINED -#define SkScalarCompare_DEFINED - -#include "SkFloatBits.h" -#include "SkRect.h" - -/** Skia can spend a lot of time just comparing scalars (e.g. quickReject). - When scalar==fixed, this is very fast, and when scalar==hardware-float, this - is also reasonable, but if scalar==software-float, then each compare can be - a function call and take real time. To account for that, we have the flag - SK_SCALAR_SLOW_COMPARES. - - If this is defined, we have a special trick where we quickly convert floats - to a 2's compliment form, and then treat them as signed 32bit integers. In - this form we lose a few subtlties (e.g. NaNs always comparing false) but - we gain the speed of integer compares. - */ - -#ifdef SK_SCALAR_SLOW_COMPARES - typedef int32_t SkScalarCompareType; - typedef SkIRect SkRectCompareType; - #define SkScalarToCompareType(x) SkScalarAs2sCompliment(x) -#else - typedef SkScalar SkScalarCompareType; - typedef SkRect SkRectCompareType; - #define SkScalarToCompareType(x) (x) -#endif - -#endif |