00001 //--- < BASEGRAPHWINDOW.H > -----| ViewGraph - A Flexible Graph view Framework | 00002 // 00003 // A GraphWindow is a window holding 00004 // one or more camera views. GraphWindow 00005 // takes care of camera focus and 00006 // repaints cameras when a lower camera 00007 // has invalidated the shared canvas. 00008 // 00009 // This is the abstract class; see 00010 // GraphWindow and CameraFocus for 00011 // implementation details. 00012 // $Author: botik32 $ 00013 // $Revision: 1.2 $ 00014 // $Date: 2004/05/14 18:35:08 $ 00015 //-----------------------------------------------------------------------------/ 00016 00017 #ifndef BASEGRAPHWINDOW_H 00018 #define BASEGRAPHWINDOW_H 00019 00020 class Event; 00021 class CameraList; 00022 class Scene; 00023 00024 class BaseGraphWindow : public Context 00025 { 00026 protected: 00027 Scene *scene; 00028 public: 00029 virtual bool handle_event( Event * )=0; 00030 virtual bool handle_message( Message * )=0; 00031 virtual CameraList* get_cameras( void )=0; 00032 virtual void enqueue_timed_event( int, Event * )=0; 00033 00034 BaseGraphWindow( Scene *s ) 00035 { 00036 scene = s; 00037 }; 00038 00039 Scene* get_scene( void ) 00040 { 00041 return scene; 00042 }; 00043 virtual ~BaseGraphWindow() 00044 { 00045 }; 00046 }; 00047 00048 #endif 00049 00050 /// $Log: basegraphwindow.h,v $ 00051 /// Revision 1.2 2004/05/14 18:35:08 botik32 00052 /// Fixed a bug related to HUDGroups and a few that I do not 00053 /// remember now. 00054 /// 00055 /// Revision 1.1.1.1 2004/03/26 10:50:21 botik32 00056 /// Initial release 00057 /// 00058 /// Revision 1.1.1.1 2004/03/26 08:53:33 botik 00059 /// initial import 00060 /// 00061 /// 00062 /// Revision 1.4 2003/12/02 14:39:37 botik 00063 /// Changed the repaint strategy to always repaint the scene 00064 /// Added Context class to handle context-related data for 00065 /// scene nodes 00066 /// Added get_surfacerect() to ScrollableView 00067 /// Camera, Scene and GraphWindow now inherit from Context 00068 /// Changed activeleaf to use Scene context to store hover 00069 /// status 00070 /// 00071 /// Revision 1.3 2003/11/20 18:40:48 botik 00072 /// Got borderlayer to work satisfactory. 00073 /// Changed xpsdl driver to check bounds 00074 /// on rect update and clear 00075 /// 00076 /// Revision 1.2 2003/11/19 16:14:52 botik 00077 /// Got repaint_rect to work right and changed ActiveLeaf 00078 /// accordingly. 00079 /// 00080 /// Revision 1.1 2003/11/17 23:39:26 botik 00081 /// This file is needed for the new window handling 00082 ///