13#ifndef ROOT7_RWebDisplayHandle
14#define ROOT7_RWebDisplayHandle
46 void TestProg(
const std::string &nexttry,
bool check_std_paths =
false);
48 virtual std::string
MakeProfile(std::string &,
bool) {
return ""; }
71 std::string
MakeProfile(std::string &exec,
bool)
override;
80 std::string
MakeProfile(std::string &exec,
bool batch)
override;
83 static std::map<std::string, std::unique_ptr<Creator>> &
GetMap();
85 static std::unique_ptr<Creator> &
FindCreator(
const std::string &
name,
const std::string &libname =
"");
106 virtual bool Resize(
int,
int) {
return false; }
112 static bool DisplayUrl(
const std::string &url);
118 static bool ProduceImage(
const std::string &fname,
const std::string &
json,
int width = 800,
int height = 600,
const char *batch_file =
nullptr);
120 static bool ProduceImages(
const std::string &fname,
const std::vector<std::string> &jsons,
const std::vector<int> &widths,
const std::vector<int> &heights,
const char *batch_file =
nullptr);
122 static std::vector<std::string>
ProduceImagesNames(
const std::string &fname,
unsigned nfiles = 1);
124 static bool ProduceImages(
const std::vector<std::string> &fnames,
const std::vector<std::string> &jsons,
const std::vector<int> &widths,
const std::vector<int> &heights,
const char *batch_file =
nullptr);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
std::string fProg
browser executable
std::string fBatchExec
batch execute line
std::string fHeadlessExec
headless execute line
std::unique_ptr< RWebDisplayHandle > Display(const RWebDisplayArgs &args) override
Display given URL in web browser.
virtual void ProcessGeometry(std::string &, const RWebDisplayArgs &)
std::string fExec
standard execute line
void TestProg(const std::string &nexttry, bool check_std_paths=false)
Check if browser executable exists and can be used.
virtual std::string MakeProfile(std::string &, bool)
~BrowserCreator() override=default
~ChromeCreator() override=default
bool IsActive() const override
void ProcessGeometry(std::string &, const RWebDisplayArgs &) override
Replace $geometry placeholder with geometry settings Also RWebDisplayArgs::GetExtraArgs() are appende...
std::string MakeProfile(std::string &exec, bool) override
Handle profile argument.
virtual ~Creator()=default
virtual std::unique_ptr< RWebDisplayHandle > Display(const RWebDisplayArgs &args)=0
virtual bool IsActive() const
bool IsActive() const override
FirefoxCreator()
Constructor.
std::string MakeProfile(std::string &exec, bool batch) override
Create Firefox profile to run independent browser window.
void ProcessGeometry(std::string &, const RWebDisplayArgs &) override
Process window geometry for Firefox.
~FirefoxCreator() override=default
bool IsActive() const override
Returns true if it can be used.
SafariCreator()
Constructor.
~SafariCreator() override=default
Handle of created web-based display Depending from type of web display, holds handle of started brows...
const std::string & GetContent() const
get content
static std::map< std::string, std::unique_ptr< Creator > > & GetMap()
Static holder of registered creators of web displays.
static bool CheckIfCanProduceImages(RWebDisplayArgs &args)
Checks if configured browser can be used for image production.
static bool ProduceImages(const std::string &fname, const std::vector< std::string > &jsons, const std::vector< int > &widths, const std::vector< int > &heights, const char *batch_file=nullptr)
Produce image file(s) using JSON data as source Invokes JSROOT drawing functionality in headless brow...
static std::vector< std::string > ProduceImagesNames(const std::string &fname, unsigned nfiles=1)
Produce vector of file names for specified file pattern Depending from supported file forma.
static std::string GetImageFormat(const std::string &fname)
Detect image format There is special handling of ".screenshot.pdf" and ".screenshot....
virtual ~RWebDisplayHandle()=default
required virtual destructor for correct cleanup at the end
void SetContent(const std::string &cont)
set content
const std::string & GetUrl() const
returns url of start web display
RWebDisplayHandle(const std::string &url)
constructor
static bool ProduceImage(const std::string &fname, const std::string &json, int width=800, int height=600, const char *batch_file=nullptr)
Produce image file using JSON data as source Invokes JSROOT drawing functionality in headless browser...
static bool CanProduceImages(const std::string &browser="")
Returns true if image production for specified browser kind is supported If browser not specified - u...
static bool NeedHttpServer(const RWebDisplayArgs &args)
Check if http server required for display.
virtual bool Resize(int, int)
resize web window - if possible
static bool DisplayUrl(const std::string &url)
Display provided url in configured web browser.
std::string fContent
!< URL used to launch display
static std::unique_ptr< RWebDisplayHandle > Display(const RWebDisplayArgs &args)
Create web display.
static std::unique_ptr< Creator > & FindCreator(const std::string &name, const std::string &libname="")
Search for specific browser creator If not found, try to add one.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...