9#ifndef ROOT7_TObjectDrawable
10#define ROOT7_TObjectDrawable
24namespace Experimental {
27class TObjectDisplayItem;
57 std::unique_ptr<RDisplayItem>
Display(
const RDisplayContext &)
override;
61 void Execute(
const std::string &)
final;
87 TObjectDrawable(
const std::shared_ptr<TObject> &obj,
const std::string &opt);
94 void Set(
TObject *obj,
const std::string &opt,
bool isowner =
false);
Drawing fill attributes for different objects.
Drawing line attributes for different objects.
Template class to access single value from drawable or other attributes.
Base class for drawable entities: objects that can be painted on a RPad.
Provides v7 drawing facilities for TObject types (TGraph, TH1, TH2, etc).
RAttrValue< std::string > options
! object draw options
void Reset()
Reset object.
@ kColors
list of ROOT colors
@ kPalette
list of colors from palette
@ kStyle
instance of TStyle object
TObjectDrawable()
Default constructor.
static void ExtractObjectColors(std::unique_ptr< TObjectDisplayItem > &item, const TObject *obj)
Check if object has specified color value and store it in display item Ensure that color matches on c...
static void CheckOwnership(TObject *obj)
Checks object ownership - used for TH1 directory handling and TF1 globals lists.
Internal::RIOShared< TObject > fObj
The object to be painted, owned by the drawable.
RAttrText text
! object text attributes
RAttrFill fill
! object fill attributes
std::unique_ptr< TObject > CreateSpecials(int kind)
Create instance of requested special object.
void PopulateMenu(RMenuItems &) final
fill context menu items for the ROOT class
static std::string GetColorCode(TColor *col)
Convert TColor to RGB string for using with SVG.
void CollectShared(Internal::RIOSharedVector_t &vect) final
void Execute(const std::string &) final
Execute object method.
std::unique_ptr< RDisplayItem > Display(const RDisplayContext &) override
Create display item which will be delivered to the client.
const TObject * Get()
Return assigned object.
static const char * DetectCssType(const TObject *obj)
Provide css type.
const TObject * fExtObj
! external object, managed outside of the drawable, not persistent
void Set(TObject *obj, bool isowner=false)
Set object.
RAttrMarker marker
! object marker attributes
~TObjectDrawable() override
Destructor.
RAttrLine line
! object line attributes
TClass instances represent classes, structs and namespaces in the ROOT type system.
The color creation and management class.
Mother of all ROOT objects.
std::vector< RIOSharedBase * > RIOSharedVector_t
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...