source: trunk/third/gtkhtml/src/htmlclue.h @ 18136

Revision 18136, 3.7 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18135, 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 KDE libraries
3    Copyright (C) 1997 Martin Jones (mjones@kde.org)
4              (C) 1997 Torben Weis (weis@kde.org)
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Library General Public
8    License as published by the Free Software Foundation; either
9    version 2 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Library General Public License for more details.
15
16    You should have received a copy of the GNU Library General Public License
17    along with this library; see the file COPYING.LIB.  If not, write to
18    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19    Boston, MA 02111-1307, USA.
20*/
21#ifndef HTMLCLUE_H
22#define HTMLCLUE_H
23
24#include "htmlobject.h"
25
26#define HTML_CLUE(x) ((HTMLClue *)(x))
27#define HTML_CLUE_CLASS(x) ((HTMLClueClass *)(x))
28
29struct _HTMLClue {
30        HTMLObject object;
31       
32        HTMLObject *head;
33        HTMLObject *tail;
34        HTMLObject *curr;
35       
36        HTMLVAlignType valign;
37        HTMLHAlignType halign;
38};
39
40struct _HTMLClueClass {
41        HTMLObjectClass object_class;
42
43        gint (*get_left_clear) (HTMLClue *clue, gint y);
44        gint (*get_right_clear) (HTMLClue *clue, gint y);
45        void (*find_free_area) (HTMLClue *clue, HTMLPainter *painter,
46                                gint y, gint width, gint height, gint indent, gint *y_pos, gint *lmargin, gint *rmargin);
47        void (*append_right_aligned) (HTMLClue *clue, HTMLPainter *painter,
48                                      HTMLClue *aclue, gint *lmargin, gint *rmargin, gint indent);
49        void (*append_left_aligned) (HTMLClue *clue, HTMLPainter *painter,
50                                     HTMLClue *aclue, gint *lmargin, gint *rmargin, gint indent);
51        gboolean (*appended) (HTMLClue *clue, HTMLClue *aclue);
52};
53
54
55extern HTMLClueClass html_clue_class;
56
57
58void      html_clue_type_init             (void);
59void      html_clue_class_init            (HTMLClueClass *klass,
60                                           HTMLType       type,
61                                           guint          object_size);
62void      html_clue_init                  (HTMLClue      *clue,
63                                           HTMLClueClass *klass);
64gint      html_clue_get_left_clear        (HTMLClue      *clue,
65                                           gint           y);
66gint      html_clue_get_right_clear       (HTMLClue      *clue,
67                                           gint           y);
68void      html_clue_find_free_area        (HTMLClue      *clue,
69                                           HTMLPainter   *painter,
70                                           gint           y,
71                                           gint           width,
72                                           gint           height,
73                                           gint           indent,
74                                           gint          *y_pos,
75                                           gint          *lmargin,
76                                           gint          *rmargin);
77void      html_clue_append_right_aligned  (HTMLClue      *clue,
78                                           HTMLPainter   *painter,
79                                           HTMLClue      *aclue,
80                                           gint          *lmargin,
81                                           gint          *rmargin,
82                                           gint           indent);
83void      html_clue_append_left_aligned   (HTMLClue      *clue,
84                                           HTMLPainter   *painter,
85                                           HTMLClue      *aclue,
86                                           gint          *lmargin,
87                                           gint          *rmargin,
88                                           gint           indent);
89gboolean  html_clue_appended              (HTMLClue      *clue,
90                                           HTMLClue      *aclue);
91void      html_clue_append_after          (HTMLClue      *clue,
92                                           HTMLObject    *o,
93                                           HTMLObject    *where);
94void      html_clue_append                (HTMLClue      *clue,
95                                           HTMLObject    *o);
96void      html_clue_prepend               (HTMLClue      *clue,
97                                           HTMLObject    *o);
98void      html_clue_remove                (HTMLClue      *clue,
99                                           HTMLObject    *o);
100void      html_clue_remove_text_slaves    (HTMLClue      *clue);
101
102#endif /* HTMLCLUE_H */
Note: See TracBrowser for help on using the repository browser.