aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger
diff options
context:
space:
mode:
authorGravatar chudy@google.com <chudy@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-07-10 14:14:50 +0000
committerGravatar chudy@google.com <chudy@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-07-10 14:14:50 +0000
commitb9ddd4e9f184f4a4545eca69c55ec1ad1ce59170 (patch)
treee50cf0444338b1afeb0834faa7acfb92328eed35 /debugger
parentb4ed0178d0f86da920b101a661cbe8fd4fda3ab3 (diff)
Bug Fix: Current command mask now dynamically changes based on bounds of window.
Review URL: https://codereview.appspot.com/6384044 git-svn-id: http://skia.googlecode.com/svn/trunk@4504 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'debugger')
-rw-r--r--debugger/QT/SkCanvasWidget.cpp6
-rw-r--r--debugger/SkDebugCanvas.cpp11
-rw-r--r--debugger/SkDebugCanvas.h8
3 files changed, 19 insertions, 6 deletions
diff --git a/debugger/QT/SkCanvasWidget.cpp b/debugger/QT/SkCanvasWidget.cpp
index fe8db94dbd..6b5faa4bec 100644
--- a/debugger/QT/SkCanvasWidget.cpp
+++ b/debugger/QT/SkCanvasWidget.cpp
@@ -55,7 +55,12 @@ void SkCanvasWidget::resizeEvent(QResizeEvent* event) {
fDevice = new SkDevice(fBitmap);
fCanvas = new SkCanvas(fDevice);
+<<<<<<< HEAD
+ fDebugCanvas->setBounds(event->size().width(), event->size().height());
+ fDebugCanvas->drawTo(fCanvas, fIndex);
+=======
drawTo(fIndex);
+>>>>>>> refs/remotes/git-svn
this->update();
}
@@ -82,6 +87,7 @@ void SkCanvasWidget::loadPicture(QString filename) {
delete fDebugCanvas;
fDebugCanvas = new SkDebugCanvas();
+ fDebugCanvas->setBounds(this->width(), this->height());
picture->draw(fDebugCanvas);
fDebugCanvas->draw(fCanvas);
diff --git a/debugger/SkDebugCanvas.cpp b/debugger/SkDebugCanvas.cpp
index 40eb21f1ff..c1039f15ab 100644
--- a/debugger/SkDebugCanvas.cpp
+++ b/debugger/SkDebugCanvas.cpp
@@ -13,9 +13,9 @@
SkDebugCanvas::SkDebugCanvas() {
// TODO(chudy): Free up memory from all draw commands in destructor.
- int width = 100;
- int height = 100;
- fBm.setConfig(SkBitmap::kNo_Config, width, height);
+ fWidth = 100;
+ fHeight = 100;
+ fBm.setConfig(SkBitmap::kNo_Config, fWidth, fHeight);
this->setBitmapDevice(fBm);
fFilter = false;
}
@@ -34,6 +34,7 @@ void SkDebugCanvas::draw(SkCanvas* canvas) {
}
}
+
void SkDebugCanvas::drawTo(SkCanvas* canvas, int index) {
int counter = 0;
if(!commandVector.empty()) {
@@ -50,9 +51,9 @@ void SkDebugCanvas::drawTo(SkCanvas* canvas, int index) {
canvas->resetMatrix();
SkRect dump;
// TODO(chudy): Replace with a call to QtWidget to get dimensions.
- dump.set(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(800), SkIntToScalar(800));
+ dump.set(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(fWidth), SkIntToScalar(fHeight));
canvas->clipRect(dump, SkRegion::kReplace_Op, false );
- canvas->drawRectCoords(SkIntToScalar(0),SkIntToScalar(0),SkIntToScalar(800),SkIntToScalar(800), *p);
+ canvas->drawRectCoords(SkIntToScalar(0),SkIntToScalar(0),SkIntToScalar(fWidth),SkIntToScalar(fHeight), *p);
canvas->restore();
}
diff --git a/debugger/SkDebugCanvas.h b/debugger/SkDebugCanvas.h
index 4f3edb750a..6375681cfc 100644
--- a/debugger/SkDebugCanvas.h
+++ b/debugger/SkDebugCanvas.h
@@ -87,6 +87,11 @@ public:
*/
void toggleCommand(int index, bool toggle);
+ void setBounds(int width, int height) {
+ fWidth = width;
+ fHeight = height;
+ }
+
////////////////////////////////////////////////////////////////////////////////
// Inherited from SkCanvas
////////////////////////////////////////////////////////////////////////////////
@@ -168,7 +173,8 @@ private:
typedef SkCanvas INHERITED;
std::vector<SkDrawCommand*> commandVector;
std::vector<SkDrawCommand*>::const_iterator it;
-
+ int fHeight;
+ int fWidth;
SkBitmap fBm;
/**