CMS 3D CMS Logo

FWTextProjected.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWTextProjected_h
2 #define Fireworks_Core_FWTextProjected_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWTextProjected
7 //
16 //
17 // Original Author: Alja Mrak-Tadel
18 // Created: Fri Aug 12 01:12:28 CEST 2011
19 //
20 
21 #include "TNamed.h"
22 #include "TAtt3D.h"
23 #include "TAttBBox.h"
24 
25 #include "TEveProjectionBases.h"
26 #include "TEveText.h"
27 #include "TEveTextGL.h"
28 
29 
30 class FWEveText : public TEveText,
31  public TEveProjectable
32 {
33 private:
34  FWEveText(const FWEveText&); // stop default
35  const FWEveText& operator=(const FWEveText&); // stop default
36 
37 public:
38  float m_offsetZ;
39  float m_textPad;
40  FWEveText(const char* txt=""):TEveText(txt), m_offsetZ(0), m_textPad(5) {}
41  virtual ~FWEveText() {}
42 
43  virtual TClass* ProjectedClass(const TEveProjection* p) const ;
44  ClassDef(FWEveText, 0); // Class for visualisation of text with FTGL font.
45 };
46 
47 //==============================================================================
48 //==============================================================================
49 
50 
52  public TEveProjected
53 {
54 private:
55  FWEveTextProjected(const FWEveTextProjected&); // Not implemented
56  FWEveTextProjected& operator=(const FWEveTextProjected&); // Not implemented
57 
58 public:
60  virtual ~FWEveTextProjected() {}
61 
62  virtual void UpdateProjection();
63  virtual TEveElement* GetProjectedAsElement() { return this; }
64 
65  ClassDef(FWEveTextProjected, 0); // Projected replica of a FWEveText.
66 };
67 
68 //______________________________________________________________________________
69 
70 class FWEveTextGL : public TEveTextGL
71 {
72 public:
74  virtual ~FWEveTextGL() {}
75 
76  virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
77 
78  ClassDef(FWEveTextGL, 0); // GL renderer class for TEveText.
79 };
80 
81 
82 #endif
const FWEveText & operator=(const FWEveText &)
float m_offsetZ
virtual TEveElement * GetProjectedAsElement()
virtual ~FWEveTextGL()
float m_textPad
virtual ~FWEveTextProjected()
FWEveText(const char *txt="")
virtual ~FWEveText()
virtual TClass * ProjectedClass(const TEveProjection *p) const
FWEveText(const FWEveText &)
ClassDef(FWEveText, 0)