source: trunk/third/gtkhtml3/src/htmlclueflow.h @ 21116

Revision 21116, 6.2 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21115, which included commits to RCS files with non-trunk default branches.
Line 
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) 1997 Martin Jones (mjones@kde.org)
5   Copyright (C) 1997 Torben Weis (weis@kde.org)
6   Copyright (C) 1999, 2000 Helix Code, Inc.
7
8   This library is free software; you can redistribute it and/or
9   modify it under the terms of the GNU Library General Public
10   License as published by the Free Software Foundation; either
11   version 2 of the License, or (at your option) any later version.
12   
13   This library is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16   Library General Public License for more details.
17   
18   You should have received a copy of the GNU Library General Public License
19   along with this library; see the file COPYING.LIB.  If not, write to
20   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21   Boston, MA 02111-1307, USA.
22*/
23
24#ifndef _HTMLCLUEFLOW_H_
25#define _HTMLCLUEFLOW_H_
26
27#include "htmltypes.h"
28#include "htmlclue.h"
29
30#define HTML_CLUEFLOW(x) ((HTMLClueFlow *)(x))
31#define HTML_CLUEFLOW_CLASS(x) ((HTMLClueFlowClass *)(x))
32#define HTML_IS_CLUEFLOW(x) (HTML_CHECK_TYPE ((x), HTML_TYPE_CLUEFLOW))
33
34struct _HTMLClueFlow {
35        HTMLClue clue;
36
37        HTMLClearType clear;
38
39        /* Paragraph style.  */
40        HTMLClueFlowStyle style;
41
42        /* Indentation level for blockquote and lists.  */
43        GByteArray *levels;
44        gint indent_width;
45
46        /* list item attributes - this will be ideally moved to list item type
47           based on HTMLClueFlow once we have real types */
48        HTMLListType item_type;
49        gint         item_number;
50        HTMLColor   *item_color;
51};
52
53struct _HTMLClueFlowClass {
54        HTMLClueClass clue_class;
55
56        GtkHTMLFontStyle (* get_default_font_style) (const HTMLClueFlow *self);
57};
58
59
60extern HTMLClueFlowClass html_clueflow_class;
61
62
63void               html_clueflow_type_init                    (void);
64void               html_clueflow_class_init                   (HTMLClueFlowClass  *klass,
65                                                               HTMLType            type,
66                                                               guint               object_size);
67void               html_clueflow_init                         (HTMLClueFlow       *flow,
68                                                               HTMLClueFlowClass  *klass,
69                                                               HTMLClueFlowStyle   style,
70                                                               GByteArray         *levels,
71                                                               HTMLListType        item_type,
72                                                               gint                item_number,
73                                                               HTMLClearType       clear);
74HTMLObject        *html_clueflow_new                          (HTMLClueFlowStyle   style,
75                                                               GByteArray         *levels,
76                                                               HTMLListType        item_type,
77                                                               gint                item_number,
78                                                               HTMLClearType       clear);
79HTMLObject        *html_clueflow_new_from_flow                (HTMLClueFlow       *flow);
80GtkHTMLFontStyle   html_clueflow_get_default_font_style       (const HTMLClueFlow *self);
81HTMLClueFlow      *html_clueflow_split                        (HTMLClueFlow       *clue,
82                                                               HTMLObject         *child);
83void               html_clueflow_set_style                    (HTMLClueFlow       *flow,
84                                                               HTMLEngine         *engine,
85                                                               HTMLClueFlowStyle   style);
86HTMLClueFlowStyle  html_clueflow_get_style                    (HTMLClueFlow       *flow);
87void               html_clueflow_set_item_type                (HTMLClueFlow       *flow,
88                                                               HTMLEngine         *engine,
89                                                               HTMLListType        item_type);
90HTMLListType       html_clueflow_get_item_type                (HTMLClueFlow       *flow);
91void               html_clueflow_set_halignment               (HTMLClueFlow       *flow,
92                                                               HTMLEngine         *engine,
93                                                               HTMLHAlignType      alignment);
94HTMLHAlignType     html_clueflow_get_halignment               (HTMLClueFlow       *flow);
95void               html_clueflow_modify_indentation_by_delta  (HTMLClueFlow       *flow,
96                                                               HTMLEngine         *engine,
97                                                               gint                indentation,
98                                                               guint8             *indentation_levels);
99void               html_clueflow_set_indentation              (HTMLClueFlow       *flow,
100                                                               HTMLEngine         *engine,
101                                                               gint               indentation,
102                                                               guint8             *indentation_levels);
103guint8             html_clueflow_get_indentation              (HTMLClueFlow       *flow);
104GByteArray *       html_clueflow_dup_levels                   (HTMLClueFlow       *flow);
105void               html_clueflow_set_levels                   (HTMLClueFlow       *flow,
106                                                               HTMLEngine         *engine,
107                                                               GByteArray         *levels);
108#if 0
109void               html_clueflow_set_properties               (HTMLClueFlow       *flow,
110                                                               HTMLEngine         *engine,
111                                                               HTMLClueFlowStyle   style,
112                                                               guint8              indentation,
113                                                               HTMLHAlignType      alignment);
114void               html_clueflow_get_properties               (HTMLClueFlow       *flow,
115                                                               HTMLClueFlowStyle  *style_return,
116                                                               guint8             *indentation_return,
117                                                               HTMLHAlignType     *alignment_return);
118#endif
119void               html_clueflow_spell_check                  (HTMLClueFlow       *flow,
120                                                               HTMLEngine         *e,
121                                                               HTMLInterval       *i);
122gboolean           html_clueflow_is_empty                     (HTMLClueFlow       *flow);
123gboolean           html_clueflow_contains_table               (HTMLClueFlow       *flow);
124gint               html_clueflow_get_line_offset              (HTMLClueFlow       *flow,
125                                                               HTMLPainter        *painter,
126                                                               HTMLObject         *child);
127gboolean           html_clueflow_tabs                         (HTMLClueFlow       *flow,
128                                                               HTMLPainter        *p);
129gboolean           html_clueflow_style_equals                 (HTMLClueFlow       *cf1,
130                                                               HTMLClueFlow       *cf2);
131
132void               html_clueflow_set_item_color               (HTMLClueFlow       *flow,
133                                                               HTMLColor          *color);
134
135#define SPELL_CHECK(f, e) if (f && HTML_OBJECT_TYPE (f) == HTML_TYPE_CLUEFLOW) \
136                                   html_clueflow_spell_check (HTML_CLUEFLOW (f), e, NULL)
137
138#endif /* _HTMLCLUEFLOW_H_ */
Note: See TracBrowser for help on using the repository browser.