9 #ifndef ROOT7_RVirtualCanvasPainter
10 #define ROOT7_RVirtualCanvasPainter
17 namespace Experimental {
19 using CanvasCallback_t = std::function<void(bool)>;
34 class RVirtualCanvasPainter {
39 virtual std::unique_ptr<RVirtualCanvasPainter> Create(
const RCanvas &canv)
const = 0;
45 static std::unique_ptr<Generator> &GetGenerator();
49 virtual ~RVirtualCanvasPainter();
52 virtual void CanvasUpdated(uint64_t,
bool, CanvasCallback_t) = 0;
55 virtual bool IsCanvasModified(uint64_t)
const = 0;
58 virtual void DoWhenReady(
const std::string &,
const std::string &,
bool, CanvasCallback_t) = 0;
60 virtual void NewDisplay(
const std::string &where) = 0;
62 virtual int NumDisplays()
const = 0;
64 virtual std::string GetWindowAddr()
const = 0;
67 virtual void Run(
double tm = 0.) = 0;
69 virtual bool AddPanel(std::shared_ptr<RWebWindow>) {
return false; }
72 static std::unique_ptr<RVirtualCanvasPainter> Create(
const RCanvas &canv);
78 #endif // ROOT7_RVirtualCanvasPainter