A window's topmost RPad
.
Definition at line 30 of file RCanvas.hxx.
Public Member Functions | |
RCanvas ()=default | |
Create a temporary RCanvas; for long-lived ones please use Create(). More... | |
~RCanvas ()=default | |
template<class PANEL > | |
bool | AddPanel (std::shared_ptr< PANEL > &panel) |
Insert panel into the canvas, canvas should be shown at this moment. More... | |
const RCanvas * | GetCanvas () const override |
Access to the top-most canvas, if any (const version). More... | |
RCanvas * | GetCanvas () override |
Access to the top-most canvas, if any (non-const version). More... | |
const std::array< RPadLength::Pixel, 2 > & | GetSize () const |
Return canvas pixel size as array with two elements - width and height. More... | |
const std::string & | GetTitle () const |
Get the canvas's title. More... | |
std::string | GetWindowAddr () const |
Returns window name used to display canvas. More... | |
void | Hide () |
Hide all canvas displays. More... | |
bool | IsModified () const |
Returns true is canvas was modified since last painting. More... | |
void | Modified () |
std::array< RPadLength::Normal, 2 > | PixelsToNormal (const std::array< RPadLength::Pixel, 2 > &pos) const final |
Convert a Pixel position to Canvas-normalized positions. More... | |
void | Remove () |
Remove canvas from global canvas lists, will be destroyed when shared_ptr will be removed. More... | |
void | ResolveSharedPtrs () |
To resolve problem with storing of shared pointers Call this method when reading canvas from the file Can be called many times - after reinitialization of shared pointers no changes will be performed. More... | |
void | Run (double tm=0.) |
Run canvas functionality for given time (in seconds) More... | |
void | SaveAs (const std::string &filename, bool async=false, CanvasCallback_t callback=nullptr) |
Save canvas in image file. More... | |
RCanvas & | SetSize (const RPadLength::Pixel &width, const RPadLength::Pixel &height) |
Set canvas pixel size - width and height. More... | |
RCanvas & | SetSize (const std::array< RPadLength::Pixel, 2 > &sz) |
Set canvas pixel size as array with two elements - width and height. More... | |
RCanvas & | SetTitle (const std::string &title) |
Set the canvas's title. More... | |
void | Show (const std::string &where="") |
Display the canvas. More... | |
void | Update (bool async=false, CanvasCallback_t callback=nullptr) |
update drawing More... | |
Public Member Functions inherited from ROOT::Experimental::RPadBase | |
virtual | ~RPadBase () |
void | AssignAutoColors () |
Method collect existing colors and assign new values if required. More... | |
void | CreateFrameIfNeeded () |
std::vector< std::vector< std::shared_ptr< RPad > > > | Divide (int nHoriz, int nVert, const RPadExtent &padding={}) |
Divide this pad into a grid of subpads with padding in between. More... | |
template<class T , class... ARGS> | |
auto | Draw (ARGS... args) |
Create drawable of specified class T. More... | |
template<class T , class... ARGS> | |
auto | Draw (const std::shared_ptr< T > &what, ARGS... args) |
Add something to be painted. More... | |
auto | Draw (std::shared_ptr< RDrawable > &&drawable) |
Add existing drawable instance to canvas. More... | |
std::shared_ptr< RDrawable > | FindPrimitive (const std::string &id) const |
Find primitive with specified id. More... | |
std::shared_ptr< RDrawable > | FindPrimitiveByDisplayId (const std::string &display_id) const |
Find primitive with unique id, produce for RDisplayItem Such id used for client-server identification of objects. More... | |
RPadUserAxisBase * | GetAxis (size_t dimension) const |
Get a pad axis from the RFrame. More... | |
virtual const RCanvas * | GetCanvas () const =0 |
Access to the top-most canvas, if any (const version). More... | |
virtual RCanvas * | GetCanvas ()=0 |
Access to the top-most canvas, if any (non-const version). More... | |
const RFrame * | GetFrame () const |
RPadUserAxisBase * | GetOrCreateAxis (size_t dimension) |
Get a pad axis from the RFrame. More... | |
RFrame * | GetOrCreateFrame () |
std::shared_ptr< RDrawable > | GetPrimitive (unsigned num) const |
returns primitive of given number More... | |
auto | GetPrimitives () const |
Get all primitives contained in the pad. More... | |
unsigned | NumPrimitives () const |
returns number of primitives in the pad More... | |
virtual std::array< RPadLength::Normal, 2 > | PixelsToNormal (const std::array< RPadLength::Pixel, 2 > &pos) const =0 |
Convert a Pixel position to Canvas-normalized positions. More... | |
bool | Remove (const std::shared_ptr< RDrawable > &drawable) |
Remove drawable from list of primitives. More... | |
bool | Remove (const std::string &id) |
Remove an object from the list of primitives. More... | |
bool | RemoveAt (unsigned indx) |
Remove drawable at specified position. More... | |
void | SetAllAxisAutoBounds () |
Set the range of an axis as bound kind and bound (up or down). More... | |
void | SetAllAxisBound (const std::vector< BoundKindAndValue > &vecBoundAndKind) |
Set the range of an axis as bound kind and bound (up or down). More... | |
void | SetAllAxisBounds (const std::vector< std::array< double, 2 > > &vecBeginAndEnd) |
Set the range of an axis as bound kind and bound (up or down). More... | |
void | SetAxisAutoBounds (int dimension) |
Set the range of an axis as bound kind and bound (up or down). More... | |
void | SetAxisBound (int dimension, RPadUserAxisBase::EAxisBoundsKind boundsKind, double bound) |
Set the range of an axis as bound kind and bound (up or down). More... | |
void | SetAxisBounds (int dimension, double begin, double end) |
Set the range of an axis as begin, end. More... | |
std::array< RPadLength::Normal, 2 > | UserToNormal (const std::array< RPadLength::User, 2 > &pos) const |
Convert user coordinates to normal coordinates. More... | |
void | UseStyle (const std::shared_ptr< RStyle > &style) override |
Use provided style for pad and all primitives inside. More... | |
void | Wipe () |
Wipe the pad by clearing the list of primitives. More... | |
Public Member Functions inherited from ROOT::Experimental::RDrawable | |
RDrawable (const std::string &type) | |
virtual | ~RDrawable () |
void | ClearStyle () |
virtual void | Execute (const std::string &) |
const std::string & | GetCssClass () const |
const std::string & | GetCssType () const |
const std::string & | GetId () const |
virtual void | PopulateMenu (RMenuItems &) |
Method can be used to provide menu items for the drawn object. More... | |
void | SetCssClass (const std::string &cl) |
void | SetId (const std::string &id) |
virtual void | UseStyle (const std::shared_ptr< RStyle > &style) |
Static Public Member Functions | |
static std::shared_ptr< RCanvas > | Create (const std::string &title) |
static const std::vector< std::shared_ptr< RCanvas > > | GetCanvases () |
Private Member Functions | |
RCanvas (const RCanvas &)=delete | |
Disable copy construction for now. More... | |
RCanvas & | operator= (const RCanvas &)=delete |
Disable assignment for now. More... | |
Private Attributes | |
uint64_t | fModified {0} |
Modify counter, incremented every time canvas is changed. More... | |
std::unique_ptr< Internal::RVirtualCanvasPainter > | fPainter |
The painter of this canvas, bootstrapping the graphics connection. More... | |
std::array< RPadLength::Pixel, 2 > | fSize |
Size of the canvas in pixels,. More... | |
std::string | fTitle |
used for primitives drawing More... | |
Friends | |
class | RCanvasPainter |
use for ID generation More... | |
class | RPadBase |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::RPadBase | |
using | Primitives_t = std::vector< std::shared_ptr< RDrawable > > |
Protected Member Functions inherited from ROOT::Experimental::RPadBase | |
RPadBase () | |
Allow derived classes to default construct a RPadBase. More... | |
void | CollectShared (Internal::RIOSharedVector_t &) override |
Collect all shared items to resolve shared_ptr after IO. More... | |
void | DisplayPrimitives (RPadBaseDisplayItem &paditem) const |
Create display items for all primitives in the pad Each display item gets its special id, which used later for client-server communication. More... | |
Protected Member Functions inherited from ROOT::Experimental::RDrawable | |
virtual void | CollectShared (Internal::RIOSharedVector_t &) |
virtual std::unique_ptr< RDisplayItem > | Display () const |
Creates display item for drawable By default item contains drawble data itself. More... | |
RAttrMap & | GetAttrMap () |
const RAttrMap & | GetAttrMap () const |
bool | MatchSelector (const std::string &selector) const |
Preliminary method which checks if drawable matches with given selector Following selector are allowed: "type" or "#id" or ".class_name" Here type is drawable kind like 'rect' or 'pad' id is drawable identifier, specified with RDrawable::SetId() method class_name is drawable class name, specified with RDrawable::SetCssClass() method. More... | |
#include <ROOT/RCanvas.hxx>
|
privatedelete |
Disable copy construction for now.
|
default |
|
default |
|
inline |
Insert panel into the canvas, canvas should be shown at this moment.
Definition at line 99 of file RCanvas.hxx.
|
static |
Definition at line 61 of file RCanvas.cxx.
|
inlineoverridevirtual |
Access to the top-most canvas, if any (const version).
Implements ROOT::Experimental::RPadBase.
Definition at line 62 of file RCanvas.hxx.
|
inlineoverridevirtual |
Access to the top-most canvas, if any (non-const version).
Implements ROOT::Experimental::RPadBase.
Definition at line 65 of file RCanvas.hxx.
|
static |
Definition at line 40 of file RCanvas.cxx.
|
inline |
Return canvas pixel size as array with two elements - width and height.
Definition at line 68 of file RCanvas.hxx.
|
inline |
Get the canvas's title.
Definition at line 121 of file RCanvas.hxx.
std::string ROOT::Experimental::RCanvas::GetWindowAddr | ( | ) | const |
Returns window name used to display canvas.
Returns window name for canvas.
Definition at line 112 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::Hide | ( | ) |
Hide all canvas displays.
Definition at line 124 of file RCanvas.cxx.
bool ROOT::Experimental::RCanvas::IsModified | ( | ) | const |
Returns true is canvas was modified since last painting.
Definition at line 50 of file RCanvas.cxx.
|
inline |
Definition at line 106 of file RCanvas.hxx.
Disable assignment for now.
|
inlinefinalvirtual |
Convert a Pixel
position to Canvas-normalized positions.
Implements ROOT::Experimental::RPadBase.
Definition at line 133 of file RCanvas.hxx.
void ROOT::Experimental::RCanvas::Remove | ( | ) |
Remove canvas from global canvas lists, will be destroyed when shared_ptr will be removed.
Remove canvas from global canvas lists, will be destroyed once last shared_ptr is disappear.
Definition at line 160 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::ResolveSharedPtrs | ( | ) |
To resolve problem with storing of shared pointers Call this method when reading canvas from the file Can be called many times - after reinitialization of shared pointers no changes will be performed.
Definition at line 225 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::Run | ( | double | tm = 0. | ) |
Run canvas functionality for given time (in seconds)
Run canvas functionality for the given time (in seconds) Used to process canvas-related actions in the appropriate thread context.
Must be regularly called when canvas created and used in extra thread. Time parameter specifies minimal execution time in seconds - if default value 0 is used, just all pending actions will be performed. When canvas is not yet displayed - just performs sleep for given time interval.
Example of usage:
Definition at line 211 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::SaveAs | ( | const std::string & | filename, |
bool | async = false , |
||
CanvasCallback_t | callback = nullptr |
||
) |
Save canvas in image file.
Create image file for the canvas Supported SVG (extension .svg), JPEG (extension .jpg or .jpeg) and PNG (extension .png)
async | specifies if file can be created asynchronous to the caller thread When operation completed, callback function is called |
Definition at line 136 of file RCanvas.cxx.
|
inline |
Set canvas pixel size - width and height.
Definition at line 78 of file RCanvas.hxx.
|
inline |
Set canvas pixel size as array with two elements - width and height.
Definition at line 71 of file RCanvas.hxx.
|
inline |
Set the canvas's title.
Definition at line 124 of file RCanvas.hxx.
void ROOT::Experimental::RCanvas::Show | ( | const std::string & | where = "" | ) |
Display the canvas.
Create new display for the canvas The parameter where
specifies which program could be used for display creation Possible values:
cef
Chromium Embeded Framework, local display, local communicationqt5
Qt5 WebEngine (when running via rootqt5), local display, local communicationbrowser
default system web-browser, communication via random http port from range 8800 - 9800<prog>
any program name which will be started instead of default browser, like firefox or /usr/bin/opera one could also specify $url in program name, which will be replaced with canvas URLnative
either any available local display or default browserCanvas can be displayed in several different places
Definition at line 86 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::Update | ( | bool | async = false , |
CanvasCallback_t | callback = nullptr |
||
) |
update drawing
Definition at line 55 of file RCanvas.cxx.
|
friend |
use for ID generation
Definition at line 32 of file RCanvas.hxx.
|
friend |
Definition at line 31 of file RCanvas.hxx.
|
private |
Modify counter, incremented every time canvas is changed.
!
Definition at line 41 of file RCanvas.hxx.
|
private |
The painter of this canvas, bootstrapping the graphics connection.
Unmapped canvases (those that never had Draw()
invoked) might not have a painter. !
Definition at line 46 of file RCanvas.hxx.
|
private |
Size of the canvas in pixels,.
Definition at line 38 of file RCanvas.hxx.
|
private |