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 #ifndef CTRL_RESIZE_HPP
00026 #define CTRL_RESIZE_HPP
00027
00028 #include "ctrl_flat.hpp"
00029 #include "../commands/cmd_generic.hpp"
00030 #include "../utils/fsm.hpp"
00031
00032 class GenericLayout;
00033
00034
00036 class CtrlResize: public CtrlFlat
00037 {
00038 public:
00039 CtrlResize( intf_thread_t *pIntf, CtrlFlat &rCtrl,
00040 GenericLayout &rLayout, const UString &rHelp,
00041 VarBool *pVisible );
00042 virtual ~CtrlResize() {}
00043
00045 virtual void handleEvent( EvtGeneric &rEvent );
00046
00048 virtual bool mouseOver( int x, int y ) const;
00049
00051 virtual void draw( OSGraphics &rImage, int xDest, int yDest );
00052
00054 virtual void setLayout( GenericLayout *pLayout,
00055 const Position &rPosition );
00056
00058 virtual const Position *getPosition() const;
00059
00061 virtual string getType() const { return m_rCtrl.getType(); }
00062
00063 private:
00064 FSM m_fsm;
00066 CtrlFlat &m_rCtrl;
00068 GenericLayout &m_rLayout;
00070 EvtGeneric *m_pEvt;
00072 int m_xPos, m_yPos;
00073
00075 DEFINE_CALLBACK( CtrlResize, OutStill )
00076 DEFINE_CALLBACK( CtrlResize, StillOut )
00077 DEFINE_CALLBACK( CtrlResize, StillStill )
00078 DEFINE_CALLBACK( CtrlResize, StillResize )
00079 DEFINE_CALLBACK( CtrlResize, ResizeStill )
00080 DEFINE_CALLBACK( CtrlResize, ResizeResize )
00081
00082
00083 int m_width, m_height;
00084 };
00085
00086 #endif
00087