9#ifndef HAL_FEATURES_HIST_PAINTER_H_
10#define HAL_FEATURES_HIST_PAINTER_H_
30 struct commonPointers {
31 std::vector<TCanvas*>* fCanvases = {
nullptr};
32 std::vector<std::vector<TVirtualPad*>>* fPads = {
nullptr};
34 commonPointers fCommonData;
36 TVirtualPad* fTempPad = {
nullptr};
37 std::vector<Painter*> fSubPainters;
39 Bool_t fOwnPad = {kTRUE};
40 Bool_t fPainted = {kFALSE};
41 ULong64_t fDrawFlags = {0};
45 static const int kHtmlBit;
46 static const int kGridBit;
52 void SetFlag(Int_t bit, Bool_t state);
64 void ResetFewBits(ULong64_t& flag, std::initializer_list<Int_t> bits, Int_t set = -1)
const;
79 Bool_t
CheckOpt(Int_t opt)
const {
return TESTBIT(fDrawFlags, opt); };
124 Bool_t
GetPatterns(TString opt, TString flag, std::vector<double>& vals)
const;
135 void ContitionalPattern(TString& option, TString pattern, ULong64_t& drawOpt, Int_t bit, Bool_t remove = kTRUE)
const;
148 Int_t
GetPadsNo(Int_t canvasNo = 0)
const {
return (*fCommonData.fPads)[canvasNo].size(); }
154 void GotoPad(Int_t no, Int_t canvasNo = 0);
160 void MakeCanvasPads(Int_t x = 1, Int_t y = 1, Int_t canvasNo = 0);
164 void UpdateAllPads();
227 TCanvas*
GetCanvas(Int_t canvasNo = 0)
const {
return (*fCommonData.fCanvases)[canvasNo]; }
233 TVirtualPad*
GetPad(Int_t index, Int_t canvasNo = 0)
const;
virtual void InnerPaint()
void SetFlagForced(ULong64_t flag)
virtual void SetDefaultFlag()
Bool_t CanvasExist(Int_t canvasNo=0) const
TCanvas * GetCanvas(Int_t canvasNo=0) const
ULong64_t GetDrawFlags() const
Bool_t OwnGraphic() const
void SetFlag(Int_t bit, Bool_t state)
void AddPainter(Painter *painter)
Bool_t CheckOpt(Int_t opt) const
virtual void MakePadsAndCanvases()=0
void ResetFewBits(ULong64_t &flag, std::initializer_list< Int_t > bits, Int_t set=-1) const
virtual void OptionsApplied()
void MakeCanvasPads(Int_t x=1, Int_t y=1, Int_t canvasNo=0)
Painter * GetParent() const
Int_t GetPadsNo(Int_t canvasNo=0) const
virtual Bool_t CheckPads() const
virtual void InnerRepaint()
void ContitionalPattern(TString &option, TString pattern, ULong64_t &drawOpt, Int_t bit, Bool_t remove=kTRUE) const
virtual void SetOption(TString option)
virtual ULong64_t SetOptionInternal(TString opt, ULong64_t prev=0)=0
TVirtualPad * GetPad(Int_t index, Int_t canvasNo=0) const
void GotoPad(Int_t no, Int_t canvasNo=0)
Bool_t GetPatterns(TString opt, TString flag, std::vector< double > &vals) const
void ClearCanvas(Int_t canvas)