2018-04-05 15:57:21 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2018 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SvgSlide_DEFINED
|
|
|
|
#define SvgSlide_DEFINED
|
|
|
|
|
2019-04-23 17:05:21 +00:00
|
|
|
#include "tools/viewer/Slide.h"
|
2018-04-05 15:57:21 +00:00
|
|
|
|
|
|
|
class SkSVGDOM;
|
|
|
|
|
|
|
|
class SvgSlide final : public Slide {
|
|
|
|
public:
|
|
|
|
SvgSlide(const SkString& name, const SkString& path);
|
2020-05-28 20:04:53 +00:00
|
|
|
SvgSlide(const SkString& name, std::unique_ptr<SkStream>);
|
2018-04-05 15:57:21 +00:00
|
|
|
|
|
|
|
void load(SkScalar winWidth, SkScalar winHeight) override;
|
|
|
|
void unload() override;
|
2020-04-09 01:12:10 +00:00
|
|
|
void resize(SkScalar, SkScalar) override;
|
2018-04-05 15:57:21 +00:00
|
|
|
|
|
|
|
SkISize getDimensions() const override;
|
|
|
|
|
|
|
|
void draw(SkCanvas*) override;
|
|
|
|
private:
|
2020-05-28 20:04:53 +00:00
|
|
|
std::unique_ptr<SkStream> fStream;
|
|
|
|
SkSize fWinSize = SkSize::MakeEmpty();
|
2018-04-05 15:57:21 +00:00
|
|
|
sk_sp<SkSVGDOM> fDom;
|
|
|
|
|
2020-09-03 02:42:33 +00:00
|
|
|
using INHERITED = Slide;
|
2018-04-05 15:57:21 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SvgSlide_DEFINED
|