blob: 5e88ae0a39e2752686531b48b8c5f1fd715e01d3 [file] [log] [blame]
jvanverth2bb3b6d2016-04-08 07:24:09 -07001/*
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#ifndef SKPSlide_DEFINED
9#define SKPSlide_DEFINED
10
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "include/core/SkPicture.h"
12#include "tools/viewer/Slide.h"
jvanverth2bb3b6d2016-04-08 07:24:09 -070013
14class SKPSlide : public Slide {
15public:
jvanverthc265a922016-04-08 12:51:45 -070016 SKPSlide(const SkString& name, const SkString& path);
Chris Daltonf3242c42020-05-27 17:31:12 -060017 SKPSlide(const SkString& name, std::unique_ptr<SkStream>);
jvanverth2bb3b6d2016-04-08 07:24:09 -070018 ~SKPSlide() override;
19
djsollen12d62a72016-04-21 07:59:44 -070020 SkISize getDimensions() const override { return fCullRect.size(); }
21
jvanverth2bb3b6d2016-04-08 07:24:09 -070022 void draw(SkCanvas* canvas) override;
jvanverthc7027ab2016-06-16 09:52:35 -070023 void load(SkScalar winWidth, SkScalar winHeight) override;
jvanverthc265a922016-04-08 12:51:45 -070024 void unload() override;
jvanverth2bb3b6d2016-04-08 07:24:09 -070025
26private:
Chris Daltonf3242c42020-05-27 17:31:12 -060027 std::unique_ptr<SkStream> fStream;
jvanverth2bb3b6d2016-04-08 07:24:09 -070028 sk_sp<const SkPicture> fPic;
Chris Daltonf3242c42020-05-27 17:31:12 -060029 SkIRect fCullRect;
jvanverth2bb3b6d2016-04-08 07:24:09 -070030};
31
32#endif