r370: Heroine Virutal's official release 1.2.1
[cinelerra_cv/mob.git] / hvirtual / guicast / bcbutton.h
blobc0872da4442cc465076eaf9ae9f5ce451aa3de34
1 #ifndef BCBUTTON_H
2 #define BCBUTTON_H
4 #include "bcbitmap.inc"
5 #include "bcsubwindow.h"
6 #include "vframe.inc"
8 #include <stdint.h>
11 class BC_Button : public BC_SubWindow
13 public:
14 BC_Button(int x, int y, VFrame **data);
15 BC_Button(int x, int y, int w, VFrame **data);
16 virtual ~BC_Button();
18 friend class BC_GenericButton;
20 virtual int handle_event() { return 0; };
21 int repeat_event(int64_t repeat_id);
22 virtual int draw_face();
23 void disable();
24 void enable();
26 int initialize();
27 virtual int set_images(VFrame **data);
28 int cursor_enter_event();
29 int cursor_leave_event();
30 int button_press_event();
31 int button_release_event();
32 int cursor_motion_event();
33 int update_bitmaps(VFrame **data);
34 int reposition_window(int x, int y);
35 void set_underline(int number);
37 private:
39 BC_Pixmap *images[3];
40 VFrame **data;
41 int status;
42 int w_argument;
43 int underline_number;
44 int enabled;
50 class BC_GenericButton : public BC_Button
52 public:
53 BC_GenericButton(int x, int y, char *text, VFrame **data = 0);
54 BC_GenericButton(int x, int y, int w, char *text, VFrame **data = 0);
55 int set_images(VFrame **data);
56 int draw_face();
58 private:
59 char text[BCTEXTLEN];
62 class BC_OKButton : public BC_Button
64 public:
65 BC_OKButton(int x, int y);
66 BC_OKButton(BC_WindowBase *parent_window);
67 virtual int resize_event(int w, int h);
68 virtual int handle_event();
69 virtual int keypress_event();
72 class BC_CancelButton : public BC_Button
74 public:
75 BC_CancelButton(int x, int y);
76 BC_CancelButton(BC_WindowBase *parent_window);
77 virtual int resize_event(int w, int h);
78 virtual int handle_event();
79 virtual int keypress_event();
82 #endif