16#ifndef ROOT7_RHistDrawingOpts
17#define ROOT7_RHistDrawingOpts
19#include <ROOT/RDrawingAttr.hxx>
20#include <ROOT/RDrawingOptsBase.hxx>
21#include <ROOT/RStringEnumAttr.hxx>
24namespace Experimental {
26template <
int DIMENSION>
28 static_assert(DIMENSION != 0,
"Cannot draw 0-dimensional histograms!");
29 static_assert(DIMENSION > 3,
"Cannot draw histograms with more than 3 dimensions!");
30 static_assert(DIMENSION < 3,
"This should have been handled by the specializations below?!");
42 static const RStringEnumAttrSet &
Styles() {
43 static const RStringEnumAttrSet styles{
"hist",
"bar",
"text"};
46 RDrawingAttr<RStringEnumAttr<EStyle>> fStyle{*
this,
"Hist.1D.Style", EStyle::kBar, Styles()};
47 RDrawingAttr<RColor> fLineColor{*
this,
"Hist.1D.Line.Color"};
48 RDrawingAttr<int> fLineWidth{*
this,
"Hist.1D.Line.Width"};
52 RDrawingAttr<RStringEnumAttr<EStyle>> &
GetStyle() {
return fStyle; }
73 static const RStringEnumAttrSet &
Styles() {
74 static const RStringEnumAttrSet styles{
"box",
"surf",
"text"};
77 RDrawingAttr<RStringEnumAttr<EStyle>> fStyle{*
this,
"Hist.2D.Style",
EStyle::kBox, Styles()};
78 RDrawingAttr<RColor> fLineColor{*
this,
"Hist.2D.Line.Color"};
79 RDrawingAttr<int> fLineWidth{*
this,
"Hist.2D.Line.Width"};
83 RDrawingAttr<RStringEnumAttr<EStyle>> &
GetStyle() {
return fStyle; }
104 static const RStringEnumAttrSet &
Styles() {
105 static const RStringEnumAttrSet styles{
"box",
"iso"};
108 RDrawingAttr<RStringEnumAttr<EStyle>> fStyle{*
this,
"Hist.3D.Style",
EStyle::kBox, Styles()};
109 RDrawingAttr<RColor> fLineColor{*
this,
"Hist.3D.Line.Color"};
110 RDrawingAttr<int> fLineWidth{*
this,
"Hist.3D.Line.Width"};
114 RDrawingAttr<RStringEnumAttr<EStyle>> &
GetStyle() {
return fStyle; }
include TDocParser_001 C image html pict1_TDocParser_001 png width
static const RStringEnumAttrSet & Styles()
RColor GetLineColor() const
void SetLineColor(const RColor &col)
RDrawingAttr< RColor > & GetLineColor()
RDrawingAttr< RStringEnumAttr< EStyle > > & GetStyle()
RDrawingAttr< int > & GetLineWidth()
void SetLineWidth(int width)
void SetStyle(EStyle style)
RDrawingAttr< RStringEnumAttr< EStyle > > & GetStyle()
static const RStringEnumAttrSet & Styles()
RDrawingAttr< int > & GetLineWidth()
RDrawingAttr< RColor > & GetLineColor()
void SetLineWidth(int width)
RColor GetLineColor() const
void SetLineColor(const RColor &col)
void SetStyle(EStyle style)
RDrawingAttr< RStringEnumAttr< EStyle > > & GetStyle()
RDrawingAttr< RColor > & GetLineColor()
void SetLineColor(const RColor &col)
RColor GetLineColor() const
RDrawingAttr< int > & GetLineWidth()
static const RStringEnumAttrSet & Styles()
void SetLineWidth(int width)
void SetStyle(EStyle style)
Namespace for new ROOT classes and functions.