12 #ifndef ROOT_TGLSAViewer
13 #define ROOT_TGLSAViewer
22 class TGCompositeFrame;
27 class TGLEventHandler;
37 class TGLSAViewer :
public TGLViewer
41 kGLHelpAbout, kGLHelpViewer,
42 kGLPerspYOZ, kGLPerspXOZ, kGLPerspXOY,
43 kGLXOY, kGLXOZ, kGLZOY, kGLZOX,
44 kGLXnOY, kGLXnOZ, kGLZnOY, kGLZnOX,
45 kGLOrthoRotate, kGLOrthoDolly,
46 kGLSaveEPS, kGLSavePDF, kGLSavePNG, kGLSaveGIF, kGLSaveAnimGIF,
47 kGLSaveJPG, kGLSaveAS, kGLCloseViewer, kGLQuitROOT,
48 kGLEditObject, kGLHideMenus };
54 TGPopupMenu *fFileMenu;
55 TGPopupMenu *fFileSaveMenu;
56 TGPopupMenu *fCameraMenu;
57 TGPopupMenu *fHelpMenu;
60 TGCompositeFrame *fLeftVerticalFrame;
62 TGCompositeFrame *fRightVerticalFrame;
70 TTimer *fMenuHidingTimer;
71 Bool_t fMenuHidingShowMenu;
73 Bool_t fDeleteMenuBar;
75 static Long_t fgMenuHidingTimeout;
77 void ResetMenuHidingTimer(Bool_t show_menu);
80 static const Int_t fgInitX;
81 static const Int_t fgInitY;
82 static const Int_t fgInitW;
83 static const Int_t fgInitH;
85 static const char *fgHelpText1;
86 static const char *fgHelpText2;
92 TGLSAViewer(
const TGLSAViewer &);
93 TGLSAViewer & operator = (
const TGLSAViewer &);
96 TGLSAViewer(TVirtualPad* pad, TGLFormat* format=0);
97 TGLSAViewer(
const TGWindow* parent, TVirtualPad *pad, TGedEditor *ged=0,
101 virtual void CreateGLWidget();
102 virtual void DestroyGLWidget();
104 virtual const char* GetName()
const {
return "GLViewer"; }
106 virtual void SelectionChanged();
110 void DeleteMenuBar();
111 void DisableCloseMenuEntries();
112 void EnableMenuBarHiding();
113 void DisableMenuBarHiding();
114 void MenuHidingTimeout();
116 void HandleMenuBarHiding(Event_t* ev);
119 Bool_t ProcessFrameMessage(Long_t msg, Long_t parm1, Long_t);
121 TGCompositeFrame* GetFrame()
const;
122 TGCompositeFrame* GetLeftVerticalFrame()
const {
return fLeftVerticalFrame; }
124 TGLFormat* GetFormat()
const {
return fFormat; }
126 void ToggleEditObject();
127 void ToggleOrthoRotate();
128 void ToggleOrthoDolly();
130 static void SetMenuHidingTimeout(Long_t timeout);
132 ClassDef(TGLSAViewer, 0);