Files
2026-06-22 15:24:05 +05:30

31 lines
853 B
C++

#pragma once
#include <pdfengine/display_list.hpp>
#include <pdfengine/graphics_state.hpp>
class SkCanvas;
namespace pdfengine {
class SkiaRenderer : public CommandVisitor {
public:
explicit SkiaRenderer(SkCanvas* canvas);
void visit(const SaveStateCommand& cmd) override;
void visit(const RestoreStateCommand& cmd) override;
void visit(const SetTransformCommand& cmd) override;
void visit(const FillRectCommand& cmd) override;
void visit(const DrawTextCommand& cmd) override;
void visit(const FillPathCommand& cmd) override;
void visit(const StrokePathCommand& cmd) override;
void visit(const FillStrokePathCommand& cmd) override;
void visit(const DrawImageCommand& cmd) override;
void render(const DisplayList& displayList);
private:
SkCanvas* m_canvas;
GraphicsStateStack m_stateStack;
};
}