blob: 895e3fca56ee370cf16b9ac091e1877ea8b67af8 [file] [log] [blame]
Florin Malitac659c2c2018-04-05 11:57:21 -04001/*
2 * Copyright 2018 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 SvgSlide_DEFINED
9#define SvgSlide_DEFINED
10
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "tools/viewer/Slide.h"
Florin Malitac659c2c2018-04-05 11:57:21 -040012
13class SkSVGDOM;
14
15class SvgSlide final : public Slide {
16public:
17 SvgSlide(const SkString& name, const SkString& path);
18
19 void load(SkScalar winWidth, SkScalar winHeight) override;
20 void unload() override;
Florin Malitad532bdb2020-04-08 21:12:10 -040021 void resize(SkScalar, SkScalar) override;
Florin Malitac659c2c2018-04-05 11:57:21 -040022
23 SkISize getDimensions() const override;
24
25 void draw(SkCanvas*) override;
26private:
Florin Malita24df67d2021-01-26 18:45:34 -050027 const SkString fPath;
28
29 SkSize fWinSize = SkSize::MakeEmpty();
Florin Malitac659c2c2018-04-05 11:57:21 -040030 sk_sp<SkSVGDOM> fDom;
31
John Stiles7571f9e2020-09-02 22:42:33 -040032 using INHERITED = Slide;
Florin Malitac659c2c2018-04-05 11:57:21 -040033};
34
35#endif // SvgSlide_DEFINED