done phase 1 code base
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <pdfengine/display_list.hpp>
|
||||
#include <pdfengine/graphics_state.hpp>
|
||||
|
||||
class SkCanvas;
|
||||
|
||||
namespace pdfengine {
|
||||
|
||||
// A visitor that replays a DisplayList onto a Skia canvas.
|
||||
class SkiaRenderer : public CommandVisitor {
|
||||
public:
|
||||
// Takes a pointer to an external SkCanvas.
|
||||
// The caller is responsible for the canvas's lifecycle.
|
||||
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;
|
||||
|
||||
// Renders the entire display list to the canvas
|
||||
void render(const DisplayList& displayList);
|
||||
|
||||
private:
|
||||
SkCanvas* m_canvas;
|
||||
GraphicsStateStack m_stateStack;
|
||||
};
|
||||
|
||||
} // namespace pdfengine
|
||||
Reference in New Issue
Block a user