Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RCanvasPainter Class Reference

Definition at line 60 of file RCanvasPainter.cxx.

Classes

class  GeneratorImpl
 
struct  WebCommand
 
struct  WebConn
 
struct  WebUpdate
 

Public Member Functions

 RCanvasPainter (RCanvas &canv)
 Constructor.
 
virtual ~RCanvasPainter ()
 Destructor.
 
bool AddPanel (std::shared_ptr< RWebWindow >) final
 Add window as panel inside canvas window.
 
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.
 
void DoWhenReady (const std::string &name, const std::string &arg, bool async, CanvasCallback_t callback) final
 perform special action when drawing is ready
 
std::string GetWindowAddr () const final
 Returns web window name.
 
bool IsCanvasModified (uint64_t id) const final
 return true if canvas modified since last painting
 
void NewDisplay (const std::string &where) final
 Create new display for the canvas See RWebWindowsManager::Show() docu for more info.
 
int NumDisplays () const final
 Returns number of connected displays.
 
bool ProduceBatchOutput (const std::string &fname, int width, int height) final
 Produce batch output, using chrome headless mode with DOM dump.
 
std::string ProduceJSON () final
 Produce JSON for the canvas.
 
void Run (double tm=0.) final
 Run canvas functionality for specified period of time Required when canvas used not from the main thread.
 
- Public Member Functions inherited from ROOT::Experimental::Internal::RVirtualCanvasPainter
virtual ~RVirtualCanvasPainter ()
 Default destructor.
 

Private Types

typedef std::vector< Detail::RMenuItemMenuItemsVector
 

Private Member Functions

 RCanvasPainter (const RCanvasPainter &)=delete
 Disable copy construction.
 
void CancelCommands (unsigned connid=0)
 Cancel command execution on provided connection All commands are cancelled, when connid === 0.
 
void CancelUpdates ()
 Cancel all pending Canvas::Update()
 
void CheckDataToSend ()
 Check if canvas need to send data to the clients.
 
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.
 
void CreateWindow ()
 Create web window for canvas.
 
std::shared_ptr< RDrawableFindPrimitive (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.
 
void FrontCommandReplied (const std::string &reply)
 Process reply on the currently active command.
 
RCanvasPainteroperator= (const RCanvasPainter &)=delete
 Disable assignment.
 
void ProcessData (unsigned connid, const std::string &arg)
 Process data from the client.
 
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.
 

Private Attributes

RCanvasfCanvas
 ! Canvas we are painting, *this will be owned by canvas
 
std::list< std::shared_ptr< WebCommand > > fCmds
 ! list of submitted commands
 
uint64_t fCmdsCnt {0}
 ! commands counter
 
int fJsonComp {23}
 ! json compression for data send to client
 
uint64_t fSnapshotDelivered {0}
 ! minimal version delivered to all connections
 
std::list< WebUpdatefUpdatesLst
 ! list of callbacks for canvas update
 
std::list< WebConnfWebConn
 !< configured display
 
std::shared_ptr< RWebWindowfWindow
 

Additional Inherited Members

- Static Public Member Functions inherited from ROOT::Experimental::Internal::RVirtualCanvasPainter
static std::unique_ptr< RVirtualCanvasPainterCreate (RCanvas &canv)
 Loads the plugin that implements this class.
 
- Static Protected Member Functions inherited from ROOT::Experimental::Internal::RVirtualCanvasPainter
static std::unique_ptr< Generator > & GetGenerator ()
 generator getter
 
Inheritance diagram for ROOT::Experimental::RCanvasPainter:
[legend]

Member Typedef Documentation

◆ MenuItemsVector

Definition at line 106 of file RCanvasPainter.cxx.

Constructor & Destructor Documentation

◆ RCanvasPainter() [1/2]

ROOT::Experimental::RCanvasPainter::RCanvasPainter ( const RCanvasPainter )
privatedelete

Disable copy construction.

◆ RCanvasPainter() [2/2]

RCanvasPainter::RCanvasPainter ( RCanvas canv)

Constructor.

Definition at line 212 of file RCanvasPainter.cxx.

◆ ~RCanvasPainter()

RCanvasPainter::~RCanvasPainter ( )
virtual

Destructor.

Definition at line 221 of file RCanvasPainter.cxx.

Member Function Documentation

◆ AddPanel()

bool RCanvasPainter::AddPanel ( std::shared_ptr< RWebWindow win)
finalvirtual

Add window as panel inside canvas window.

Reimplemented from ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 672 of file RCanvasPainter.cxx.

◆ CancelCommands()

void RCanvasPainter::CancelCommands ( unsigned  connid = 0)
private

Cancel command execution on provided connection All commands are cancelled, when connid === 0.

Definition at line 244 of file RCanvasPainter.cxx.

◆ CancelUpdates()

void RCanvasPainter::CancelUpdates ( )
private

Cancel all pending Canvas::Update()

Definition at line 232 of file RCanvasPainter.cxx.

◆ CanvasUpdated()

void RCanvasPainter::CanvasUpdated ( uint64_t  ver,
bool  async,
CanvasCallback_t  callback 
)
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 357 of file RCanvasPainter.cxx.

◆ CheckDataToSend()

void RCanvasPainter::CheckDataToSend ( )
private

Check if canvas need to send data to the clients.

Definition at line 263 of file RCanvasPainter.cxx.

◆ CreateSnapshot()

std::string RCanvasPainter::CreateSnapshot ( RDrawable::RDisplayContext ctxt)
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 711 of file RCanvasPainter.cxx.

◆ CreateWindow()

void RCanvasPainter::CreateWindow ( )
private

Create web window for canvas.

Definition at line 597 of file RCanvasPainter.cxx.

◆ DoWhenReady()

void RCanvasPainter::DoWhenReady ( const std::string &  name,
const std::string &  arg,
bool  async,
CanvasCallback_t  callback 
)
finalvirtual

perform special action when drawing is ready

Perform special action when drawing is ready.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 403 of file RCanvasPainter.cxx.

◆ FindPrimitive()

std::shared_ptr< RDrawable > RCanvasPainter::FindPrimitive ( const RCanvas can,
const std::string &  id,
const RPadBase **  subpad = nullptr 
)
private

Find drawable in the canvas with specified id Used to communicate with the clients, which does not have any pointer.

Definition at line 753 of file RCanvasPainter.cxx.

◆ FrontCommandReplied()

void RCanvasPainter::FrontCommandReplied ( const std::string &  reply)
private

Process reply on the currently active command.

Definition at line 802 of file RCanvasPainter.cxx.

◆ GetWindowAddr()

std::string RCanvasPainter::GetWindowAddr ( ) const
finalvirtual

Returns web window name.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 662 of file RCanvasPainter.cxx.

◆ IsCanvasModified()

bool ROOT::Experimental::RCanvasPainter::IsCanvasModified ( uint64_t  id) const
inlinefinalvirtual

return true if canvas modified since last painting

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 153 of file RCanvasPainter.cxx.

◆ NewDisplay()

void RCanvasPainter::NewDisplay ( const std::string &  where)
finalvirtual

Create new display for the canvas See RWebWindowsManager::Show() docu for more info.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 629 of file RCanvasPainter.cxx.

◆ NumDisplays()

int RCanvasPainter::NumDisplays ( ) const
finalvirtual

Returns number of connected displays.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 652 of file RCanvasPainter.cxx.

◆ operator=()

RCanvasPainter & ROOT::Experimental::RCanvasPainter::operator= ( const RCanvasPainter )
privatedelete

Disable assignment.

◆ ProcessData()

void RCanvasPainter::ProcessData ( unsigned  connid,
const std::string &  arg 
)
private

Process data from the client.

Definition at line 492 of file RCanvasPainter.cxx.

◆ ProduceBatchOutput()

bool RCanvasPainter::ProduceBatchOutput ( const std::string &  fname,
int  width,
int  height 
)
finalvirtual

Produce batch output, using chrome headless mode with DOM dump.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 456 of file RCanvasPainter.cxx.

◆ ProduceJSON()

std::string RCanvasPainter::ProduceJSON ( )
finalvirtual

Produce JSON for the canvas.

Implements ROOT::Experimental::Internal::RVirtualCanvasPainter.

Definition at line 481 of file RCanvasPainter.cxx.

◆ Run()

void RCanvasPainter::Run ( double  tm = 0.)
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 837 of file RCanvasPainter.cxx.

◆ SaveCreatedFile()

void RCanvasPainter::SaveCreatedFile ( std::string &  reply)
private

Method called when GUI sends file to save on local disk File data coded with base64 coding beside SVG format.

Definition at line 770 of file RCanvasPainter.cxx.

Member Data Documentation

◆ fCanvas

RCanvas& ROOT::Experimental::RCanvasPainter::fCanvas
private

! Canvas we are painting, *this will be owned by canvas

Definition at line 108 of file RCanvasPainter.cxx.

◆ fCmds

std::list<std::shared_ptr<WebCommand> > ROOT::Experimental::RCanvasPainter::fCmds
private

! list of submitted commands

Definition at line 113 of file RCanvasPainter.cxx.

◆ fCmdsCnt

uint64_t ROOT::Experimental::RCanvasPainter::fCmdsCnt {0}
private

! commands counter

Definition at line 114 of file RCanvasPainter.cxx.

◆ fJsonComp

int ROOT::Experimental::RCanvasPainter::fJsonComp {23}
private

! json compression for data send to client

Definition at line 119 of file RCanvasPainter.cxx.

◆ fSnapshotDelivered

uint64_t ROOT::Experimental::RCanvasPainter::fSnapshotDelivered {0}
private

! minimal version delivered to all connections

Definition at line 116 of file RCanvasPainter.cxx.

◆ fUpdatesLst

std::list<WebUpdate> ROOT::Experimental::RCanvasPainter::fUpdatesLst
private

! list of callbacks for canvas update

Definition at line 117 of file RCanvasPainter.cxx.

◆ fWebConn

std::list<WebConn> ROOT::Experimental::RCanvasPainter::fWebConn
private

!< configured display

! connections list

Definition at line 112 of file RCanvasPainter.cxx.

◆ fWindow

std::shared_ptr<RWebWindow> ROOT::Experimental::RCanvasPainter::fWindow
private

Definition at line 110 of file RCanvasPainter.cxx.

  • gui/canvaspainter/src/RCanvasPainter.cxx