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

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

Issue 395603002: Simplify flattening to just write enough to call the factory (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: simplify xfermodes, fix SkLayerDrawLooper Created 6 years, 4 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"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 141
142 while ((rec = (SkLayerRasterizer_Rec*)iter.next()) != NULL) { 142 while ((rec = (SkLayerRasterizer_Rec*)iter.next()) != NULL) {
143 drawMatrix = translatedMatrix; 143 drawMatrix = translatedMatrix;
144 drawMatrix.preTranslate(rec->fOffset.fX, rec->fOffset.fY); 144 drawMatrix.preTranslate(rec->fOffset.fX, rec->fOffset.fY);
145 draw.drawPath(path, rec->fPaint); 145 draw.drawPath(path, rec->fPaint);
146 } 146 }
147 } 147 }
148 return true; 148 return true;
149 } 149 }
150 150
151 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
151 SkLayerRasterizer::SkLayerRasterizer(SkReadBuffer& buffer) 152 SkLayerRasterizer::SkLayerRasterizer(SkReadBuffer& buffer)
152 : SkRasterizer(buffer), fLayers(ReadLayers(buffer)) {} 153 : SkRasterizer(buffer), fLayers(ReadLayers(buffer)) {}
154 #endif
155
156 SkFlattenable* SkLayerRasterizer::CreateProc(SkReadBuffer& buffer) {
157 return SkNEW_ARGS(SkLayerRasterizer, (ReadLayers(buffer)));
158 }
153 159
154 SkDeque* SkLayerRasterizer::ReadLayers(SkReadBuffer& buffer) { 160 SkDeque* SkLayerRasterizer::ReadLayers(SkReadBuffer& buffer) {
155 int count = buffer.readInt(); 161 int count = buffer.readInt();
156 162
sugoi1 2014/08/19 18:46:17 White space changes?
reed1 2014/08/19 19:58:06 Done.
157 SkDeque* layers = SkNEW_ARGS(SkDeque, (sizeof(SkLayerRasterizer_Rec))); 163 SkDeque* layers = SkNEW_ARGS(SkDeque, (sizeof(SkLayerRasterizer_Rec)));
158 for (int i = 0; i < count; i++) { 164 for (int i = 0; i < count; i++) {
159 SkLayerRasterizer_Rec* rec = (SkLayerRasterizer_Rec*)layers->push_back() ; 165 SkLayerRasterizer_Rec* rec = (SkLayerRasterizer_Rec*)layers->push_back() ;
160 166
161 SkNEW_PLACEMENT(&rec->fPaint, SkPaint); 167 SkNEW_PLACEMENT(&rec->fPaint, SkPaint);
162 buffer.readPaint(&rec->fPaint); 168 buffer.readPaint(&rec->fPaint);
163 buffer.readPoint(&rec->fOffset); 169 buffer.readPoint(&rec->fOffset);
164 } 170 }
165 return layers; 171 return layers;
166 } 172 }
167 173
168 void SkLayerRasterizer::flatten(SkWriteBuffer& buffer) const { 174 void SkLayerRasterizer::flatten(SkWriteBuffer& buffer) const {
169 this->INHERITED::flatten(buffer); 175 this->INHERITED::flatten(buffer);
170 176
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 SkDEBUGCODE(count++); 231 SkDEBUGCODE(count++);
226 SkLayerRasterizer_Rec* recCopy = static_cast<SkLayerRasterizer_Rec*>(lay ers->push_back()); 232 SkLayerRasterizer_Rec* recCopy = static_cast<SkLayerRasterizer_Rec*>(lay ers->push_back());
227 SkNEW_PLACEMENT_ARGS(&recCopy->fPaint, SkPaint, (recOrig->fPaint)); 233 SkNEW_PLACEMENT_ARGS(&recCopy->fPaint, SkPaint, (recOrig->fPaint));
228 recCopy->fOffset = recOrig->fOffset; 234 recCopy->fOffset = recOrig->fOffset;
229 } 235 }
230 SkASSERT(fLayers->count() == count); 236 SkASSERT(fLayers->count() == count);
231 SkASSERT(layers->count() == count); 237 SkASSERT(layers->count() == count);
232 SkLayerRasterizer* rasterizer = SkNEW_ARGS(SkLayerRasterizer, (layers)); 238 SkLayerRasterizer* rasterizer = SkNEW_ARGS(SkLayerRasterizer, (layers));
233 return rasterizer; 239 return rasterizer;
234 } 240 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698