3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Angus Leeming
8 * Full author contact details are available in file CREDITS
10 * A freebrowser is a browser widget in its own form.
11 * It is used for example to instantiate the drop-down list beneath a
15 #ifndef FL_FREEBROWSER_H
16 #define FL_FREEBROWSER_H
18 #if defined(__cplusplus)
26 } FL_FREEBROWSER_POSITION;
28 typedef struct fl_freebrowser_ {
29 /** Use this and you'll be told when something happens.
30 * \param == 0: the browser has merely been hidden.
31 * == 1: a change has been made.
33 void (* callback) (struct fl_freebrowser_ *, int action);
35 /** Set this to 1 if you want to capture all KeyPress events
36 * generating printable chars.
39 /** Is set only if want_printable is true. */
42 /** The "owner" of the freebrowser. Not used by the struct. */
44 /** The browser itself. */
47 /** Details of the implementation. */
53 /** A function to create a freebrowser widget, "owned" by \param parent. */
54 FL_EXPORT FL_FREEBROWSER *
55 fl_create_freebrowser(void * parent);
57 /** Free all memory allocated to \param ptr and to its components. */
59 fl_free_freebrowser(FL_FREEBROWSER * ptr);
61 /** \param abs_x, \param abs_y are the coordinates of the top left corner
62 * of the browser relative to the top left hand corner of the _screen_.
63 * \param w, \param h are the browser dimensions.
66 fl_show_freebrowser(FL_FREEBROWSER *,
67 FL_Coord abs_x, FL_Coord abs_y, FL_Coord w, FL_Coord h);
70 fl_hide_freebrowser(FL_FREEBROWSER *);
72 #if defined(__cplusplus)
76 #endif /* not FL_FREEBROWSER_H */