ROOT 6.18/05 Reference Guide |
A window's topmost RPad
.
Definition at line 33 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... | |
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 | 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 | CreateFrameIfNeeded () |
std::vector< std::vector< 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 (const std::shared_ptr< T > &what, ARGS... args) |
Add something to be painted. More... | |
template<class T , class... ARGS, class = typename std::enable_if<!ROOT::TypeTraits::IsSmartOrDumbPtr<T>::value>::type> | |
auto | Draw (const T &what, ARGS... args) |
Add a copy of something to be painted. More... | |
template<class T , class... ARGS> | |
auto | Draw (std::unique_ptr< T > &&what, ARGS... args) |
Add something to be painted. More... | |
std::shared_ptr< RDrawable > | FindDrawable (const std::string &id) const |
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 () |
const Primitives_t & | GetPrimitives () const |
Get the elements contained in the canvas. 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 (RDrawingOptsBase &opts) |
Remove an object from the list of primitives. 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 | Wipe () |
Wipe the pad by clearing the list of primitives. More... | |
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... | |
std::string | GenerateUniqueId () |
Generates unique ID inside the canvas. More... | |
RCanvas & | operator= (const RCanvas &)=delete |
Disable assignment for now. More... | |
Private Attributes | |
uint64_t | fIdCounter {2} |
counter for objects, id==1 is canvas itself More... | |
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 |
use for ID generation More... | |
Friends | |
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 ()=default | |
Allow derived classes to default construct a RPadBase. 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 101 of file RCanvas.hxx.
|
static |
Definition at line 88 of file RCanvas.cxx.
|
private |
Generates unique ID inside the canvas.
Definition at line 63 of file RCanvas.cxx.
|
inlineoverridevirtual |
Access to the top-most canvas, if any (const version).
Implements ROOT::Experimental::RPadBase.
Definition at line 68 of file RCanvas.hxx.
|
inlineoverridevirtual |
Access to the top-most canvas, if any (non-const version).
Implements ROOT::Experimental::RPadBase.
Definition at line 71 of file RCanvas.hxx.
|
static |
Definition at line 47 of file RCanvas.cxx.
|
inline |
Return canvas pixel size as array with two elements - width and height.
Definition at line 74 of file RCanvas.hxx.
|
inline |
Get the canvas's title.
Definition at line 122 of file RCanvas.hxx.
void ROOT::Experimental::RCanvas::Hide | ( | ) |
Hide all canvas displays.
Definition at line 139 of file RCanvas.cxx.
bool ROOT::Experimental::RCanvas::IsModified | ( | ) | const |
Returns true is canvas was modified since last painting.
Definition at line 71 of file RCanvas.cxx.
|
inline |
Definition at line 107 of file RCanvas.hxx.
Disable assignment for now.
|
inlinefinalvirtual |
Convert a Pixel
position to Canvas-normalized positions.
Implements ROOT::Experimental::RPadBase.
Definition at line 131 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 175 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 226 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 151 of file RCanvas.cxx.
|
inline |
Set canvas pixel size - width and height.
Definition at line 83 of file RCanvas.hxx.
|
inline |
Set canvas pixel size as array with two elements - width and height.
Definition at line 77 of file RCanvas.hxx.
|
inline |
Set the canvas's title.
Definition at line 125 of file RCanvas.hxx.
void ROOT::Experimental::RCanvas::Show | ( | const std::string & | where = "" | ) |
Display the canvas.
Create new display for the canvas Parameter.
cef - Chromium Embeded Framework, local display, local communication qt5 - 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 URL native - either any available local display or default browser
Canvas can be displayed in several different places
Definition at line 113 of file RCanvas.cxx.
void ROOT::Experimental::RCanvas::Update | ( | bool | async = false , |
CanvasCallback_t | callback = nullptr |
||
) |
update drawing
Definition at line 76 of file RCanvas.cxx.
|
friend |
Definition at line 34 of file RCanvas.hxx.
|
private |
counter for objects, id==1 is canvas itself
Definition at line 45 of file RCanvas.hxx.
|
private |
Modify counter, incremented every time canvas is changed.
!
Definition at line 43 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 50 of file RCanvas.hxx.
|
private |
Size of the canvas in pixels,.
Definition at line 40 of file RCanvas.hxx.
|
private |