27using namespace std::string_literals;
36 std::multimap<TVirtualPad *, std::unique_ptr<Browsable::RHolder>>
fObjects;
54 auto l1 =
gROOT->GetListOfCleanups();
61 auto l2 =
gROOT->GetListOfCanvases();
144 std::string
GetKind()
const override {
return "tcanvas"s; }
161 bool DrawElement(std::shared_ptr<Browsable::RElement> &
elem,
const std::string &opt =
"")
override
166 std::unique_ptr<Browsable::RHolder> obj =
elem->GetObject();
175 std::string drawopt = opt;
193 if (drawopt.compare(0,8,
"<append>") == 0) {
196 pad->GetListOfPrimitives()->Clear();
204 if (drawopt ==
"<dflt>")
234 std::shared_ptr<RBrowserWidget>
Create(
const std::string &
name)
final
236 return std::make_shared<RBrowserTCanvasWidget>(
name);
239 std::shared_ptr<RBrowserWidget>
CreateFor(
const std::string &
name, std::shared_ptr<Browsable::RElement> &
elem)
final
242 if (!
holder)
return nullptr;
245 if (!
canv)
return nullptr;
247 return std::make_shared<RBrowserTCanvasWidget>(
name,
canv);
254 while (
auto canv =
static_cast<TCanvas *
>(iter())) {
257 return std::make_shared<RBrowserTCanvasWidget>(
canv->GetName(),
canv,
web_canv);
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
R__EXTERN TVirtualMutex * gROOTMutex
#define R__LOCKGUARD(mutex)
std::shared_ptr< RBrowserWidget > Create(const std::string &name) final
RBrowserTCanvasProvider()
std::shared_ptr< RBrowserWidget > CreateFor(const std::string &name, std::shared_ptr< Browsable::RElement > &elem) final
std::shared_ptr< RBrowserWidget > DetectWindow(RWebWindow &win) final
~RBrowserTCanvasProvider() override=default
@ kActDraw6
can be drawn inside ROOT6 canvas
static bool Draw6(TVirtualPad *subpad, std::unique_ptr< RHolder > &obj, const std::string &opt="")
Invoke drawing of object on TCanvas 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.
Represents web window, which can be shown in web browser or any other supported environment.
TCanvasImp * GetCanvasImp() const override
void Close(Option_t *option="") override
Close canvas.
void SetCanvasImp(TCanvasImp *i)
Set canvas implementation If web-based implementation provided, some internal fields also initialized...
void UpdateAsync() override
Asynchronous pad update.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
void SetBatch(Bool_t batch=kTRUE) override
Toggle batch mode.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Bool_t IsModified() const override
TObject * FindObject(const char *name) const override
Search if object named name is inside this pad or in pads inside this pad.
const char * GetName() const override
Returns name of object.
const char * Data() const
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Basic TCanvasImp ABI implementation for Web-based Graphics Provides painting of main ROOT classes in ...
static TCanvas * CreateWebCanvas(const char *name, const char *title, UInt_t width=1200, UInt_t height=800)
Create TCanvas and assign TWebCanvas implementation to it Canvas is not displayed automatically,...
const std::shared_ptr< ROOT::RWebWindow > & GetWebWindow() const
void SetAsyncMode(Bool_t on=kTRUE)
void CreateWebWindow()
Create web window for the canvas.
static TCanvasImp * NewCanvas(TCanvas *c, const char *name, Int_t x, Int_t y, UInt_t width, UInt_t height)
Static method to create TWebCanvas instance Used by plugin manager.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...