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

Side by Side Diff: src/effects/SkLayerRasterizer.cpp

Issue 134163010: Refactor read and write buffers. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: original write flags were fine 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
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 #include "SkLayerRasterizer.h" 10 #include "SkLayerRasterizer.h"
11 #include "SkDraw.h" 11 #include "SkDraw.h"
12 #include "SkFlattenableBuffers.h" 12 #include "SkReadBuffer.h"
13 #include "SkWriteBuffer.h"
13 #include "SkMask.h" 14 #include "SkMask.h"
14 #include "SkMaskFilter.h" 15 #include "SkMaskFilter.h"
15 #include "SkPaint.h" 16 #include "SkPaint.h"
16 #include "SkPath.h" 17 #include "SkPath.h"
17 #include "SkPathEffect.h" 18 #include "SkPathEffect.h"
18 #include "../core/SkRasterClip.h" 19 #include "../core/SkRasterClip.h"
19 #include "SkXfermode.h" 20 #include "SkXfermode.h"
20 #include <new> 21 #include <new>
21 22
22 struct SkLayerRasterizer_Rec { 23 struct SkLayerRasterizer_Rec {
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 137
137 while ((rec = (SkLayerRasterizer_Rec*)iter.next()) != NULL) { 138 while ((rec = (SkLayerRasterizer_Rec*)iter.next()) != NULL) {
138 drawMatrix = translatedMatrix; 139 drawMatrix = translatedMatrix;
139 drawMatrix.preTranslate(rec->fOffset.fX, rec->fOffset.fY); 140 drawMatrix.preTranslate(rec->fOffset.fX, rec->fOffset.fY);
140 draw.drawPath(path, rec->fPaint); 141 draw.drawPath(path, rec->fPaint);
141 } 142 }
142 } 143 }
143 return true; 144 return true;
144 } 145 }
145 146
146 SkLayerRasterizer::SkLayerRasterizer(SkFlattenableReadBuffer& buffer) 147 SkLayerRasterizer::SkLayerRasterizer(SkReadBuffer& buffer)
147 : SkRasterizer(buffer), fLayers(sizeof(SkLayerRasterizer_Rec)) { 148 : SkRasterizer(buffer), fLayers(sizeof(SkLayerRasterizer_Rec)) {
148 int count = buffer.readInt(); 149 int count = buffer.readInt();
149 150
150 for (int i = 0; i < count; i++) { 151 for (int i = 0; i < count; i++) {
151 SkLayerRasterizer_Rec* rec = (SkLayerRasterizer_Rec*)fLayers.push_back() ; 152 SkLayerRasterizer_Rec* rec = (SkLayerRasterizer_Rec*)fLayers.push_back() ;
152 153
153 SkNEW_PLACEMENT(&rec->fPaint, SkPaint); 154 SkNEW_PLACEMENT(&rec->fPaint, SkPaint);
154 buffer.readPaint(&rec->fPaint); 155 buffer.readPaint(&rec->fPaint);
155 buffer.readPoint(&rec->fOffset); 156 buffer.readPoint(&rec->fOffset);
156 } 157 }
157 } 158 }
158 159
159 void SkLayerRasterizer::flatten(SkFlattenableWriteBuffer& buffer) const { 160 void SkLayerRasterizer::flatten(SkWriteBuffer& buffer) const {
160 this->INHERITED::flatten(buffer); 161 this->INHERITED::flatten(buffer);
161 162
162 buffer.writeInt(fLayers.count()); 163 buffer.writeInt(fLayers.count());
163 164
164 SkDeque::F2BIter iter(fLayers); 165 SkDeque::F2BIter iter(fLayers);
165 const SkLayerRasterizer_Rec* rec; 166 const SkLayerRasterizer_Rec* rec;
166 167
167 while ((rec = (const SkLayerRasterizer_Rec*)iter.next()) != NULL) { 168 while ((rec = (const SkLayerRasterizer_Rec*)iter.next()) != NULL) {
168 buffer.writePaint(rec->fPaint); 169 buffer.writePaint(rec->fPaint);
169 buffer.writePoint(rec->fOffset); 170 buffer.writePoint(rec->fOffset);
170 } 171 }
171 } 172 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698