Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(625)

Side by Side Diff: src/effects/gradients/SkTwoPointRadialGradient.h

Issue 1114243005: remove (redundant) twopointradial shader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1
2 /*
3 * Copyright 2012 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9 #ifndef SkTwoPointRadialGradient_DEFINED
10 #define SkTwoPointRadialGradient_DEFINED
11
12 #include "SkGradientShaderPriv.h"
13
14 class SkTwoPointRadialGradient : public SkGradientShaderBase {
15 public:
16 SkTwoPointRadialGradient(const SkPoint& start, SkScalar startRadius,
17 const SkPoint& end, SkScalar endRadius,
18 const Descriptor&);
19
20 virtual BitmapType asABitmap(SkBitmap* bitmap,
21 SkMatrix* matrix,
22 TileMode* xy) const override;
23 GradientType asAGradient(GradientInfo* info) const override;
24 virtual bool asFragmentProcessor(GrContext* context, const SkPaint&, const S kMatrix& viewM,
25 const SkMatrix*, GrColor*,
26 GrFragmentProcessor**) const override;
27
28 size_t contextSize() const override;
29
30 class TwoPointRadialGradientContext : public SkGradientShaderBase::GradientS haderBaseContext {
31 public:
32 TwoPointRadialGradientContext(const SkTwoPointRadialGradient&, const Con textRec&);
33
34 void shadeSpan(int x, int y, SkPMColor dstC[], int count) override;
35
36 private:
37 typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED;
38 };
39
40 SkScalar getCenterX1() const { return fDiff.length(); }
41 SkScalar getStartRadius() const { return fStartRadius; }
42 SkScalar getDiffRadius() const { return fDiffRadius; }
43
44 SK_TO_STRING_OVERRIDE()
45 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTwoPointRadialGradient )
46
47 protected:
48 SkTwoPointRadialGradient(SkReadBuffer& buffer);
49 void flatten(SkWriteBuffer& buffer) const override;
50 Context* onCreateContext(const ContextRec&, void* storage) const override;
51
52 private:
53 const SkPoint fCenter1;
54 const SkPoint fCenter2;
55 const SkScalar fRadius1;
56 const SkScalar fRadius2;
57 SkPoint fDiff;
58 SkScalar fStartRadius, fDiffRadius, fSr2D2, fA, fOneOverTwoA;
59
60 friend class SkGradientShader;
61 typedef SkGradientShaderBase INHERITED;
62 };
63
64 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkGradientShader.cpp ('k') | src/effects/gradients/SkTwoPointRadialGradient.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698