28 ClassImp(TGLEmbeddedViewer);
 
   35 TGLEmbeddedViewer::TGLEmbeddedViewer(
const TGWindow *parent, TVirtualPad *pad,
 
   37    TGLViewer(pad, 0, 0, 400, 300),
 
   49 TGLEmbeddedViewer::TGLEmbeddedViewer(
const TGWindow *parent, TVirtualPad *pad,
 
   50                                      TGedEditor *ged, Int_t border) :
 
   51    TGLViewer(pad, 0, 0, 400, 300),
 
   62 TGLEmbeddedViewer::~TGLEmbeddedViewer()
 
   71 void TGLEmbeddedViewer::Init(
const TGWindow *parent)
 
   73    fFrame = 
new TGCompositeFrame(parent);
 
   77    fFrame->MapSubwindows();
 
   78    fFrame->Resize(fFrame->GetDefaultSize());
 
   79    fFrame->Resize(400, 300);
 
   85 void TGLEmbeddedViewer::CreateFrames()
 
   87    fGLWidget = TGLWidget::Create(fFrame, kTRUE, kTRUE, 0, 10, 10);
 
   90    fEventHandler = 
new TGLEventHandler(0, 
this);
 
   91    fGLWidget->SetEventHandler(fEventHandler);
 
   93    fFrame->AddFrame(fGLWidget, 
new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,
 
   94                                                  fBorder, fBorder, fBorder, fBorder));
 
  101 void TGLEmbeddedViewer::CreateGLWidget()
 
  104       Error(
"CreateGLWidget", 
"Widget already exists.");
 
  108    fGLWidget = TGLWidget::Create(fFrame, kTRUE, kTRUE, 0, 10, 10);
 
  109    fGLWidget->SetEventHandler(fEventHandler);
 
  111    fFrame->AddFrame(fGLWidget, 
new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,
 
  112                                                  fBorder, fBorder, fBorder, fBorder));
 
  115    fGLWidget->MapWindow();
 
  122 void TGLEmbeddedViewer::DestroyGLWidget()
 
  124    if (fGLWidget == 0) {
 
  125       Error(
"DestroyGLWidget", 
"Widget does not exist.");
 
  129    fGLWidget->UnmapWindow();
 
  130    fGLWidget->SetEventHandler(0);
 
  132    fFrame->RemoveFrame(fGLWidget);
 
  133    fGLWidget->DeleteWindow();