1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /* This file is part of the GtkHTML library
3  *
4  * Copyright (C) 2000 Helix Code, Inc.
5  * Author:            Radek Doulik <rodo@helixcode.com>
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHcANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public License
18  * along with this library; see the file COPYING.LIB.  If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  * Boston, MA 02110-1301, USA.
21 */
22 
23 #ifndef _GTK_HTML_TYPES_H_
24 #define _GTK_HTML_TYPES_H_
25 
26 #include "gtkhtml-enums.h"
27 #include <gtk/gtk.h>
28 
29 typedef struct _GtkHTML GtkHTML;
30 typedef struct _GtkHTMLClass GtkHTMLClass;
31 typedef struct _GtkHTMLClassProperties GtkHTMLClassProperties;
32 typedef struct _GtkHTMLEditorAPI GtkHTMLEditorAPI;
33 typedef struct _GtkHTMLEmbedded GtkHTMLEmbedded;
34 typedef struct _GtkHTMLEmbeddedClass GtkHTMLEmbeddedClass;
35 typedef struct _GtkHTMLEmbeddedPrivate GtkHTMLEmbeddedPrivate;
36 typedef struct _GtkHTMLPrivate GtkHTMLPrivate;
37 typedef struct _GtkHTMLStream GtkHTMLStream;
38 
39 typedef gchar **(* GtkHTMLStreamTypesFunc) (GtkHTMLStream *stream,
40 					   gpointer user_data);
41 typedef void   (* GtkHTMLStreamCloseFunc) (GtkHTMLStream *stream,
42 					   GtkHTMLStreamStatus status,
43 					   gpointer user_data);
44 typedef void   (* GtkHTMLStreamWriteFunc) (GtkHTMLStream *stream,
45 					   const gchar *buffer,
46 					   gsize size,
47 					   gpointer user_data);
48 
49 /* FIXME 1st param should be Engine */
50 typedef gboolean (* GtkHTMLSaveReceiverFn)   (gpointer     engine,
51 					      const gchar *data,
52 					      gsize       len,
53 					      gpointer     user_data);
54 
55 typedef gint    (*GtkHTMLPrintCalcHeight) (GtkHTML *html,
56 					   GtkPrintOperation *operation,
57                                            GtkPrintContext *context,
58                                            gpointer user_data);
59 typedef void    (*GtkHTMLPrintDrawFunc)   (GtkHTML *html,
60 					   GtkPrintOperation *operation,
61 					   GtkPrintContext *context,
62 					   gint page_nr,
63 					   PangoRectangle *rec,
64 					   gpointer user_data);
65 
66 typedef void (*GtkHTMLPrintCallback) (GtkHTML *html, GtkPrintContext *print_context,
67 				      gdouble x, gdouble y, gdouble width, gdouble height, gpointer user_data);
68 
69 #endif
70