Add to git.
[monolith.git] / src / ml_iframe.h
1 /* Monolith iframe class.
2  * - by Richard W.M. Jones <rich@annexia.org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the Free
16  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  *
18  * $Id: ml_iframe.h,v 1.1 2002/11/08 23:19:14 rich Exp $
19  */
20
21 #ifndef ML_IFRAME_H
22 #define ML_IFRAME_H
23
24 #include "monolith.h"
25 #include "ml_widget.h"
26
27 struct ml_iframe;
28 typedef struct ml_iframe *ml_iframe;
29
30 /* Function: new_ml_iframe - monolith iframe widget
31  *
32  * An iframe ("inline frame") is a scrollable, independent window
33  * embedded within the application. Note that not all browsers support
34  * iframes.
35  *
36  * @code{new_ml_iframe} creates a new iframe widget. The @code{fn}
37  * argument is a function which is called back when the window inside
38  * the iframe is drawn. This function must create a window (see
39  * @ref{new_ml_window(3)}). The function is called with two
40  * parameters, @code{session} and an opaque @code{data} pointer.
41  * Since not all browsers support frames, you may specify a
42  * widget which is displayed to these users by specifying the
43  * @code{non_frame_widget} parameter. If @code{non_frame_widget} is
44  * set to @code{NULL} then some generic text is displayed instead.
45  *
46  * The following properties can be changed on buttons (see
47  * @ref{ml_widget_set_property(3)}):
48  *
49  * @code{class}: The stylesheet class.
50  *
51  * @code{scrolling}: Can be set to @code{"yes"}, @code{"no"} or
52  * @code{"auto"} (the default) to control how scrollbars are
53  * displayed around the iframe.
54  *
55  * @code{width}, @code{height}: Control the width and height of the
56  * @code{iframe} in pixels.
57  */
58 extern ml_iframe new_ml_iframe (pool pool, void (*fn) (ml_session, void *), ml_session session, void *data, ml_widget non_frame_widget);
59
60 #endif /* ML_IFRAME_H */