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

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

Issue 563783003: Ensure blob typeface information survives SkGPipe serialization. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Pass TypefaceBuffer by ptr Created 6 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 | « gm/textblob.cpp ('k') | src/pipe/SkGPipeRead.cpp » ('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 2008 The Android Open Source Project 3 * Copyright 2008 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 SkPtrSet_DEFINED 10 #ifndef SkPtrSet_DEFINED
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 * incPtr() and decPtr() are not called during this operation. 51 * incPtr() and decPtr() are not called during this operation.
52 */ 52 */
53 void copyToArray(void* array[]) const; 53 void copyToArray(void* array[]) const;
54 54
55 /** 55 /**
56 * Call decPtr() on each ptr in the set, and the reset the size of the set 56 * Call decPtr() on each ptr in the set, and the reset the size of the set
57 * to 0. 57 * to 0.
58 */ 58 */
59 void reset(); 59 void reset();
60 60
61 /**
62 * Set iterator.
63 */
64 class Iter {
65 public:
66 Iter(const SkPtrSet& set)
67 : fSet(set)
68 , fIndex(0) {}
69
70 /**
71 * Return the next ptr in the set or null if the end was reached.
72 */
73 void* next() {
74 return fIndex < fSet.fList.count() ? fSet.fList[fIndex++].fPtr : NUL L;
75 }
76
77 private:
78 const SkPtrSet& fSet;
79 int fIndex;
80 };
81
61 protected: 82 protected:
62 virtual void incPtr(void*) {} 83 virtual void incPtr(void*) {}
63 virtual void decPtr(void*) {} 84 virtual void decPtr(void*) {}
64 85
65 private: 86 private:
66 struct Pair { 87 struct Pair {
67 void* fPtr; // never NULL 88 void* fPtr; // never NULL
68 uint32_t fIndex; // 1...N 89 uint32_t fIndex; // 1...N
69 }; 90 };
70 91
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 const char* getNextAddedFactoryName(); 163 const char* getNextAddedFactoryName();
143 private: 164 private:
144 int fNextAddedFactory; 165 int fNextAddedFactory;
145 SkFactorySet fFactorySet; 166 SkFactorySet fFactorySet;
146 SkTDArray<const char*> fNames; 167 SkTDArray<const char*> fNames;
147 168
148 typedef SkRefCnt INHERITED; 169 typedef SkRefCnt INHERITED;
149 }; 170 };
150 171
151 #endif 172 #endif
OLDNEW
« no previous file with comments | « gm/textblob.cpp ('k') | src/pipe/SkGPipeRead.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698