#include "TGFrame.h"
#include "TGLayout.h"
#include "TGLWidget.h"
#include "TGLSAFrame.h"
#include "TString.h"
#include "TGLPShapeObj.h"
#include "TGLPhysicalShape.h"
#include "TGLLogicalShape.h"
#include "TGLEmbeddedViewer.h"
#include "TGLEventHandler.h"
ClassImp(TGLEmbeddedViewer);
TGLEmbeddedViewer::TGLEmbeddedViewer(const TGWindow *parent, TVirtualPad *pad, Int_t border) :
TGLViewer(pad, 0, 0, 400, 300),
fFrame(0),
fBorder(border)
{
fFrame = new TGCompositeFrame(parent);
CreateFrames();
fFrame->MapSubwindows();
fFrame->Resize(fFrame->GetDefaultSize());
fFrame->Resize(400, 300);
}
TGLEmbeddedViewer::~TGLEmbeddedViewer()
{
delete fFrame;
fGLWidget = 0;
}
void TGLEmbeddedViewer::CreateGLWidget()
{
if (fGLWidget) {
Error("CreateGLWidget", "Widget already exists.");
return;
}
fGLWidget = TGLWidget::Create(fFrame, kTRUE, kTRUE, 0, 10, 10);
fGLWidget->SetEventHandler(fEventHandler);
fFrame->AddFrame(fGLWidget, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,
fBorder, fBorder, fBorder, fBorder));
fFrame->Layout();
fGLWidget->MapWindow();
}
void TGLEmbeddedViewer::DestroyGLWidget()
{
if (fGLWidget == 0) {
Error("DestroyGLWidget", "Widget does not exist.");
return;
}
fGLWidget->UnmapWindow();
fFrame->RemoveFrame(fGLWidget);
fGLWidget->DeleteWindow();
fGLWidget = 0;
}
void TGLEmbeddedViewer::CreateFrames()
{
fGLWidget = TGLWidget::Create(fFrame, kTRUE, kTRUE, 0, 10, 10);
fEventHandler = new TGLEventHandler("Default", 0, this);
fGLWidget->SetEventHandler(fEventHandler);
fFrame->AddFrame(fGLWidget, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,
fBorder, fBorder, fBorder, fBorder));
}
Last change: Fri Dec 12 09:06:25 2008
Last generated: 2008-12-12 09:06
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.