diff -r be3d8bd9fb02 -r 8078f7a3c8a0 src/widget/widget_types.h --- a/src/widget/widget_types.h Sun Mar 04 22:36:22 2007 +0000 +++ b/src/widget/widget_types.h Tue Mar 06 13:06:38 2007 +0000 @@ -57,6 +57,50 @@ /*virtual*/ void OnLeftButtonDown(EvtLeftButtonDown &ev); }; +struct ImageButton : public Button { + typedef Button super; + +protected: + SpriteID m_sprite; + Point16 m_sprite_offset; + +public: + ImageButton() + : Button() + , m_sprite(0) + {} + + ImageButton(CompositeWidget *container, WidgetId id, FeatureFlags feature_flags, byte color, const Rect16 &rect, StringID tooltips, SpriteID sprite, Point16 sprite_offset) + : Button(container, id, feature_flags, color, rect, tooltips) + , m_sprite(sprite) + , m_sprite_offset(sprite_offset) + {} + + /*virtual*/ void OnPaint(EvtPaint &ev); +}; + +struct ImageButton2 : public ImageButton { + typedef ImageButton super; + +protected: + SpriteID m_sprite_pushed; + Point16 m_sprite_offset_pushed; + +public: + ImageButton2() + : ImageButton() + , m_sprite_pushed(0) + {} + + ImageButton2(CompositeWidget *container, WidgetId id, FeatureFlags feature_flags, byte color, const Rect16 &rect, StringID tooltips, SpriteID sprite, Point16 sprite_offset, SpriteID sprite_pushed, Point16 sprite_offset_pushed) + : ImageButton(container, id, feature_flags, color, rect, tooltips, sprite, sprite_offset) + , m_sprite_pushed(sprite_pushed) + , m_sprite_offset_pushed(sprite_offset_pushed) + {} + + /*virtual*/ void OnPaint(EvtPaint &ev); +}; + struct TextButton : public Button { typedef Button super; @@ -96,23 +140,23 @@ /*virtual*/ void OnLeftClick(EvtLeftClick &ev); }; -struct StickyBox : public Button { - typedef Button super; +struct StickyBox : public ImageButton2 { + typedef ImageButton2 super; static const int16 DEFAULT_WIDTH = 12; static const int16 DEFAULT_HEIGHT = 14; public: StickyBox() - : Button() + : ImageButton2() {} StickyBox(CompositeWidget *container) - : Button(container, -103, FF_TOGGLE_BUTTON, container->m_color, Rect16(), STR_STICKY_BUTTON) + : ImageButton2(container, -103, FF_TOGGLE_BUTTON, container->m_color, Rect16(), STR_STICKY_BUTTON, SPR_PIN_DOWN, Point(0, 1), SPR_PIN_UP, Point(0, 1)) {} /*virtual*/ void OnCreate(EvtCreate &ev); - /*virtual*/ void OnPaint(EvtPaint &ev); +// /*virtual*/ void OnPaint(EvtPaint &ev); /*virtual*/ void OnLeftClick(EvtLeftClick &ev); };