Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:47

0001 /*************************************************************************
0002  * Copyright (C) 1995-2020, Rene Brun and Fons Rademakers.               *
0003  * All rights reserved.                                                  *
0004  *                                                                       *
0005  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0006  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0007  *************************************************************************/
0008 
0009 #ifndef ROOT7_RPave
0010 #define ROOT7_RPave
0011 
0012 #include <ROOT/RDrawable.hxx>
0013 #include <ROOT/RAttrText.hxx>
0014 #include <ROOT/RAttrBorder.hxx>
0015 #include <ROOT/RAttrFill.hxx>
0016 #include <ROOT/RAttrValue.hxx>
0017 #include <ROOT/RPadPos.hxx>
0018 #include <ROOT/RPadExtent.hxx>
0019 
0020 namespace ROOT {
0021 namespace Experimental {
0022 
0023 
0024 /** \class ROOT::Experimental::RPave
0025 \ingroup GrafROOT7
0026 \brief Base class for paves with text, statistic, legends, placed relative to RFrame position and adjustable height
0027 \author Sergey Linev <s.linev@gsi.de>
0028 \date 2020-06-18
0029 \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
0030 */
0031 
0032 class RPave : public RDrawable {
0033 
0034 protected:
0035 
0036    RPave(const char *csstype) : RDrawable(csstype) {}
0037 
0038 public:
0039 
0040    enum ECorner {
0041       kTopLeft = 1,
0042       kTopRight = 2,
0043       kBottomLeft = 3,
0044       kBottomRight = 4
0045    };
0046 
0047    RAttrBorder border{this, "border"};                     ///<! border attributes
0048    RAttrFill fill{this, "fill"};                           ///<! fill attributes
0049    RAttrText text{this, "text"};                           ///<! text attributes
0050    RAttrValue<RPadLength> width{this, "width", 0.4};       ///<! pave width
0051    RAttrValue<RPadLength> height{this, "height", 0.2};     ///<! pave height
0052    RAttrValue<bool> onFrame{this, "onFrame", true};        ///<! is pave assigned to frame (true) or to pad corner (false)
0053    RAttrValue<ECorner> corner{this, "corner", kTopRight};  ///<! frame/pad corner to which pave is bound
0054    RAttrValue<RPadLength> offsetX{this, "offsetX", 0.02};  ///<! offset X relative to selected frame or pad corner
0055    RAttrValue<RPadLength> offsetY{this, "offsetY", 0.02};  ///<! offset Y relative to selected frame or pad corner
0056 
0057    RPave() : RPave("pave") {}
0058 
0059 };
0060 
0061 } // namespace Experimental
0062 } // namespace ROOT
0063 
0064 #endif