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 _HTML_TYPES_H_
24 #define _HTML_TYPES_H_
25 
26 #include <glib.h>
27 
28 #include "gtkhtml-enums.h"
29 #include "gtkhtml-types.h"
30 
31 #include "htmlenums.h"
32 
33 #define HTML_CHECK_TYPE(object, otype) ((object) \
34                                         && (HTML_OBJECT (object))->klass \
35                                         && (HTML_OBJECT (object))->klass->type == otype)
36 
37 typedef struct _HTMLAnchor HTMLAnchor;
38 typedef struct _HTMLAnchorClass HTMLAnchorClass;
39 typedef struct _HTMLButton HTMLButton;
40 typedef struct _HTMLButtonClass HTMLButtonClass;
41 typedef struct _HTMLCheckBox HTMLCheckBox;
42 typedef struct _HTMLCheckBoxClass HTMLCheckBoxClass;
43 typedef struct _HTMLClue HTMLClue;
44 typedef struct _HTMLClueAligned HTMLClueAligned;
45 typedef struct _HTMLClueAlignedClass HTMLClueAlignedClass;
46 typedef struct _HTMLClueClass HTMLClueClass;
47 typedef struct _HTMLClueFlow HTMLClueFlow;
48 typedef struct _HTMLClueFlowClass HTMLClueFlowClass;
49 typedef struct _HTMLClueH HTMLClueH;
50 typedef struct _HTMLClueHClass HTMLClueHClass;
51 typedef struct _HTMLClueV HTMLClueV;
52 typedef struct _HTMLClueVClass HTMLClueVClass;
53 typedef struct _HTMLColor HTMLColor;
54 typedef struct _HTMLColorSet HTMLColorSet;
55 typedef struct _HTMLCursor HTMLCursor;
56 typedef struct _HTMLCursorRectagle HTMLCursorRectangle;
57 typedef struct _HTMLDrawQueue HTMLDrawQueue;
58 typedef struct _HTMLDrawQueueClearElement HTMLDrawQueueClearElement;
59 typedef struct _HTMLEmbedded HTMLEmbedded;
60 typedef struct _HTMLEmbeddedClass HTMLEmbeddedClass;
61 typedef struct _HTMLEngine HTMLEngine;
62 typedef struct _HTMLEngineClass HTMLEngineClass;
63 typedef struct _HTMLEngineEditSelectionUpdater HTMLEngineEditSelectionUpdater;
64 typedef struct _HTMLEngineSaveState HTMLEngineSaveState;
65 typedef gchar HTMLFontFace;
66 typedef struct _HTMLFont HTMLFont;
67 typedef struct _HTMLFontManager HTMLFontManager;
68 typedef struct _HTMLFontSet HTMLFontSet;
69 typedef struct _HTMLForm HTMLForm;
70 typedef struct _HTMLFrame HTMLFrame;
71 typedef struct _HTMLFrameClass HTMLFrameClass;
72 typedef struct _HTMLFrameset HTMLFrameset;
73 typedef struct _HTMLFramesetClass HTMLFramesetClass;
74 typedef struct _HTMLGdkPainter HTMLGdkPainter;
75 typedef struct _HTMLGdkPainterClass HTMLGdkPainterClass;
76 typedef struct _HTMLHidden HTMLHidden;
77 typedef struct _HTMLHiddenClass HTMLHiddenClass;
78 typedef struct _HTMLHSpace HTMLHSpace;
79 typedef struct _HTMLHSpaceClass HTMLHSpaceClass;
80 typedef struct _HTMLIFrame HTMLIFrame;
81 typedef struct _HTMLIFrameClass HTMLIFrameClass;
82 typedef struct _HTMLImage HTMLImage;
83 typedef struct _HTMLImageAnimation HTMLImageAnimation;
84 typedef struct _HTMLImageClass HTMLImageClass;
85 typedef struct _HTMLImageFactory HTMLImageFactory;
86 typedef struct _HTMLImageInput HTMLImageInput;
87 typedef struct _HTMLImageInputClass HTMLImageInputClass;
88 typedef struct _HTMLImagePointer HTMLImagePointer;
89 typedef struct _HTMLInterval HTMLInterval;
90 typedef struct _HTMLLength HTMLLength;
91 typedef struct _HTMLList HTMLList;
92 typedef struct _HTMLMap HTMLMap;
93 typedef struct _HTMLMapClass HTMLMapClass;
94 typedef struct _HTMLObject HTMLObject;
95 typedef struct _HTMLObjectClass HTMLObjectClass;
96 typedef struct _HTMLObjectClearRectangle HTMLObjectClearRectangle;
97 typedef struct _HTMLPainter HTMLPainter;
98 typedef struct _HTMLPainterClass HTMLPainterClass;
99 typedef struct _HTMLPangoAttrFontSize HTMLPangoAttrFontSize;
100 typedef struct _HTMLPangoProperties HTMLPangoProperties;
101 typedef struct _HTMLPoint HTMLPoint;
102 typedef struct _HTMLPrinter HTMLPrinter;
103 typedef struct _HTMLPrinterClass HTMLPrinterClass;
104 typedef struct _HTMLRadio HTMLRadio;
105 typedef struct _HTMLRadioClass HTMLRadioClass;
106 typedef struct _HTMLReplace HTMLReplace;
107 typedef struct _HTMLRule HTMLRule;
108 typedef struct _HTMLRuleClass HTMLRuleClass;
109 typedef struct _HTMLSelect HTMLSelect;
110 typedef struct _HTMLSelectClass HTMLSelectClass;
111 typedef struct _HTMLSearch HTMLSearch;
112 typedef struct _HTMLSettings HTMLSettings;
113 typedef struct _HTMLStack HTMLStack;
114 typedef struct _HTMLStringTokenizer HTMLStringTokenizer;
115 typedef struct _HTMLStyle HTMLStyle;
116 typedef struct _HTMLTable HTMLTable;
117 typedef struct _HTMLTableCell HTMLTableCell;
118 typedef struct _HTMLTableCellClass HTMLTableCellClass;
119 typedef struct _HTMLTableClass HTMLTableClass;
120 typedef struct _HTMLText HTMLText;
121 typedef struct _HTMLTextPangoInfoEntry HTMLTextPangoInfoEntry;
122 typedef struct _HTMLTextPangoInfo HTMLTextPangoInfo;
123 typedef struct _HTMLTextArea HTMLTextArea;
124 typedef struct _HTMLTextAreaClass HTMLTextAreaClass;
125 typedef struct _HTMLTextClass HTMLTextClass;
126 typedef struct _HTMLTextInput HTMLTextInput;
127 typedef struct _HTMLTextInputClass HTMLTextInputClass;
128 typedef struct _HTMLTextSlave HTMLTextSlave;
129 typedef struct _HTMLTextSlaveClass HTMLTextSlaveClass;
130 typedef struct _HTMLTextSlaveGlyphItem HTMLTextSlaveGlyphItem;
131 typedef struct _HTMLTokenizer HTMLTokenizer;
132 typedef struct _HTMLTokenizerClass HTMLTokenizerClass;
133 typedef struct _HTMLUndo HTMLUndo;
134 typedef struct _HTMLUndoData HTMLUndoData;
135 typedef struct _HTMLUndoAction HTMLUndoAction;
136 typedef struct _SpellError SpellError;
137 typedef struct _Link Link;
138 
139 typedef void     (* HTMLObjectForallFunc)       (HTMLObject        *self,
140 						 HTMLEngine        *e,
141 						 gpointer          data);
142 typedef gpointer (* HTMLFontManagerAllocFont)   (gchar            *face_name,
143 						 gdouble           size,
144 						 GtkHTMLFontStyle  style);
145 typedef void     (* HTMLFontManagerRefFont)     (gpointer          font);
146 typedef void     (* HTMLFontManagerUnrefFont)   (gpointer          font);
147 typedef void     (* HTMLStackFreeFunc)          (gpointer          data);
148 typedef void     (* HTMLUndoFunc)               (HTMLEngine        *engine,
149 						 HTMLUndoData      *data,
150 						 HTMLUndoDirection  dir,
151 						 guint              position_after);
152 typedef void     (* HTMLUndoDataDestroyFunc)    (HTMLUndoData      *data);
153 
154 /* FIXME */
155 typedef GtkHTMLSaveReceiverFn HTMLEngineSaveReceiverFn;
156 
157 #endif
158