20 lines
729 B
C++
20 lines
729 B
C++
|
|
#pragma once
|
||
|
|
#include "ResourceDisplay.hpp"
|
||
|
|
#include <include/core/SkImage.h>
|
||
|
|
#include <vector>
|
||
|
|
#include <modules/svg/include/SkSVGDOM.h>
|
||
|
|
|
||
|
|
class SvgResourceDisplay : public ResourceDisplay {
|
||
|
|
public:
|
||
|
|
virtual void update(World& w) override;
|
||
|
|
virtual bool load(const std::string& fileName, const std::string& fileData) override;
|
||
|
|
virtual bool update_draw() const override;
|
||
|
|
virtual void draw(SkCanvas* canvas, const DrawData& drawData, const SkRect& imRect) override;
|
||
|
|
virtual Vector2f get_dimensions() const override;
|
||
|
|
virtual float get_dimension_scale() const override;
|
||
|
|
private:
|
||
|
|
sk_sp<SkSVGDOM> svgDom;
|
||
|
|
bool mustUpdateDraw = false;
|
||
|
|
SkSize svgRootSize;
|
||
|
|
};
|