9 #include "animation/animation.hpp"
10 #include "animation/linear_animation.hpp"
11 #include "animation/linear_animation_instance.hpp"
12 #include "artboard.hpp"
13 #include "core/binary_reader.hpp"
15 #include "math/aabb.hpp"
16 #include "skia_renderer.hpp"
20 class RiveFrameExtractor
24 RiveFrameExtractor(const char* path,
25 const char* artboard_name,
26 const char* animation_name,
27 const char* watermark_name,
30 int small_extent_target = 0,
34 int max_duration = 0);
40 const void* getPixelAddresses();
41 sk_sp<SkData> getSkData();
44 int _width, _height, _min_duration, _max_duration;
47 sk_sp<SkImage> getWaterMark(const char* watermark_name);
48 rive::File* getRiveFile(const char* path);
49 rive::Artboard* getArtboard(const char* artboard_name);
50 rive::LinearAnimation* getAnimation(const char* artboard_name);
51 rive::Artboard* artboard;
52 rive::LinearAnimation* animation;
53 rive::LinearAnimationInstance* animation_instance;
54 sk_sp<SkImage> watermarkImage;
55 SkCanvas* rasterCanvas;
56 sk_sp<SkSurface> rasterSurface;
57 sk_sp<SkImage> getSnapshot();
58 void initializeDimensions(int width,
60 int small_extent_target,