00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef HEADER_CONSTRUO_WORLDVIEW_TOOL_HXX
00021 #define HEADER_CONSTRUO_WORLDVIEW_TOOL_HXX
00022 
00023 class ZoomGraphicContext;
00024 
00026 class WorldViewTool
00027 {
00028 public:
00029   WorldViewTool () {}
00030 
00031   virtual ~WorldViewTool () {}
00032 
00034   virtual void activate () {}
00035 
00037   virtual void deactivate () {}
00038 
00039   virtual void draw_background (ZoomGraphicContext* gc) =0;
00040   virtual void draw_foreground (ZoomGraphicContext* gc) =0;
00041 
00042   virtual void on_button_press (int button_id, int x, int y) {}
00043 
00044   virtual void on_primary_button_press (int x, int y) {}
00045   virtual void on_primary_button_release (int x, int y) {}
00046 
00047   virtual void on_secondary_button_press (int x, int y) {}
00048   virtual void on_secondary_button_release (int x, int y) {}
00049   
00050   virtual void on_duplicate_press (int x, int y) {}
00051   virtual void on_delete_press (int x, int y) {}
00052   virtual void on_fix_press (int x, int y) {}
00053   
00054   virtual void on_mouse_move (int x, int y, int of_x, int of_y) {} 
00055 };
00056 
00057 #endif
00058 
00059