Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkOverlay2DLayouter.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKOVERLAY2DLAYOUTER_H
18 #define MITKOVERLAY2DLAYOUTER_H
19 
20 #include <MitkOverlaysExports.h>
22 
23 namespace mitk
24 {
28  {
29  public:
30  enum Alignment
31  {
33  Top,
37  BottomRight
38  };
40  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
41 
42  static std::string STANDARD_2D_TOPLEFT();
43  static std::string STANDARD_2D_TOP();
44  static std::string STANDARD_2D_TOPRIGHT();
45  static std::string STANDARD_2D_BOTTOMLEFT();
46  static std::string STANDARD_2D_BOTTOM();
47  static std::string STANDARD_2D_BOTTOMRIGHT();
48 
51  static Overlay2DLayouter::Pointer CreateLayouter(Alignment alignment, BaseRenderer *renderer);
52 
55  static Overlay2DLayouter::Pointer CreateLayouter(const std::string &identifier, BaseRenderer *renderer);
56 
57  void PrepareLayout() override;
58 
59  protected:
61  explicit Overlay2DLayouter();
62 
64  virtual ~Overlay2DLayouter();
65 
66  Alignment m_Alignment;
67 
68  double m_Margin;
69 
70  private:
72  Overlay2DLayouter(const Overlay2DLayouter &);
73 
75  Overlay2DLayouter &operator=(const Overlay2DLayouter &);
76  };
77 
78 } // namespace mitk
79 #endif // MITKOVERLAY2DLAYOUTER_H
Organizes the rendering process.
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Baseclass of Overlay layouters.
#define MITKOVERLAYS_EXPORT
A simple implementation of a layouter for 2D Overlays.