home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.hitl.washington.edu
/
ftp.hitl.washington.edu.tar
/
ftp.hitl.washington.edu
/
pub
/
people
/
peter
/
ER
/
PredrawSender.cxx
< prev
next >
Wrap
C/C++ Source or Header
|
1998-07-07
|
950b
|
46 lines
/*
PredrawSender.cxx
*/
#include "PredrawSender.h"
PredrawSender *PredrawSender::PredrawSender_ = 0;
// Returns a pointer to the 3D predraw sender singleton.
// If the singleton doesn't exist, it creates one.
PredrawSender *
PredrawSender::GetInstance()
{
if (PredrawSender_ == 0) {
// The predraw sender hasn't been initialized, so create a
// new instance of the class.
PredrawSender_ = new PredrawSender();
}
return PredrawSender_;
}
PredrawSender::PredrawSender()
{
// Create and register the 3D predraw event.
predraw_event_ = new PredrawEvent;
RegisterEvent(predraw_event_);
// Hook into WTK's 3D predraw function.
WTwindow_setdrawfn(WTuniverse_getwindows(), predraw_CB);
}
PredrawSender::~PredrawSender()
{
delete predraw_event_;
}
// This function simply notifies all event handler's when it's invoked.
void
PredrawSender::predraw_CB(WTwindow *win, FLAG eye)
{
PredrawSender_->predraw_event_->InvokeHandlers(0);
}