9#ifndef ROOT7_RVirtualCanvasPainter
10#define ROOT7_RVirtualCanvasPainter
17namespace Experimental {
39 virtual std::unique_ptr<RVirtualCanvasPainter>
Create(
const RCanvas &canv)
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);
typedef void((*Func_t)())
virtual std::unique_ptr< RVirtualCanvasPainter > Create(const RCanvas &canv) const =0
Abstract interface to create a RVirtualCanvasPainter implementation.
virtual ~Generator()
Default destructor.
Abstract interface for painting a canvas.
static std::unique_ptr< RVirtualCanvasPainter > Create(const RCanvas &canv)
Loads the plugin that implements this class.
virtual void CanvasUpdated(uint64_t, bool, CanvasCallback_t)=0
indicate that canvas changed, provides current version of the canvas
virtual ~RVirtualCanvasPainter()
Default destructor.
virtual bool AddPanel(std::shared_ptr< RWebWindow >)
virtual int NumDisplays() const =0
static std::unique_ptr< Generator > & GetGenerator()
generator getter
virtual void Run(double tm=0.)=0
run canvas functionality in caller thread, not needed when main thread is used
virtual void DoWhenReady(const std::string &, const std::string &, bool, CanvasCallback_t)=0
perform special action when drawing is ready
virtual bool IsCanvasModified(uint64_t) const =0
return true if canvas modified since last painting
virtual void NewDisplay(const std::string &where)=0
virtual std::string GetWindowAddr() const =0
Represents web window, which can be shown in web browser or any other supported environment.
std::function< void(bool)> CanvasCallback_t
void function(const Char_t *name_, T fun, const Char_t *docstring=0)