Logo ROOT   6.18/05
Reference Guide
RPadPainter.hxx
Go to the documentation of this file.
1/// \file ROOT/RPadPainter.hxx
2/// \ingroup Gpad ROOT7
3/// \author Sergey Linev
4/// \date 2018-03-12
5/// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
6/// is welcome!
7
8/*************************************************************************
9 * Copyright (C) 1995-2018, Rene Brun and Fons Rademakers. *
10 * All rights reserved. *
11 * *
12 * For the licensing terms see $ROOTSYS/LICENSE. *
13 * For the list of contributors see $ROOTSYS/README/CREDITS. *
14 *************************************************************************/
15
16#ifndef ROOT7_RPadPainter
17#define ROOT7_RPadPainter
18
19#include "ROOT/RDisplayItem.hxx"
20
21#include <memory>
22#include <string>
23
24namespace ROOT {
25namespace Experimental {
26
27class RPadDisplayItem;
28class RPadDrawable;
29class RPadBase;
30
31namespace Internal {
32
33/** \class ROOT::Experimental::Internal::RPadPainter
34 Abstract interface for object painting on the pad/canvas.
35 */
36
38
40
41protected:
42
43 std::unique_ptr<RPadDisplayItem> fPadDisplayItem; ///<! display items for all drawables in the pad
44 std::string fCurrentDrawableId; ///<! current drawable id
45
46 void PaintDrawables(const RPadBase &pad);
47
48public:
49
50 /// Default constructor
51 RPadPainter() = default;
52
53 /// Default destructor.
54 virtual ~RPadPainter();
55
56 /// add display item to the canvas
57 virtual void AddDisplayItem(std::unique_ptr<RDisplayItem> &&item);
58};
59
60} // namespace Internal
61} // namespace Experimental
62} // namespace ROOT
63
64#endif // ROOT7_RPadPainter
Abstract interface for object painting on the pad/canvas.
Definition: RPadPainter.hxx:37
void PaintDrawables(const RPadBase &pad)
Definition: RPadPainter.cxx:27
std::string fCurrentDrawableId
! current drawable id
Definition: RPadPainter.hxx:44
RPadPainter()=default
Default constructor.
virtual ~RPadPainter()
Default destructor.
Definition: RPadPainter.cxx:15
virtual void AddDisplayItem(std::unique_ptr< RDisplayItem > &&item)
add display item to the canvas
Definition: RPadPainter.cxx:21
std::unique_ptr< RPadDisplayItem > fPadDisplayItem
! display items for all drawables in the pad
Definition: RPadPainter.hxx:43
Base class for graphic containers for RDrawable-s.
Definition: RPad.hxx:41
Draw a RPad, by drawing its contained graphical elements at the pad offset in the parent pad.
Definition: RPad.hxx:283
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21