00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033 #ifndef esve_ui_base_Mouse_Handler_hxx
00034 #define esve_ui_base_Mouse_Handler_hxx
00035
00036 #include <esve/ui/base/Mouse.hxx>
00037 #include <esve/kernel/impl/Handler.hxx>
00038 #include <memory>
00039
00040 namespace esve { namespace ui { namespace base {
00041
00048
00049 class Mouse_Handler
00050 : virtual public kernel::impl::Handler
00051 {
00052 private:
00053 typedef Handler super ;
00054
00055 Mouse_Handler( const Mouse_Handler & ) ;
00056 Mouse_Handler & operator=( const Mouse_Handler & ) ;
00057
00058 class Private ;
00059 const std::auto_ptr<Private> m ;
00060
00061 public:
00062 ~Mouse_Handler() = 0 ;
00063
00064 protected:
00065 Mouse_Handler() ;
00066
00069 typedef ui::base::Mouse Mouse ;
00070
00073 typedef ui::base::Mouse::Button Button ;
00074
00076 virtual bool handle_mouse_move( const Mouse & ) = 0 ;
00077
00079 virtual bool handle_mouse_push( Button, const Mouse & ) = 0 ;
00080
00082 virtual bool handle_mouse_release( Button, const Mouse & ) = 0 ;
00083
00085 const Mouse & mouse() const ;
00086 } ;
00087
00088 }}}
00089
00090 #endif
00091