2 * \brief Interface of DOpE Button widget module
4 * \author Norman Feske <nf2@inf.tu-dresden.de>
8 * Copyright (C) 2002-2004 Norman Feske <nf2@os.inf.tu-dresden.de>
9 * Technische Universitaet Dresden, Operating Systems Research Group
11 * This file is part of the DOpE package, which is distributed under
12 * the terms of the GNU General Public Licence 2. Please see the
13 * COPYING file for details.
16 #ifndef _DOPE_BUTTON_H_
17 #define _DOPE_BUTTON_H_
19 struct button_methods;
22 #define BUTTON struct button
25 struct widget_methods *gen;
26 struct button_methods *but;
27 struct widget_data *wd;
28 struct button_data *bd;
31 struct button_methods {
32 void (*set_text) (BUTTON *, char *new_txt);
33 char *(*get_text) (BUTTON *);
34 void (*set_font) (BUTTON *, s32 new_font_id);
35 s32 (*get_font) (BUTTON *);
36 void (*set_style) (BUTTON *, s32 new_style);
37 s32 (*get_style) (BUTTON *);
38 void (*set_click) (BUTTON *, void (*)(BUTTON *));
39 void (*set_release) (BUTTON *, void (*)(BUTTON *));
40 void (*set_free_w) (BUTTON *, int free_w_flag);
41 void (*set_free_h) (BUTTON *, int free_h_flag);
42 void (*set_pad_x) (BUTTON *, int);
43 void (*set_pad_y) (BUTTON *, int);
46 struct button_services {
47 BUTTON *(*create) (void);
51 #endif /* _DOPE_BUTTON_H_ */