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

Side by Side Diff: src/gpu/GrPath.h

Issue 400713003: Add a GrPathRange class (Closed) Base URL: https://skia.googlesource.com/skia.git@clupload-ispath
Patch Set: Fix more windows trivial warningswq Created 6 years, 5 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
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 GrPath_DEFINED 8 #ifndef GrPath_DEFINED
9 #define GrPath_DEFINED 9 #define GrPath_DEFINED
10 10
11 #include "GrGpuObject.h" 11 #include "GrGpuObject.h"
12 #include "GrResourceCache.h" 12 #include "GrResourceCache.h"
13 #include "SkPath.h" 13 #include "SkPath.h"
14 #include "SkRect.h" 14 #include "SkRect.h"
15 #include "SkStrokeRec.h" 15 #include "SkStrokeRec.h"
16 16
17 class GrPath : public GrGpuObject { 17 class GrPath : public GrGpuObject {
18 public: 18 public:
19 SK_DECLARE_INST_COUNT(GrPath); 19 SK_DECLARE_INST_COUNT(GrPath);
20 20
21 /**
22 * Initialize to a path with a fixed stroke. Stroke must not be hairline.
23 */
21 GrPath(GrGpu* gpu, bool isWrapped, const SkPath& skPath, const SkStrokeRec& stroke) 24 GrPath(GrGpu* gpu, bool isWrapped, const SkPath& skPath, const SkStrokeRec& stroke)
22 : INHERITED(gpu, isWrapped), 25 : INHERITED(gpu, isWrapped),
23 fSkPath(skPath), 26 fSkPath(skPath),
24 fStroke(stroke), 27 fStroke(stroke),
25 fBounds(skPath.getBounds()) { 28 fBounds(skPath.getBounds()) {
26 } 29 }
27 30
28 static GrResourceKey ComputeKey(const SkPath& path, const SkStrokeRec& strok e); 31 static GrResourceKey ComputeKey(const SkPath& path, const SkStrokeRec& strok e);
32 static uint64_t ComputeStrokeKey(const SkStrokeRec&);
29 33
30 bool isEqualTo(const SkPath& path, const SkStrokeRec& stroke) { 34 bool isEqualTo(const SkPath& path, const SkStrokeRec& stroke) {
31 return fSkPath == path && fStroke == stroke; 35 return fSkPath == path && fStroke == stroke;
32 } 36 }
33 37
34 const SkRect& getBounds() const { return fBounds; } 38 const SkRect& getBounds() const { return fBounds; }
35 39
36 const SkStrokeRec& getStroke() const { return fStroke; } 40 const SkStrokeRec& getStroke() const { return fStroke; }
37 41
38 protected: 42 protected:
39 SkPath fSkPath; 43 SkPath fSkPath;
40 SkStrokeRec fStroke; 44 SkStrokeRec fStroke;
41 SkRect fBounds; 45 SkRect fBounds;
42 46
43 private: 47 private:
44 typedef GrGpuObject INHERITED; 48 typedef GrGpuObject INHERITED;
45 }; 49 };
46 50
47 #endif 51 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698