Definition at line 60 of file RCanvasPainter.cxx.
Classes | |
class | GeneratorImpl |
struct | WebCommand |
struct | WebConn |
struct | WebUpdate |
Public Member Functions | |
RCanvasPainter (RCanvas &canv) | |
Constructor. More... | |
virtual | ~RCanvasPainter () |
Destructor. More... | |
bool | AddPanel (std::shared_ptr< RWebWindow >) final |
Add window as panel inside canvas window. More... | |
void | CanvasUpdated (uint64_t ver, bool async, CanvasCallback_t callback) final |
Method invoked when canvas should be updated on the client side Depending from delivered status, each client will received new data. More... | |
void | DoWhenReady (const std::string &name, const std::string &arg, bool async, CanvasCallback_t callback) final |
perform special action when drawing is ready More... | |
std::string | GetWindowAddr () const final |
Returns web window name. More... | |
bool | IsCanvasModified (uint64_t id) const final |
return true if canvas modified since last painting More... | |
void | NewDisplay (const std::string &where) final |
Create new display for the canvas See RWebWindowsManager::Show() docu for more info. More... | |
int | NumDisplays () const final |
Returns number of connected displays. More... | |
bool | ProduceBatchOutput (const std::string &fname, int width, int height) final |
Produce batch output, using chrome headless mode with DOM dump. More... | |
std::string | ProduceJSON () final |
Produce JSON for the canvas. More... | |
void | Run (double tm=0.) final |
Run canvas functionality for specified period of time Required when canvas used not from the main thread. More... | |
void | SetClearOnClose (const std::shared_ptr< void > &) final |
Set handle to window which will be cleared when connection is closed. More... | |
![]() | |
virtual | ~RVirtualCanvasPainter () |
Default destructor. More... | |
virtual bool | AddPanel (std::shared_ptr< RWebWindow >) |
virtual void | CanvasUpdated (uint64_t, bool, CanvasCallback_t)=0 |
indicate that canvas changed, provides current version of the canvas More... | |
virtual void | DoWhenReady (const std::string &, const std::string &, bool, CanvasCallback_t)=0 |
perform special action when drawing is ready More... | |
virtual std::string | GetWindowAddr () const =0 |
virtual bool | IsCanvasModified (uint64_t) const =0 |
return true if canvas modified since last painting More... | |
virtual void | NewDisplay (const std::string &where)=0 |
virtual int | NumDisplays () const =0 |
virtual bool | ProduceBatchOutput (const std::string &, int, int)=0 |
produce file output in batch mode like png, jpeg, svg or pdf More... | |
virtual std::string | ProduceJSON ()=0 |
produce canvas JSON More... | |
virtual void | Run (double tm=0.)=0 |
run canvas functionality in caller thread, not needed when main thread is used More... | |
virtual void | SetClearOnClose (const std::shared_ptr< void > &) |
Private Types | |
typedef std::vector< Detail::RMenuItem > | MenuItemsVector |
Private Member Functions | |
RCanvasPainter (const RCanvasPainter &)=delete | |
Disable copy construction. More... | |
void | CancelCommands (unsigned connid=0) |
Cancel command execution on provided connection All commands are cancelled, when connid === 0. More... | |
void | CancelUpdates () |
Cancel all pending Canvas::Update() More... | |
void | CheckDataToSend () |
Check if canvas need to send data to the clients. More... | |
std::string | CreateSnapshot (RDrawable::RDisplayContext &ctxt) |
Create JSON representation of data, which should be send to the clients Here server-side painting is performed - each drawable adds own elements in so-called display list, which transferred to the clients. More... | |
void | CreateWindow () |
Create web window for canvas. More... | |
std::shared_ptr< RDrawable > | FindPrimitive (const RCanvas &can, const std::string &id, const RPadBase **subpad=nullptr) |
Find drawable in the canvas with specified id Used to communicate with the clients, which does not have any pointer. More... | |
void | FrontCommandReplied (const std::string &reply) |
Process reply on the currently active command. More... | |
RCanvasPainter & | operator= (const RCanvasPainter &)=delete |
Disable assignment. More... | |
void | ProcessData (unsigned connid, const std::string &arg) |
Process data from the client. More... | |
void | SaveCreatedFile (std::string &reply) |
Method called when GUI sends file to save on local disk File data coded with base64 coding beside SVG format. More... | |
Private Attributes | |
RCanvas & | fCanvas |
! Canvas we are painting, *this will be owned by canvas More... | |
std::list< std::shared_ptr< WebCommand > > | fCmds |
! list of submitted commands More... | |
uint64_t | fCmdsCnt {0} |
! commands counter More... | |
int | fJsonComp {23} |
! json compression for data send to client More... | |
uint64_t | fSnapshotDelivered {0} |
! minimal version delivered to all connections More... | |
std::list< WebUpdate > | fUpdatesLst |
! list of callbacks for canvas update More... | |
std::list< WebConn > | fWebConn |
!< configured display More... | |
std::shared_ptr< RWebWindow > | fWindow |
Additional Inherited Members | |
![]() | |
static std::unique_ptr< RVirtualCanvasPainter > | Create (RCanvas &canv) |
Loads the plugin that implements this class. More... | |
![]() | |
static std::unique_ptr< Generator > & | GetGenerator () |
generator getter More... | |
|
private |
Definition at line 106 of file RCanvasPainter.cxx.
|
privatedelete |
Disable copy construction.
RCanvasPainter::RCanvasPainter | ( | RCanvas & | canv | ) |
Constructor.
Definition at line 214 of file RCanvasPainter.cxx.
|
virtual |
Destructor.
Definition at line 223 of file RCanvasPainter.cxx.
|
finalvirtual |
Add window as panel inside canvas window.
Reimplemented from ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 679 of file RCanvasPainter.cxx.
|
private |
Cancel command execution on provided connection All commands are cancelled, when connid === 0.
Definition at line 246 of file RCanvasPainter.cxx.
|
private |
Cancel all pending Canvas::Update()
Definition at line 234 of file RCanvasPainter.cxx.
|
finalvirtual |
Method invoked when canvas should be updated on the client side Depending from delivered status, each client will received new data.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 359 of file RCanvasPainter.cxx.
|
private |
Check if canvas need to send data to the clients.
Definition at line 265 of file RCanvasPainter.cxx.
|
private |
Create JSON representation of data, which should be send to the clients Here server-side painting is performed - each drawable adds own elements in so-called display list, which transferred to the clients.
Definition at line 727 of file RCanvasPainter.cxx.
|
private |
Create web window for canvas.
Definition at line 604 of file RCanvasPainter.cxx.
|
finalvirtual |
perform special action when drawing is ready
Perform special action when drawing is ready.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 405 of file RCanvasPainter.cxx.
|
private |
Find drawable in the canvas with specified id Used to communicate with the clients, which does not have any pointer.
Definition at line 769 of file RCanvasPainter.cxx.
|
private |
Process reply on the currently active command.
Definition at line 818 of file RCanvasPainter.cxx.
|
finalvirtual |
Returns web window name.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 669 of file RCanvasPainter.cxx.
|
inlinefinalvirtual |
return true if canvas modified since last painting
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 153 of file RCanvasPainter.cxx.
|
finalvirtual |
Create new display for the canvas See RWebWindowsManager::Show() docu for more info.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 636 of file RCanvasPainter.cxx.
|
finalvirtual |
Returns number of connected displays.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 659 of file RCanvasPainter.cxx.
|
privatedelete |
Disable assignment.
|
private |
Process data from the client.
Definition at line 494 of file RCanvasPainter.cxx.
|
finalvirtual |
Produce batch output, using chrome headless mode with DOM dump.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 458 of file RCanvasPainter.cxx.
|
finalvirtual |
Produce JSON for the canvas.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 483 of file RCanvasPainter.cxx.
|
finalvirtual |
Run canvas functionality for specified period of time Required when canvas used not from the main thread.
Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 853 of file RCanvasPainter.cxx.
|
private |
Method called when GUI sends file to save on local disk File data coded with base64 coding beside SVG format.
Definition at line 786 of file RCanvasPainter.cxx.
|
finalvirtual |
Set handle to window which will be cleared when connection is closed.
Reimplemented from ROOT::Experimental::Internal::RVirtualCanvasPainter.
Definition at line 716 of file RCanvasPainter.cxx.
|
private |
! Canvas we are painting, *this will be owned by canvas
Definition at line 108 of file RCanvasPainter.cxx.
|
private |
! list of submitted commands
Definition at line 113 of file RCanvasPainter.cxx.
|
private |
! commands counter
Definition at line 114 of file RCanvasPainter.cxx.
|
private |
! json compression for data send to client
Definition at line 119 of file RCanvasPainter.cxx.
|
private |
! minimal version delivered to all connections
Definition at line 116 of file RCanvasPainter.cxx.
|
private |
! list of callbacks for canvas update
Definition at line 117 of file RCanvasPainter.cxx.
|
private |
|
private |
Definition at line 110 of file RCanvasPainter.cxx.