1 /*
2  *  Abuse - dark 2D side-scrolling platform game
3  *  Copyright (c) 1995 Crack dot Com
4  *  Copyright (c) 2005-2011 Sam Hocevar <sam@hocevar.net>
5  *
6  *  This software was released into the Public Domain. As with most public
7  *  domain software, no warranty is made or implied by Crack dot Com, by
8  *  Jonathan Clark, or by Sam Hocevar.
9  */
10 
11 #ifndef __TOOLS_HPP_
12 #define __TOOLS_HPP_
13 
14 #include "jwindow.h"
15 #include "input.h"
16 #include "specs.h"
17 #include "scroller.h"
18 #include "visobj.h"
19 
20 class tool_picker : public spicker
21 {
22   Filter *map;
23   visual_object **icons;
24   int *ids;
25   int total_icons;
26   int iw,ih;
27   palette *old_pal;
28 
29   public :
30 
31   // you are expected keep image and id list in memory, tool_picker does not copy them
32   tool_picker(int X, int Y, int ID,
33           int show_h, visual_object **Icons, int *Ids, int total_ic,
34           palette *icon_palette, palette *pal, ifield *Next);
35 
36   virtual void draw_item(image *screen, int x, int y, int num, int active);
total()37   virtual int total() { return total_icons; }
item_width()38   virtual int item_width() { return iw; }
item_height()39   virtual int item_height() { return ih; }
note_new_current(image * screen,InputManager * inm,int x)40   virtual void note_new_current(image *screen, InputManager *inm, int x)
41   { wm->push_event(new event(ids[x],NULL)); }
42 
43   void remap(palette *pal, image *screen);
44   ~tool_picker();
45 } ;
46 
47 
48 #endif
49 
50 
51 
52 
53 
54 
55 
56