aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/gradients/SkLinearGradient.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/gradients/SkLinearGradient.h')
-rw-r--r--src/effects/gradients/SkLinearGradient.h87
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