1 /* 2 * Copyright 2016 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 /* 8 * Copyright 2014 Google Inc. 9 * 10 * Use of this source code is governed by a BSD-style license that can be 11 * found in the LICENSE file. 12 */ 13 14 #include "tools/viewer/GMSlide.h" 15 16 #include "include/core/SkString.h" 17 #include <utility> 18 19 class SkCanvas; 20 class SkMetaData; 21 GMSlide(std::unique_ptr<skiagm::GM> gm)22GMSlide::GMSlide(std::unique_ptr<skiagm::GM> gm) : fGM(std::move(gm)) { 23 fGM->setMode(skiagm::GM::kSample_Mode); 24 25 fName.printf("GM_%s", fGM->getName().c_str()); 26 } 27 28 GMSlide::~GMSlide() = default; 29 gpuTeardown()30void GMSlide::gpuTeardown() { 31 fGM->gpuTeardown(); 32 } 33 draw(SkCanvas * canvas)34void GMSlide::draw(SkCanvas* canvas) { 35 SkString msg; 36 37 auto result = fGM->gpuSetup(canvas, &msg); 38 if (result != skiagm::GM::DrawResult::kOk) { 39 return; 40 } 41 42 fGM->draw(canvas, &msg); 43 } 44 animate(double nanos)45bool GMSlide::animate(double nanos) { return fGM->animate(nanos); } 46 onChar(SkUnichar c)47bool GMSlide::onChar(SkUnichar c) { return fGM->onChar(c); } 48 onGetControls(SkMetaData * controls)49bool GMSlide::onGetControls(SkMetaData* controls) { 50 return fGM->getControls(controls); 51 } 52 onSetControls(const SkMetaData & controls)53void GMSlide::onSetControls(const SkMetaData& controls) { 54 fGM->setControls(controls); 55 } 56 57