00001 // @(#)root/gl:$Id: TGLEmbeddedViewer.h 31330 2009-11-19 17:34:19Z matevz $ 00002 // Author: Bertrand Bellenot 23/01/2008 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TGLEmbeddedViewer 00013 #define ROOT_TGLEmbeddedViewer 00014 00015 #ifndef ROOT_TGFrame 00016 #include "TGFrame.h" 00017 #endif 00018 00019 #ifndef ROOT_TGLViewer 00020 #include "TGLViewer.h" 00021 #endif 00022 00023 class TGLRenderArea; 00024 class TGLEventHandler; 00025 class TGedEditor; 00026 00027 class TGLEmbeddedViewer : public TGLViewer 00028 { 00029 private: 00030 // GUI components 00031 TGCompositeFrame *fFrame; 00032 Int_t fBorder; 00033 00034 void Init(const TGWindow *parent); 00035 void CreateFrames(); 00036 00037 TGLEmbeddedViewer(const TGLEmbeddedViewer&); // Not implemented 00038 TGLEmbeddedViewer& operator=(const TGLEmbeddedViewer&); // Not implemented 00039 00040 public: 00041 TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad=0, Int_t border=2); 00042 TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad, TGedEditor *ged, Int_t border=2); 00043 ~TGLEmbeddedViewer(); 00044 00045 virtual void CreateGLWidget(); 00046 virtual void DestroyGLWidget(); 00047 00048 virtual const char *GetName() const { return "GLViewer"; } 00049 00050 TGCompositeFrame* GetFrame() const { return fFrame; } 00051 00052 TGLOrthoCamera *GetOrthoXOYCamera() { return &fOrthoXOYCamera; } 00053 TGLOrthoCamera *GetOrthoXOZCamera() { return &fOrthoXOZCamera; } 00054 TGLOrthoCamera *GetOrthoZOYCamera() { return &fOrthoZOYCamera; } 00055 00056 ClassDef(TGLEmbeddedViewer, 0); // Embedded GL viewer. 00057 }; 00058 00059 #endif