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

Unified Diff: skia/effects/SkLayerDrawLooper.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/effects/SkKernel33MaskFilter.cpp ('k') | skia/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/effects/SkLayerDrawLooper.cpp
===================================================================
--- skia/effects/SkLayerDrawLooper.cpp (revision 16859)
+++ skia/effects/SkLayerDrawLooper.cpp (working copy)
@@ -1,130 +0,0 @@
-#include "SkCanvas.h"
-#include "SkLayerDrawLooper.h"
-#include "SkPaint.h"
-
-SkLayerDrawLooper::SkLayerDrawLooper() {
- fRecs = NULL;
- fCount = 0;
-}
-
-SkLayerDrawLooper::~SkLayerDrawLooper() {
- Rec* rec = fRecs;
- while (rec) {
- Rec* next = rec->fNext;
- SkDELETE(rec);
- rec = next;
- }
-}
-
-SkPaint* SkLayerDrawLooper::addLayer(SkScalar dx, SkScalar dy) {
- fCount += 1;
-
- Rec* rec = SkNEW(Rec);
- rec->fNext = fRecs;
- rec->fOffset.set(dx, dy);
- fRecs = rec;
-
- return &rec->fPaint;
-}
-
-void SkLayerDrawLooper::init(SkCanvas* canvas, SkPaint* paint) {
- fIter.fSavedPaint = *paint;
- fIter.fPaint = paint;
- fIter.fCanvas = canvas;
- fIter.fRec = fRecs;
- canvas->save(SkCanvas::kMatrix_SaveFlag);
-}
-
-bool SkLayerDrawLooper::next() {
- Rec* rec = fIter.fRec;
- if (rec) {
- *fIter.fPaint = rec->fPaint;
- fIter.fCanvas->restore();
- fIter.fCanvas->save(SkCanvas::kMatrix_SaveFlag);
- fIter.fCanvas->translate(rec->fOffset.fX, rec->fOffset.fY);
-
- fIter.fRec = rec->fNext;
- return true;
- }
- return false;
-}
-
-void SkLayerDrawLooper::restore() {
- fIter.fCanvas->restore();
- *fIter.fPaint = fIter.fSavedPaint;
-}
-
-SkLayerDrawLooper::Rec* SkLayerDrawLooper::Rec::Reverse(Rec* head) {
- Rec* rec = head;
- Rec* prev = NULL;
- while (rec) {
- Rec* next = rec->fNext;
- rec->fNext = prev;
- prev = rec;
- rec = next;
- }
- return prev;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-void SkLayerDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) {
- this->INHERITED::flatten(buffer);
-
-#ifdef SK_DEBUG
- {
- Rec* rec = fRecs;
- int count = 0;
- while (rec) {
- rec = rec->fNext;
- count += 1;
- }
- SkASSERT(count == fCount);
- }
-#endif
-
- buffer.writeInt(fCount);
-
- Rec* rec = fRecs;
- for (int i = 0; i < fCount; i++) {
- buffer.writeScalar(rec->fOffset.fX);
- buffer.writeScalar(rec->fOffset.fY);
- rec->fPaint.flatten(buffer);
- rec = rec->fNext;
- }
-}
-
-SkLayerDrawLooper::SkLayerDrawLooper(SkFlattenableReadBuffer& buffer)
- : INHERITED(buffer) {
- fRecs = NULL;
- fCount = 0;
-
- int count = buffer.readInt();
-
- for (int i = 0; i < count; i++) {
- SkScalar dx = buffer.readScalar();
- SkScalar dy = buffer.readScalar();
- this->addLayer(dx, dy)->unflatten(buffer);
- }
- SkASSERT(count == fCount);
-
- // we're in reverse order, so fix it now
- fRecs = Rec::Reverse(fRecs);
-
-#ifdef SK_DEBUG
- {
- Rec* rec = fRecs;
- int n = 0;
- while (rec) {
- rec = rec->fNext;
- n += 1;
- }
- SkASSERT(count == n);
- }
-#endif
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-static SkFlattenable::Registrar gReg("SkLayerDrawLooper",
- SkLayerDrawLooper::CreateProc);
« no previous file with comments | « skia/effects/SkKernel33MaskFilter.cpp ('k') | skia/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698