3 * \author Angus Leeming
5 * A freebrowser is a browser widget in its own form.
6 * It is used for example to instantiate the drop-down list beneath a
10 #ifndef FL_FREEBROWSER_H
11 #define FL_FREEBROWSER_H
13 #if defined(__cplusplus)
18 enum freebrowser_position {
23 typedef struct fl_freebrowser_ {
24 /** Use this and you'll be told when something happens.
25 * \param == 0: the browser has merely been hidden.
26 * == 1: a change has been made.
28 void (* callback) (struct fl_freebrowser_ *, int action);
30 /** Set this to 1 if you want to capture all KeyPress events
31 * generating printable chars.
34 /** Is set only if want_printable is true. */
37 /** Details of the implementation. */
45 /** A function to create a freebrowser widget, "owned" by widget \param parent.
47 FL_EXPORT FL_FREEBROWSER * fl_create_freebrowser(void * parent);
49 FL_EXPORT void fl_free_freebrowser(FL_FREEBROWSER *);
51 /** \param abs_x, \param abs_y are the coordinates of the top left corner
52 * of the browser relative to the top left hand corner of the _screen_.
53 * \param w, \param h are the browser dimensions.
55 FL_EXPORT void fl_show_freebrowser(FL_FREEBROWSER *,
56 FL_Coord abs_x, FL_Coord abs_y,
57 FL_Coord w, FL_Coord h);
59 FL_EXPORT void fl_hide_freebrowser(FL_FREEBROWSER *);
61 /** Return the browser itself. */
62 FL_EXPORT FL_OBJECT * fl_get_freebrowser_browser(FL_FREEBROWSER *);
64 #if defined(__cplusplus)