00001 #ifndef Impala_Core_Stream_RgbDataDstOgl_h
00002 #define Impala_Core_Stream_RgbDataDstOgl_h
00003
00004 #include "Core/Stream/RgbDataDst.h"
00005 #include "Visualization/Window.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Stream
00012 {
00013
00014
00015 class RgbDataDstOgl : public RgbDataDst, public Visualization::Window
00016 {
00017 public:
00018
00019 RgbDataDstOgl(int dst, std::string dstName, int imageWidth, int imageHeight) :
00020 RgbDataDst(dst, dstName, imageWidth, imageHeight),
00021 Visualization::Window(0, 0, imageWidth, imageHeight + 25, true)
00022 {
00023 HandleStart();
00024 }
00025
00026 bool
00027 Valid()
00028 {
00029 return Visualization::Window::Valid();
00030 }
00031
00032 void
00033 NextFrame(unsigned char* dataPtr)
00034 {
00035 if (! dataPtr)
00036 {
00037 std::cout << "RgbDataDstOgl::nextFrame : dataPtr is null" << std::endl;
00038 return;
00039 }
00040 UpdateView(0, dataPtr, mImageWidth, mImageHeight, 1.0);
00041 }
00042
00043 int
00044 WindowManage(int done = 0, char* statusBuf = 0)
00045 {
00046 if (statusBuf)
00047 SetStatusStr(statusBuf);
00048 mOglWnd->updateScene = 1;
00049 return (OglGui::Sys::Instance().WindowManage() == 1);
00050 }
00051
00052 };
00053
00054 }
00055 }
00056 }
00057
00058 #endif