19using namespace std::string_literals;
25 std::shared_ptr<ROOT::Experimental::RCanvas>
fCanvas;
50 std::string
GetKind()
const override {
return "rcanvas"s; }
52 std::shared_ptr<ROOT::RWebWindow>
GetWindow()
override {
return fCanvas->GetWindow(); }
56 bool DrawElement(std::shared_ptr<RElement> &
elem,
const std::string &opt =
"")
override
61 auto obj =
elem->GetObject();
67 std::shared_ptr<ROOT::Experimental::RPadBase>
subpad =
fCanvas;
69 std::string drawopt = opt;
71 if (drawopt.compare(0,8,
"<append>") == 0) {
73 }
else if (
subpad->NumPrimitives() > 0) {
79 if (drawopt ==
"<dflt>")
103 std::shared_ptr<ROOT::RBrowserWidget>
Create(
const std::string &
name)
final
105 return std::make_shared<RBrowserRCanvasWidget>(
name);
108 std::shared_ptr<ROOT::RBrowserWidget>
CreateFor(
const std::string &
name, std::shared_ptr<RElement> &
elem)
final
111 if (!
holder)
return nullptr;
114 if (!
canv)
return nullptr;
116 return std::make_shared<RBrowserRCanvasWidget>(
name,
canv);
122 if (
canv->GetWindow().get() == &
win)
123 return std::make_shared<RBrowserRCanvasWidget>(
canv->GetTitle(),
const_cast<std::shared_ptr<ROOT::Experimental::RCanvas> &
>(
canv),
true);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t win
std::shared_ptr< ROOT::RBrowserWidget > DetectWindow(ROOT::RWebWindow &win) final
~RBrowserRCanvasProvider() override=default
std::shared_ptr< ROOT::RBrowserWidget > CreateFor(const std::string &name, std::shared_ptr< RElement > &elem) final
RBrowserRCanvasProvider()
std::shared_ptr< ROOT::RBrowserWidget > Create(const std::string &name) final
@ kActDraw7
can be drawn inside ROOT7 canvas
static bool Draw7(std::shared_ptr< ROOT::Experimental::RPadBase > &subpad, std::unique_ptr< RHolder > &obj, const std::string &opt="")
Invoke drawing of object on RCanvas sub-pad All existing providers are checked, first checked are cla...
static std::string GetClassDrawOption(const ClassArg &)
Return configured draw option for the class.
static void ExtendProgressHandle(void *handle, void *handle2)
Extend progress handle - to be able react on sub item.
static const std::vector< std::shared_ptr< RCanvas > > GetCanvases()
Returns list of created canvases.
static std::shared_ptr< RCanvas > Create(const std::string &title)
Create new canvas instance.
Represents web window, which can be shown in web browser or any other supported environment.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...