00001 //--- < ZOOMABLEOBJECTVIEW.H > --| ViewGraph - A Flexible Graph view Framework | 00002 // 00003 // Abstraction of a viewport, handles zooming 00004 // and scrolling. Redirects drawing calls to 00005 // SurfaceDriver, shifting and magnifying the 00006 // parameters. 00007 // 00008 // Different from ZoomableSurfaceView in zoom 00009 // behaviour. 00010 // 00011 // Use this class in cases where magnification 00012 // is tricky and depends on the type of object. 00013 // Is used in tandem with magnification-aware 00014 // objects that know how to display themselves 00015 // at different zoom levels. 00016 // 00017 // $Author: botik32 $ 00018 // $Revision: 1.1.1.1 $ 00019 // $Date: 2004/03/26 10:50:26 $ 00020 //-----------------------------------------------------------------------------/ 00021 00022 #ifndef ZOOMABLEOBJECTVIEW_H 00023 #define ZOOMABLEOBJECTVIEW_H 00024 00025 #include <cZUI/zoomableview.h> 00026 00027 class ZoomableObjectView : public ZoomableView{ 00028 protected: 00029 /// View's absolute magnification 00030 double view_magnification; 00031 public: 00032 double zoom( double factor ); 00033 double get_zoom( void ); 00034 00035 ZoomableObjectView( SurfaceDriver *, int, int ); 00036 }; 00037 00038 00039 #endif 00040 00041 /// $Log: zoomableobjectview.h,v $ 00042 /// Revision 1.1.1.1 2004/03/26 10:50:26 botik32 00043 /// Initial release 00044 /// 00045 /// Revision 1.1.1.1 2004/03/26 08:53:33 botik 00046 /// initial import 00047 /// 00048 /// 00049 /// Revision 1.3 2003/11/09 15:23:01 botik 00050 /// Got GraphDisplay to compile and run. 00051 /// 00052 /// Revision 1.2 2003/10/21 17:39:00 botik 00053 /// Added preliminary scene support 00054 /// 00055 /// Revision 1.1 2003/10/15 12:05:55 botik 00056 /// Changed the name of ObjectView class. 00057 /// 00058 /// Revision 1.2 2003/10/13 16:41:35 botik 00059 /// Added Log keyword to the end of the files 00060 ///