| 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" |
| 11 #include "ImageSlide.h" | 11 #include "ImageSlide.h" |
| 12 #include "SampleSlide.h" |
| 12 #include "SKPSlide.h" | 13 #include "SKPSlide.h" |
| 13 | 14 |
| 14 #include "SkCanvas.h" | 15 #include "SkCanvas.h" |
| 15 #include "SkCommonFlags.h" | 16 #include "SkCommonFlags.h" |
| 16 #include "SkMetaData.h" | 17 #include "SkMetaData.h" |
| 17 #include "SkOSFile.h" | 18 #include "SkOSFile.h" |
| 18 #include "SkRandom.h" | 19 #include "SkRandom.h" |
| 19 #include "SkStream.h" | 20 #include "SkStream.h" |
| 20 | 21 |
| 21 using namespace sk_app; | 22 using namespace sk_app; |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 gms = gms->next(); | 199 gms = gms->next(); |
| 199 } | 200 } |
| 200 | 201 |
| 201 // reverse array | 202 // reverse array |
| 202 for (int i = 0; i < fSlides.count()/2; ++i) { | 203 for (int i = 0; i < fSlides.count()/2; ++i) { |
| 203 sk_sp<Slide> temp = fSlides[i]; | 204 sk_sp<Slide> temp = fSlides[i]; |
| 204 fSlides[i] = fSlides[fSlides.count() - i - 1]; | 205 fSlides[i] = fSlides[fSlides.count() - i - 1]; |
| 205 fSlides[fSlides.count() - i - 1] = temp; | 206 fSlides[fSlides.count() - i - 1] = temp; |
| 206 } | 207 } |
| 207 | 208 |
| 209 // samples |
| 210 const SkViewRegister* reg = SkViewRegister::Head(); |
| 211 while (reg) { |
| 212 sk_sp<Slide> slide(new SampleSlide(reg->factory())); |
| 213 fSlides.push_back(slide); |
| 214 reg = reg->next(); |
| 215 } |
| 216 |
| 208 // SKPs | 217 // SKPs |
| 209 for (int i = 0; i < FLAGS_skps.count(); i++) { | 218 for (int i = 0; i < FLAGS_skps.count(); i++) { |
| 210 if (SkStrEndsWith(FLAGS_skps[i], ".skp")) { | 219 if (SkStrEndsWith(FLAGS_skps[i], ".skp")) { |
| 211 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, FLAGS_skps[i])) { | 220 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, FLAGS_skps[i])) { |
| 212 continue; | 221 continue; |
| 213 } | 222 } |
| 214 | 223 |
| 215 SkString path(FLAGS_skps[i]); | 224 SkString path(FLAGS_skps[i]); |
| 216 sk_sp<SKPSlide> slide(new SKPSlide(SkOSPath::Basename(path.c_str()),
path)); | 225 sk_sp<SKPSlide> slide(new SKPSlide(SkOSPath::Basename(path.c_str()),
path)); |
| 217 if (slide) { | 226 if (slide) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 title.append(kBackendTypeStrings[fBackendType]); | 272 title.append(kBackendTypeStrings[fBackendType]); |
| 264 fWindow->setTitle(title.c_str()); | 273 fWindow->setTitle(title.c_str()); |
| 265 } | 274 } |
| 266 | 275 |
| 267 void Viewer::setupCurrentSlide(int previousSlide) { | 276 void Viewer::setupCurrentSlide(int previousSlide) { |
| 268 if (fCurrentSlide == previousSlide) { | 277 if (fCurrentSlide == previousSlide) { |
| 269 return; // no change; do nothing | 278 return; // no change; do nothing |
| 270 } | 279 } |
| 271 | 280 |
| 272 // prepare dimensions for image slides | 281 // prepare dimensions for image slides |
| 273 fSlides[fCurrentSlide]->load(); | 282 fSlides[fCurrentSlide]->load(SkIntToScalar(fWindow->width()), SkIntToScalar(
fWindow->height())); |
| 274 | 283 |
| 275 fGesture.reset(); | 284 fGesture.reset(); |
| 276 fDefaultMatrix.reset(); | 285 fDefaultMatrix.reset(); |
| 277 fDefaultMatrixInv.reset(); | 286 fDefaultMatrixInv.reset(); |
| 278 | 287 |
| 279 if (fWindow->supportsContentRect() && fWindow->scaleContentToFit()) { | 288 if (fWindow->supportsContentRect() && fWindow->scaleContentToFit()) { |
| 280 const SkRect contentRect = fWindow->getContentRect(); | 289 const SkRect contentRect = fWindow->getContentRect(); |
| 281 const SkISize slideSize = fSlides[fCurrentSlide]->getDimensions(); | 290 const SkISize slideSize = fSlides[fCurrentSlide]->getDimensions(); |
| 282 const SkRect slideBounds = SkRect::MakeIWH(slideSize.width(), slideSize.
height()); | 291 const SkRect slideBounds = SkRect::MakeIWH(slideSize.width(), slideSize.
height()); |
| 283 if (contentRect.width() > 0 && contentRect.height() > 0) { | 292 if (contentRect.width() > 0 && contentRect.height() > 0) { |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 bool newSplitScreen = stateValue.equals(kON); | 568 bool newSplitScreen = stateValue.equals(kON); |
| 560 if (newSplitScreen != fSplitScreen) { | 569 if (newSplitScreen != fSplitScreen) { |
| 561 fSplitScreen = newSplitScreen; | 570 fSplitScreen = newSplitScreen; |
| 562 fWindow->inval(); | 571 fWindow->inval(); |
| 563 updateUIState(); | 572 updateUIState(); |
| 564 } | 573 } |
| 565 } else { | 574 } else { |
| 566 SkDebugf("Unknown stateName: %s", stateName.c_str()); | 575 SkDebugf("Unknown stateName: %s", stateName.c_str()); |
| 567 } | 576 } |
| 568 } | 577 } |
| OLD | NEW |