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

Side by Side Diff: src/core/SkLiteDL.h

Issue 2315283002: SkLiteDL: drawAsLayer() (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « no previous file | src/core/SkLiteDL.cpp » ('j') | src/core/SkLiteDL.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkLiteDL_DEFINED 8 #ifndef SkLiteDL_DEFINED
9 #define SkLiteDL_DEFINED 9 #define SkLiteDL_DEFINED
10 10
11 #include "SkCanvas.h" 11 #include "SkCanvas.h"
12 #include "SkPaint.h" 12 #include "SkPaint.h"
13 #include "SkPath.h" 13 #include "SkPath.h"
14 #include "SkDrawable.h" 14 #include "SkDrawable.h"
15 #include "SkRect.h" 15 #include "SkRect.h"
16 #include "SkTDArray.h" 16 #include "SkTDArray.h"
17 17
18 class SkLiteDL final : public SkDrawable { 18 class SkLiteDL final : public SkDrawable {
19 public: 19 public:
20 static sk_sp<SkLiteDL> New(SkRect); 20 static sk_sp<SkLiteDL> New(SkRect);
21 void reset(SkRect); 21 void reset(SkRect);
22 22
23 void makeThreadsafe(); 23 void makeThreadsafe();
24 bool empty() const { return fUsed == 0; } 24 bool empty() const { return fUsed == 0; }
25 25
26 #ifdef SK_SUPPORT_LEGACY_DRAWFILTER 26 #ifdef SK_SUPPORT_LEGACY_DRAWFILTER
27 void setDrawFilter(SkDrawFilter*); 27 void setDrawFilter(SkDrawFilter*);
28 #endif 28 #endif
29 29
30 // Draws as if...
31 // SkPaint p;
32 // p.setColorFilter(cf);
33 // p.setXfermode(xfer);
34 // p.setAlpha(alpha);
35 // SkRect bounds = this->getBounds();
36 // c->saveLayer(&bounds, &p);
37 // this->draw(c, matrix);
38 // c->restore();
39 void drawAsLayer(SkCanvas* c, const SkMatrix* matrix
djsollen 2016/09/07 14:31:36 yep, though in my current case matrix will always
reed1 2016/09/07 15:29:55 drawPicture has nearly this signature already: ca
mtklein 2016/09/08 15:20:54 sgtm, ptal
40 , SkColorFilter* cf
41 , SkXfermode* xfer
42 , U8CPU alpha);
43
30 void save(); 44 void save();
31 void saveLayer(const SkRect*, const SkPaint*, const SkImageFilter*, SkCanvas ::SaveLayerFlags); 45 void saveLayer(const SkRect*, const SkPaint*, const SkImageFilter*, SkCanvas ::SaveLayerFlags);
32 void restore(); 46 void restore();
33 47
34 void concat (const SkMatrix&); 48 void concat (const SkMatrix&);
35 void setMatrix (const SkMatrix&); 49 void setMatrix (const SkMatrix&);
36 void translate(SkScalar, SkScalar); 50 void translate(SkScalar, SkScalar);
37 void translateZ(SkScalar); 51 void translateZ(SkScalar);
38 52
39 void clipPath (const SkPath&, SkRegion::Op, bool aa); 53 void clipPath (const SkPath&, SkRegion::Op, bool aa);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 template <typename Fn, typename... Args> 111 template <typename Fn, typename... Args>
98 void map(const Fn[], Args...); 112 void map(const Fn[], Args...);
99 113
100 SkAutoTMalloc<uint8_t> fBytes; 114 SkAutoTMalloc<uint8_t> fBytes;
101 size_t fUsed; 115 size_t fUsed;
102 size_t fReserved; 116 size_t fReserved;
103 SkRect fBounds; 117 SkRect fBounds;
104 }; 118 };
105 119
106 #endif//SkLiteDL_DEFINED 120 #endif//SkLiteDL_DEFINED
OLDNEW
« no previous file with comments | « no previous file | src/core/SkLiteDL.cpp » ('j') | src/core/SkLiteDL.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698