diff options
Diffstat (limited to 'src/effects/gradients/SkLinearGradient.h')
-rw-r--r-- | src/effects/gradients/SkLinearGradient.h | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/effects/gradients/SkLinearGradient.h b/src/effects/gradients/SkLinearGradient.h deleted file mode 100644 index 19a965c7bb..0000000000 --- a/src/effects/gradients/SkLinearGradient.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2012 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkLinearGradient_DEFINED -#define SkLinearGradient_DEFINED - -#include "SkGradientShaderPriv.h" -#include "SkNx.h" - -struct Sk4fStorage { - float fArray[4]; - - operator Sk4f() const { - return Sk4f::Load(fArray); - } - - Sk4fStorage& operator=(const Sk4f& src) { - src.store(fArray); - return *this; - } -}; - -class SkLinearGradient : public SkGradientShaderBase { -public: - enum { - // Temp flag for testing the 4f impl. - kForce4fContext_PrivateFlag = 1 << 7, - }; - - SkLinearGradient(const SkPoint pts[2], const Descriptor&); - - class LinearGradientContext : public SkGradientShaderBase::GradientShaderBaseContext { - public: - LinearGradientContext(const SkLinearGradient&, const ContextRec&); - - void shadeSpan(int x, int y, SkPMColor dstC[], int count) override; - - struct Rec { - Sk4fStorage fColor; - float fPos; - float fPosScale; - }; - private: - SkTDArray<Rec> fRecs; - bool fApplyAlphaAfterInterp; - - void shade4_clamp(int x, int y, SkPMColor dstC[], int count); - template <bool, bool> void shade4_dx_clamp(SkPMColor dstC[], int count, float fx, float dx, - float invDx, const float dither[2]); - - typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; - }; - - GradientType asAGradient(GradientInfo* info) const override; -#if SK_SUPPORT_GPU - sk_sp<GrFragmentProcessor> asFragmentProcessor(const AsFPArgs&) const override; -#endif - - SK_TO_STRING_OVERRIDE() - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient) - -protected: - SkLinearGradient(SkReadBuffer& buffer); - void flatten(SkWriteBuffer& buffer) const override; - Context* onMakeContext(const ContextRec&, SkArenaAlloc*) const override; - - bool adjustMatrixAndAppendStages(SkArenaAlloc* alloc, - SkMatrix* matrix, - SkRasterPipeline* p) const final; - - - sk_sp<SkShader> onMakeColorSpace(SkColorSpaceXformer* xformer) const override; - -private: - class LinearGradient4fContext; - - friend class SkGradientShader; - typedef SkGradientShaderBase INHERITED; - const SkPoint fStart; - const SkPoint fEnd; -}; - -#endif |