00001
00009 #ifndef VIEWWINDOW_H
00010 #define VIEWWINDOW_H
00011
00012 #if _MSC_VER > 1000
00013 #pragma once
00014 #endif // _MSC_VER > 1000
00015 #pragma warning( disable : 4786 )
00016
00017
00018 #include <list>
00019 #include <string>
00020
00021 #include <boost/scoped_ptr.hpp>
00022
00023
00024 #ifndef EDIS_VIEWINDOW_H
00025 struct _Edis_ViewWindow;
00026 typedef struct _Edis_ViewWindow Edis_ViewWindow;
00027 #endif
00028
00029 #ifndef __EVUE_H
00030 typedef void * Evue_DisplayHandle;
00031 #endif
00032
00033
00034
00035 namespace Imagine
00036 {
00037 class ViewLayer;
00038
00043 class ViewWindow
00044 {
00045 public:
00046
00047 ViewWindow();
00048 ViewWindow( Edis_ViewWindow * vwp );
00049 ViewWindow( Evue_DisplayHandle dh );
00050
00051 virtual ~ViewWindow();
00052
00053
00056 void reset( Edis_ViewWindow * vwp );
00057 void reset( Evue_DisplayHandle dh );
00059
00060
00066 ViewLayer & openImageLayer( std::string const & filename );
00067
00068
00074 ViewLayer & openVectorLayer( std::string const & filename );
00075
00076
00078 ViewLayer topLayer();
00079
00084 std::list<std::string> layers();
00085
00087 void zoomInMode();
00088
00090 void zoomOutMode();
00091
00093 void selectMode();
00094
00096 void roamMode();
00097
00098 private:
00099
00101 struct Imp;
00102
00103 boost::scoped_ptr<Imp> imp_;
00104
00105 };
00106
00107
00108
00109
00110
00111 }
00112
00113 #endif