Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "Viewer.h" | 8 #include "Viewer.h" |
| 9 | 9 |
| 10 #include "GMSlide.h" | 10 #include "GMSlide.h" |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 //m = this->getLocalMatrix();//.invert(&m); | 217 //m = this->getLocalMatrix();//.invert(&m); |
| 218 m.mapXY(fZoomCenterX, fZoomCenterY, ¢er); | 218 m.mapXY(fZoomCenterX, fZoomCenterY, ¢er); |
| 219 SkScalar cx = center.fX; | 219 SkScalar cx = center.fX; |
| 220 SkScalar cy = center.fY; | 220 SkScalar cy = center.fY; |
| 221 | 221 |
| 222 m.setTranslate(-cx, -cy); | 222 m.setTranslate(-cx, -cy); |
| 223 m.postScale(fZoomScale, fZoomScale); | 223 m.postScale(fZoomScale, fZoomScale); |
| 224 m.postTranslate(cx, cy); | 224 m.postTranslate(cx, cy); |
| 225 } | 225 } |
| 226 | 226 |
| 227 // TODO: add gesture support | 227 m.preConcat(fWindow->getGestureLocalM()); |
| 228 // Apply any gesture matrix | 228 m.preConcat(fWindow->getGestureGlobalM()); |
| 229 //m.preConcat(fGesture.localM()); | |
| 230 //m.preConcat(fGesture.globalM()); | |
| 231 | 229 |
| 232 fLocalMatrix = m; | 230 fLocalMatrix = m; |
| 233 } | 231 } |
| 234 | 232 |
| 235 void Viewer::onPaint(SkCanvas* canvas) { | 233 void Viewer::onPaint(SkCanvas* canvas) { |
| 236 | 234 |
| 237 int count = canvas->save(); | 235 int count = canvas->save(); |
| 238 | 236 |
| 239 if (fWindow->supportsContentRect()) { | 237 if (fWindow->supportsContentRect()) { |
| 240 SkRect contentRect = fWindow->getContentRect(); | 238 SkRect contentRect = fWindow->getContentRect(); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 253 } | 251 } |
| 254 canvas->concat(fLocalMatrix); | 252 canvas->concat(fLocalMatrix); |
| 255 | 253 |
| 256 fSlides[fCurrentSlide]->draw(canvas); | 254 fSlides[fCurrentSlide]->draw(canvas); |
| 257 canvas->restoreToCount(count); | 255 canvas->restoreToCount(count); |
| 258 | 256 |
| 259 if (fDisplayStats) { | 257 if (fDisplayStats) { |
| 260 drawStats(canvas); | 258 drawStats(canvas); |
| 261 } | 259 } |
| 262 fCommands.drawHelp(canvas); | 260 fCommands.drawHelp(canvas); |
| 261 | |
| 262 updateMatrix(); | |
|
djsollen
2016/05/16 18:16:00
comment why we need to update the matrix after we
liyuqian
2016/05/16 18:32:37
Done.
| |
| 263 } | 263 } |
| 264 | 264 |
| 265 void Viewer::drawStats(SkCanvas* canvas) { | 265 void Viewer::drawStats(SkCanvas* canvas) { |
| 266 static const float kPixelPerMS = 2.0f; | 266 static const float kPixelPerMS = 2.0f; |
| 267 static const int kDisplayWidth = 130; | 267 static const int kDisplayWidth = 130; |
| 268 static const int kDisplayHeight = 100; | 268 static const int kDisplayHeight = 100; |
| 269 static const int kDisplayPadding = 10; | 269 static const int kDisplayPadding = 10; |
| 270 static const int kGraphPadding = 3; | 270 static const int kGraphPadding = 3; |
| 271 static const SkScalar kBaseMS = 1000.f / 60.f; // ms/frame to hit 60 fps | 271 static const SkScalar kBaseMS = 1000.f / 60.f; // ms/frame to hit 60 fps |
| 272 | 272 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 314 // Record measurements | 314 // Record measurements |
| 315 fMeasurements[fCurrentMeasurement++] = ms; | 315 fMeasurements[fCurrentMeasurement++] = ms; |
| 316 fCurrentMeasurement &= (kMeasurementCount - 1); // fast mod | 316 fCurrentMeasurement &= (kMeasurementCount - 1); // fast mod |
| 317 SkASSERT(fCurrentMeasurement < kMeasurementCount); | 317 SkASSERT(fCurrentMeasurement < kMeasurementCount); |
| 318 | 318 |
| 319 fAnimTimer.updateTime(); | 319 fAnimTimer.updateTime(); |
| 320 if (fSlides[fCurrentSlide]->animate(fAnimTimer) || fDisplayStats) { | 320 if (fSlides[fCurrentSlide]->animate(fAnimTimer) || fDisplayStats) { |
| 321 fWindow->inval(); | 321 fWindow->inval(); |
| 322 } | 322 } |
| 323 } | 323 } |
| OLD | NEW |