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

Side by Side Diff: include/core/SkPath.h

Issue 146913002: Move fLastMoveToIndex from SkPath to SkPathRef (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: More clean up Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | include/core/SkPathRef.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkPath_DEFINED 10 #ifndef SkPath_DEFINED
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 kDirection_SerializationShift = 26, // requires 2 bits 955 kDirection_SerializationShift = 26, // requires 2 bits
956 kUnused2_SerializationShift = 25, // 1 free bit 956 kUnused2_SerializationShift = 25, // 1 free bit
957 // 1 free bit at 24 957 // 1 free bit at 24
958 kConvexity_SerializationShift = 16, // requires 8 bits 958 kConvexity_SerializationShift = 16, // requires 8 bits
959 kFillType_SerializationShift = 8, // requires 8 bits 959 kFillType_SerializationShift = 8, // requires 8 bits
960 // 8 free bits at 0 960 // 8 free bits at 0
961 }; 961 };
962 962
963 SkAutoTUnref<SkPathRef> fPathRef; 963 SkAutoTUnref<SkPathRef> fPathRef;
964 964
965 int fLastMoveToIndex;
966 uint8_t fFillType; 965 uint8_t fFillType;
967 mutable uint8_t fConvexity; 966 mutable uint8_t fConvexity;
968 mutable uint8_t fDirection; 967 mutable uint8_t fDirection;
969 #ifdef SK_BUILD_FOR_ANDROID 968 #ifdef SK_BUILD_FOR_ANDROID
970 const SkPath* fSourcePath; 969 const SkPath* fSourcePath;
971 #endif 970 #endif
972 971
973 /** Resets all fields other than fPathRef to their initial 'empty' values. 972 /** Resets all fields other than fPathRef to their initial 'empty' values.
974 * Assumes the caller has already emptied fPathRef. 973 * Assumes the caller has already emptied fPathRef.
975 * On Android increments fGenerationID without reseting it. 974 * On Android increments fGenerationID without reseting it.
(...skipping 15 matching lines...) Expand all
991 first point is automatically set to (0,0). 990 first point is automatically set to (0,0).
992 */ 991 */
993 void reversePathTo(const SkPath&); 992 void reversePathTo(const SkPath&);
994 993
995 // called before we add points for lineTo, quadTo, cubicTo, checking to see 994 // called before we add points for lineTo, quadTo, cubicTo, checking to see
996 // if we need to inject a leading moveTo first 995 // if we need to inject a leading moveTo first
997 // 996 //
998 // SkPath path; path.lineTo(...); <--- need a leading moveTo(0, 0) 997 // SkPath path; path.lineTo(...); <--- need a leading moveTo(0, 0)
999 // SkPath path; ... path.close(); path.lineTo(...) <-- need a moveTo(previou s moveTo) 998 // SkPath path; ... path.close(); path.lineTo(...) <-- need a moveTo(previou s moveTo)
1000 // 999 //
1001 inline void injectMoveToIfNeeded(); 1000 void injectMoveToIfNeeded() {
1001 SkPathRef::Editor ed(&fPathRef);
1002 ed.injectMoveToIfNeeded();
1003 }
1002 1004
1003 inline bool hasOnlyMoveTos() const; 1005 inline bool hasOnlyMoveTos() const;
1004 1006
1005 Convexity internalGetConvexity() const; 1007 Convexity internalGetConvexity() const;
1006 1008
1007 bool isRectContour(bool allowPartial, int* currVerb, const SkPoint** pts, 1009 bool isRectContour(bool allowPartial, int* currVerb, const SkPoint** pts,
1008 bool* isClosed, Direction* direction) const; 1010 bool* isClosed, Direction* direction) const;
1009 1011
1010 /** Returns if the path can return a bound at no cost (true) or will have to 1012 /** Returns if the path can return a bound at no cost (true) or will have to
1011 perform some computation (false). 1013 perform some computation (false).
(...skipping 12 matching lines...) Expand all
1024 } 1026 }
1025 1027
1026 friend class SkAutoPathBoundsUpdate; 1028 friend class SkAutoPathBoundsUpdate;
1027 friend class SkAutoDisableOvalCheck; 1029 friend class SkAutoDisableOvalCheck;
1028 friend class SkAutoDisableDirectionCheck; 1030 friend class SkAutoDisableDirectionCheck;
1029 friend class SkBench_AddPathTest; // perf test reversePathTo 1031 friend class SkBench_AddPathTest; // perf test reversePathTo
1030 friend class PathTest_Private; // unit test reversePathTo 1032 friend class PathTest_Private; // unit test reversePathTo
1031 }; 1033 };
1032 1034
1033 #endif 1035 #endif
OLDNEW
« no previous file with comments | « no previous file | include/core/SkPathRef.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698