00001 #ifndef OglGui_SixImViewerApp_h
00002 #define OglGui_SixImViewerApp_h
00003
00004 #include "OglGui/SixView2DWindow.h"
00005 #include "OglGui/ZoomPanControl.h"
00006 #include "OglGui/LenseControl.h"
00007
00008 namespace OglGui {
00009
00010 class SixImViewerApp : public Window
00011 {
00012 public:
00013
00014 SixImViewerApp(int x, int y, int w, int h) :
00015 Window(x, y, w, h)
00016 {
00017 Init(w,h);
00018 }
00019
00020 SixImViewerApp(Window *parent, int w, int h) :
00021 Window(parent, w, h)
00022 {
00023 Init(w,h);
00024 }
00025
00026 SixImViewerApp(Window *parent, int x, int y, int w,int h) :
00027 Window(parent, x, y, w, h)
00028 {
00029 Init(w,h);
00030 }
00031
00032 SixView2DWindow* SixView2DWnd() { return mSixView2DWnd; }
00033 ZoomPanControl* ZoomPanCtrl() { return mZoomPanControl; }
00034 LenseControl* LenseCtrl() { return mLenseControl; }
00035 LENSE* Lense() { return mLense; }
00036
00037 private:
00038 void Init(int w, int h)
00039 {
00040 mSixView2DWnd = new SixView2DWindow(this,0,108,w,h-112);
00041 mZoomPanControl = new ZoomPanControl(this,0,0,w/2,108,mSixView2DWnd,10);
00042 mLenseControl = new LenseControl(this,w/2+2,2,w/2-2, 104,100);
00043 mLense = Lense2D(mSixView2DWnd->GetOGLWND(),100,200,128,128);
00044
00045 viewSys.SetTags(mSixView2DWnd->GetView(0), selectedTag);
00046
00047 mSixView2DWnd ->ConnectTo(this);
00048 mZoomPanControl ->ScaleTo(this, NoVertical);
00049 mLenseControl ->ScaleTo(this, NoVertical);
00050 mLenseControl ->ScaleChildren(0, 1);
00051 mLenseControl ->SetLenseTarget(mLense);
00052 }
00053
00054 SixView2DWindow* mSixView2DWnd;
00055 ZoomPanControl* mZoomPanControl;
00056 LenseControl* mLenseControl;
00057 LENSE* mLense;
00058 };
00059
00060 }
00061
00062 #endif