// @(#)root/gl:$Id$
// Author: Bertrand Bellenot 23/01/2008

/*************************************************************************
 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGLEmbeddedViewer
#define ROOT_TGLEmbeddedViewer

#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif

#ifndef ROOT_TGLViewer
#include "TGLViewer.h"
#endif

class TGLRenderArea;
class TGLEventHandler;
class TGedEditor;

class TGLEmbeddedViewer : public TGLViewer
{
private:
   // GUI components
   TGCompositeFrame  *fFrame;
   Int_t              fBorder;

   void Init(const TGWindow *parent);
   void CreateFrames();

   TGLEmbeddedViewer(const TGLEmbeddedViewer&); // Not implemented
   TGLEmbeddedViewer& operator=(const TGLEmbeddedViewer&); // Not implemented

public:
   TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad=0, Int_t border=2);
   TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad, TGedEditor *ged, Int_t border=2);
   ~TGLEmbeddedViewer();

   virtual void CreateGLWidget();
   virtual void DestroyGLWidget();

   virtual const char *GetName() const { return "GLViewer"; }

   TGCompositeFrame*   GetFrame() const { return fFrame; }

   TGLOrthoCamera     *GetOrthoXOYCamera() { return &fOrthoXOYCamera; }
   TGLOrthoCamera     *GetOrthoXOZCamera() { return &fOrthoXOZCamera; }
   TGLOrthoCamera     *GetOrthoZOYCamera() { return &fOrthoZOYCamera; }

   ClassDef(TGLEmbeddedViewer, 0); // Embedded GL viewer.
};

#endif
 TGLEmbeddedViewer.h:1
 TGLEmbeddedViewer.h:2
 TGLEmbeddedViewer.h:3
 TGLEmbeddedViewer.h:4
 TGLEmbeddedViewer.h:5
 TGLEmbeddedViewer.h:6
 TGLEmbeddedViewer.h:7
 TGLEmbeddedViewer.h:8
 TGLEmbeddedViewer.h:9
 TGLEmbeddedViewer.h:10
 TGLEmbeddedViewer.h:11
 TGLEmbeddedViewer.h:12
 TGLEmbeddedViewer.h:13
 TGLEmbeddedViewer.h:14
 TGLEmbeddedViewer.h:15
 TGLEmbeddedViewer.h:16
 TGLEmbeddedViewer.h:17
 TGLEmbeddedViewer.h:18
 TGLEmbeddedViewer.h:19
 TGLEmbeddedViewer.h:20
 TGLEmbeddedViewer.h:21
 TGLEmbeddedViewer.h:22
 TGLEmbeddedViewer.h:23
 TGLEmbeddedViewer.h:24
 TGLEmbeddedViewer.h:25
 TGLEmbeddedViewer.h:26
 TGLEmbeddedViewer.h:27
 TGLEmbeddedViewer.h:28
 TGLEmbeddedViewer.h:29
 TGLEmbeddedViewer.h:30
 TGLEmbeddedViewer.h:31
 TGLEmbeddedViewer.h:32
 TGLEmbeddedViewer.h:33
 TGLEmbeddedViewer.h:34
 TGLEmbeddedViewer.h:35
 TGLEmbeddedViewer.h:36
 TGLEmbeddedViewer.h:37
 TGLEmbeddedViewer.h:38
 TGLEmbeddedViewer.h:39
 TGLEmbeddedViewer.h:40
 TGLEmbeddedViewer.h:41
 TGLEmbeddedViewer.h:42
 TGLEmbeddedViewer.h:43
 TGLEmbeddedViewer.h:44
 TGLEmbeddedViewer.h:45
 TGLEmbeddedViewer.h:46
 TGLEmbeddedViewer.h:47
 TGLEmbeddedViewer.h:48
 TGLEmbeddedViewer.h:49
 TGLEmbeddedViewer.h:50
 TGLEmbeddedViewer.h:51
 TGLEmbeddedViewer.h:52
 TGLEmbeddedViewer.h:53
 TGLEmbeddedViewer.h:54
 TGLEmbeddedViewer.h:55
 TGLEmbeddedViewer.h:56
 TGLEmbeddedViewer.h:57
 TGLEmbeddedViewer.h:58
 TGLEmbeddedViewer.h:59