#pragma once #include "Widget.h" #include "CanvasElements.h" class CanvasController; class CanvasDrawingArea; class CanvasView : public Widget { public: CanvasView(); ~CanvasView(); static std::unique_ptr Create(); private: void onDrawCommandChanged(CanvasDrawCommand command); void initialize(); std::unique_ptr initializeCacheButtons(); std::unique_ptr mController; CanvasDrawingArea* mDrawingArea{nullptr}; }; using CanvasViewPtr = std::unique_ptr;