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

Side by Side Diff: debugger/SkDebugger.cpp

Issue 513983002: Try out scalar picture sizes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Update to ToT again 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 | « debugger/SkDebugger.h ('k') | dm/DMPDFTask.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 2012 Google Inc. 3 * Copyright 2012 Google Inc.
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 #include "SkDebugger.h" 9 #include "SkDebugger.h"
10 #include "SkPictureRecorder.h" 10 #include "SkPictureRecorder.h"
11 #include "SkString.h" 11 #include "SkString.h"
12 12
13 13
14 SkDebugger::SkDebugger() { 14 SkDebugger::SkDebugger() {
15 // Create this some other dynamic way? 15 // Create this some other dynamic way?
16 fDebugCanvas = new SkDebugCanvas(100, 100); 16 fDebugCanvas = new SkDebugCanvas(0, 0);
17 fPicture = NULL; 17 fPicture = NULL;
18 fPictureWidth = 0;
19 fPictureHeight = 0;
20 fIndex = 0; 18 fIndex = 0;
21 } 19 }
22 20
23 SkDebugger::~SkDebugger() { 21 SkDebugger::~SkDebugger() {
24 // Need to inherit from SkRef object in order for following to work 22 // Need to inherit from SkRef object in order for following to work
25 SkSafeUnref(fDebugCanvas); 23 SkSafeUnref(fDebugCanvas);
26 SkSafeUnref(fPicture); 24 SkSafeUnref(fPicture);
27 } 25 }
28 26
29 void SkDebugger::loadPicture(SkPicture* picture) { 27 void SkDebugger::loadPicture(SkPicture* picture) {
30 fPictureWidth = picture->width(); 28 SkRefCnt_SafeAssign(fPicture, picture);
31 fPictureHeight = picture->height(); 29
32 delete fDebugCanvas; 30 delete fDebugCanvas;
33 fDebugCanvas = new SkDebugCanvas(fPictureWidth, fPictureHeight); 31 fDebugCanvas = new SkDebugCanvas(SkScalarCeilToInt(this->pictureCull().width ()),
34 fDebugCanvas->setBounds(fPictureWidth, fPictureHeight); 32 SkScalarCeilToInt(this->pictureCull().heigh t()));
35 fDebugCanvas->setPicture(picture); 33 fDebugCanvas->setPicture(picture);
36 picture->draw(fDebugCanvas); 34 picture->draw(fDebugCanvas);
37 fDebugCanvas->setPicture(NULL); 35 fDebugCanvas->setPicture(NULL);
38 fIndex = fDebugCanvas->getSize() - 1; 36 fIndex = fDebugCanvas->getSize() - 1;
39 SkRefCnt_SafeAssign(fPicture, picture);
40 } 37 }
41 38
42 SkPicture* SkDebugger::copyPicture() { 39 SkPicture* SkDebugger::copyPicture() {
43 // We can't just call clone here since we want to removed the "deleted" 40 // We can't just call clone here since we want to removed the "deleted"
44 // commands. Playing back will strip those out. 41 // commands. Playing back will strip those out.
45 SkPictureRecorder recorder; 42 SkPictureRecorder recorder;
46 SkCanvas* canvas = recorder.beginRecording(fPictureWidth, fPictureHeight, NU LL, 0); 43 SkCanvas* canvas = recorder.beginRecording(this->pictureCull().width(),
44 this->pictureCull().height());
47 45
48 bool vizMode = fDebugCanvas->getMegaVizMode(); 46 bool vizMode = fDebugCanvas->getMegaVizMode();
49 fDebugCanvas->setMegaVizMode(false); 47 fDebugCanvas->setMegaVizMode(false);
50 bool overDraw = fDebugCanvas->getOverdrawViz(); 48 bool overDraw = fDebugCanvas->getOverdrawViz();
51 fDebugCanvas->setOverdrawViz(false); 49 fDebugCanvas->setOverdrawViz(false);
52 bool pathOps = fDebugCanvas->getAllowSimplifyClip(); 50 bool pathOps = fDebugCanvas->getAllowSimplifyClip();
53 fDebugCanvas->setAllowSimplifyClip(false); 51 fDebugCanvas->setAllowSimplifyClip(false);
54 int saveCount = fDebugCanvas->getOutstandingSaveCount(); 52 int saveCount = fDebugCanvas->getOutstandingSaveCount();
55 fDebugCanvas->setOutstandingSaveCount(0); 53 fDebugCanvas->setOutstandingSaveCount(0);
56 54
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 #endif 134 #endif
137 overview->append("<br/>"); 135 overview->append("<br/>");
138 } 136 }
139 137
140 SkString totalStr; 138 SkString totalStr;
141 totalStr.append("Total Draw Commands: "); 139 totalStr.append("Total Draw Commands: ");
142 totalStr.appendScalar(SkDoubleToScalar(total)); 140 totalStr.appendScalar(SkDoubleToScalar(total));
143 totalStr.append("<br/>"); 141 totalStr.append("<br/>");
144 overview->insert(0, totalStr); 142 overview->insert(0, totalStr);
145 143
144 overview->append("<br/>SkPicture L: ");
145 overview->appendScalar(this->pictureCull().fLeft);
146 overview->append(" T: ");
147 overview->appendScalar(this->pictureCull().fTop);
148 overview->append(" R: ");
149 overview->appendScalar(this->pictureCull().fRight);
150 overview->append(" B: ");
151 overview->appendScalar(this->pictureCull().fBottom);
146 overview->append("<br/>"); 152 overview->append("<br/>");
147 overview->append("SkPicture Width: ");
148 overview->appendS32(pictureWidth());
149 overview->append("px<br/>");
150 overview->append("SkPicture Height: ");
151 overview->appendS32(pictureHeight());
152 overview->append("px");
153 } 153 }
154 154
155 void SkDebugger::getClipStackText(SkString* clipStack) { 155 void SkDebugger::getClipStackText(SkString* clipStack) {
156 clipStack->set(fDebugCanvas->clipStackData()); 156 clipStack->set(fDebugCanvas->clipStackData());
157 } 157 }
OLDNEW
« no previous file with comments | « debugger/SkDebugger.h ('k') | dm/DMPDFTask.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698