1 /* 2 * Copyright 2012 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef GrPath_DEFINED 9 #define GrPath_DEFINED 10 11 #include "GrResource.h" 12 #include "GrResourceCache.h" 13 #include "SkPath.h" 14 #include "SkRect.h" 15 #include "SkStrokeRec.h" 16 17 class GrPath : public GrResource { 18 public: 19 SK_DECLARE_INST_COUNT(GrPath); 20 21 GrPath(GrGpu* gpu, bool isWrapped, const SkPath& skPath, const SkStrokeRec& stroke) 22 : INHERITED(gpu, isWrapped), 23 fSkPath(skPath), 24 fStroke(stroke), 25 fBounds(skPath.getBounds()) { 26 } 27 28 static GrResourceKey ComputeKey(const SkPath& path, const SkStrokeRec& stroke); 29 30 bool isEqualTo(const SkPath& path, const SkStrokeRec& stroke) { 31 return fSkPath == path && fStroke == stroke; 32 } 33 34 const SkRect& getBounds() const { return fBounds; } 35 36 const SkStrokeRec& getStroke() const { return fStroke; } 37 38 protected: 39 SkPath fSkPath; 40 SkStrokeRec fStroke; 41 SkRect fBounds; 42 43 private: 44 typedef GrResource INHERITED; 45 }; 46 47 #endif 48