source: trunk/third/gtkhtml3/src/htmlobject.h @ 21460

Revision 21460, 24.1 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21459, 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   MERCHcANTABILITY 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 _HTMLOBJECT_H_
25#define _HTMLOBJECT_H_
26
27#include <libart_lgpl/art_rect.h>
28#include <gdk/gdktypes.h>
29#include "htmltypes.h"
30#include "htmlenums.h"
31
32
33#define HTML_OBJECT(x)          ((HTMLObject *) (x))
34#define HTML_OBJECT_CLASS(x)    ((HTMLObjectClass *) (x))
35#define HTML_OBJECT_TYPE(x)     (HTML_OBJECT (x)->klass->type)
36
37struct _HTMLObject {
38        HTMLObjectClass *klass;
39
40        /* Pointer to the parent object.  */
41        HTMLObject *parent;
42
43        HTMLObject *prev;
44        HTMLObject *next;
45
46        HTMLChangeFlags change;
47
48        gint x, y;
49
50        gint ascent, descent;
51
52        gint min_width;
53        gint width;
54        gint pref_width;
55        gint max_width;
56
57        gint percent;
58
59        guchar flags;
60
61        /* FIXME maybe unify with `flags'?  */
62        guint redraw_pending : 1;
63        guint selected : 1;
64
65        /* If an object has a redraw pending and is being destroyed, this flag
66           is set to TRUE instead of g_free()ing the object.  When the draw
67           queue is flushed, the g_free() is performed.  */
68        guint free_pending : 1;
69       
70        /* FIXME add the other dynamic pusedo-classes... */
71        guint draw_focused : 1;
72
73        GData *object_data;
74        GData *object_data_nocp;
75};
76
77struct _HTMLObjectClearRectangle {
78        HTMLObject *object;
79        gint x;
80        gint y;
81        gint width;
82        gint height;
83};
84
85struct _HTMLObjectClass {
86        HTMLType type;
87
88        guint object_size;
89
90        /* Destroy the object.  */
91        void (* destroy) (HTMLObject *o);
92
93        /* Copy an object into another one.  @dest can just point to a
94           memory area of the proper size.  */
95        void (* copy) (HTMLObject *self, HTMLObject *dest);
96
97        /* copy/cut/paste operations */
98        HTMLObject * (* op_copy)         (HTMLObject *self,
99                                          HTMLObject *parent,
100                                          HTMLEngine *e,
101                                          GList      *from,
102                                          GList      *to,
103                                          guint      *len);
104        HTMLObject * (* op_cut)          (HTMLObject *self,
105                                          HTMLEngine *e,
106                                          GList      *from,
107                                          GList      *to,
108                                          GList      *left,
109                                          GList      *right,
110                                          guint      *len);
111        gboolean     (* merge)           (HTMLObject *self,
112                                          HTMLObject *o,
113                                          HTMLEngine *e,
114                                          GList      **left,
115                                          GList      **right,
116                                          HTMLCursor *cursor);
117        void         (* remove_child)    (HTMLObject *self,
118                                          HTMLObject *child);
119        void         (* split)           (HTMLObject *self,
120                                          HTMLEngine *e,
121                                          HTMLObject *child,
122                                          gint offset,
123                                          gint level,
124                                          GList **left,
125                                          GList **right);
126
127        /* Layout management and geometry handling.  */
128
129        HTMLFitType (* fit_line) (HTMLObject *o, HTMLPainter *painter,
130                                  gboolean start_of_line, gboolean first_run, gboolean next_to_floating,
131                                  gint width_left);
132        gboolean (* calc_size) (HTMLObject *o, HTMLPainter *painter, GList **changed_objs);
133        gint (* calc_min_width) (HTMLObject *o, HTMLPainter *painter);
134        gint (* calc_preferred_width) (HTMLObject *o, HTMLPainter *painter);
135        void (* set_max_width) (HTMLObject *o, HTMLPainter *painter, gint max_width);
136        void (* set_max_height) (HTMLObject *o, HTMLPainter *painter, gint max_height);
137
138        /* Relayout object `o' starting from child `child'.  This
139           method can be called by the child when it changes any of
140           its layout properties.  */
141
142        gboolean (* layout) (HTMLObject *o, HTMLObject *child);
143
144        /* This method is used to draw the object.  @x & @y are in
145           object coordinates (e.g. the same coordinate system as o->x
146           and o->y). @tx & @ty are used to translate the object
147           coordinates into painter coordinates.  */
148
149        void (* draw) (HTMLObject *o,
150                       HTMLPainter *painter,
151                       gint x, gint y,
152                       gint width, gint height,
153                       gint tx, gint ty);
154
155        /* "Transparent" objects (i.e. objects that don't draw all the
156           area they occupy, such as text) should return `TRUE' here.  */
157
158        gboolean (* is_transparent) (HTMLObject *self);
159
160        /* Unused ::draw_background method */
161        void (* draw_background) (HTMLObject *o,
162                                  HTMLPainter *painter,
163                                  gint x, gint y,
164                                  gint width, gint height,
165                                  gint tx, gint ty);
166        /* remove it later */
167
168        void       (* set_bg_color) (HTMLObject *o, GdkColor *color);
169        GdkColor * (* get_bg_color) (HTMLObject *o, HTMLPainter *p);
170
171        /* Margins.  This should actually be used only by objects that
172           contain other objects, so it should be in HTMLClue.  But
173           HTMLTable does not derive from HTMLClue and we don't want
174           to spend time reorganizing the hierarchy now.  */
175
176        gint (* get_left_margin) (HTMLObject *self, HTMLPainter *painter, gint y, gboolean with_aligned);
177        gint (* get_right_margin) (HTMLObject *self, HTMLPainter *painter, gint y, gboolean with_aligned);
178
179        void (* set_painter) (HTMLObject *o, HTMLPainter *painter);
180
181        /* Resetting the object.  Do this before using a different
182           HTMLPainter.  */
183
184        void (* reset) (HTMLObject *o);
185
186        const gchar * (* get_url)    (HTMLObject *o, gint offset);
187        const gchar * (* get_target) (HTMLObject *o, gint offset);
188        const gchar * (* get_src)    (HTMLObject *o);
189
190        HTMLAnchor * (* find_anchor) (HTMLObject *o, const gchar *name, gint *x, gint *y);
191
192        HTMLObject * (* check_point) (HTMLObject *self, HTMLPainter *painter,
193                                      gint x, gint y, guint *offset_return,
194                                      gboolean for_cursor);
195
196        /* Relayout this object.  The object will relayout all the children
197           starting from `child'.  Children before `child' are not affected.
198           The return value is FALSE if nothing has changed during relayout,
199           TRUE otherwise.  */
200        gboolean (* relayout) (HTMLObject *self, HTMLEngine *engine, HTMLObject *child);
201
202        /* Return the vertical alignment for the object in an HTMLClueFlow.  If
203           the returned value is `HTML_VALIGN_BOTTOM', the bottom of the object
204           is aligned to the base line; if the value is `HTML_VALIGN_TOP', the
205           top of the object is aligned to the top of the line; if the value is
206           `HTML_VALIGN_MIDDLE', the center of the object is aligned to the
207           baseline.  */
208        HTMLVAlignType (* get_valign) (HTMLObject *self);
209
210        /* Cursor handling.  */
211
212        gboolean (* accepts_cursor) (HTMLObject *self);
213        void (* get_cursor) (HTMLObject *self, HTMLPainter *painter, guint offset,
214                             gint *x1, gint *y1, gint *x2, gint *y2);
215        void (* get_cursor_base) (HTMLObject *self, HTMLPainter *painter, guint offset,
216                                  gint *x, gint *y);
217
218        /* Container operations.  */
219        HTMLEngine * (* get_engine) (HTMLObject *o, HTMLEngine *e);
220        void (* forall) (HTMLObject *self, HTMLEngine *e, HTMLObjectForallFunc func, gpointer data);
221        gboolean (* is_container) (HTMLObject *self);
222
223        /* Saving.  */
224
225        gboolean (* save) (HTMLObject *self, HTMLEngineSaveState *state);
226        gboolean (* save_plain) (HTMLObject *self, HTMLEngineSaveState *state, gint requested_width);
227
228        /* Page splitting (for printing).  */
229
230        gint (* check_page_split) (HTMLObject *self, HTMLPainter *p, gint y);
231
232        /* Selection.  */
233        gboolean (* select_range) (HTMLObject *self, HTMLEngine *engine, guint start, gint length,
234                                   gboolean queue_draw);
235        void (* append_selection_string) (HTMLObject *self, GString *buffer);
236
237        /* Search & Replace */
238        gboolean     (* search)          (HTMLObject *self, HTMLSearch *info);
239        gboolean     (* search_next)     (HTMLObject *self, HTMLSearch *info);
240
241        /* links */
242        HTMLObject * (* set_link)        (HTMLObject *self, HTMLColor *color, const gchar *url, const gchar *target);
243
244        /* length */
245        guint        (* get_length)                (HTMLObject *self);
246        guint        (* get_line_length)           (HTMLObject *self, HTMLPainter *p, gint line_offset);
247        guint        (* get_recursive_length)      (HTMLObject *self);
248
249        /* movement */
250        HTMLObject * (* next)            (HTMLObject *self, HTMLObject *child);
251        HTMLObject * (* prev)            (HTMLObject *self, HTMLObject *child);
252        HTMLObject * (* head)            (HTMLObject *self);
253        HTMLObject * (* tail)            (HTMLObject *self);
254
255        HTMLClearType (* get_clear)      (HTMLObject *self);
256
257        gint (* get_n_children)          (HTMLObject *self);
258        HTMLObject * (* get_child)       (HTMLObject *self, gint index);
259        gint (* get_child_index)         (HTMLObject *self, HTMLObject *child);
260};
261
262
263extern HTMLObjectClass html_object_class;
264
265
266/* Basics.  */
267void            html_object_type_init             (void);
268void            html_object_init                  (HTMLObject            *self,
269                                                   HTMLObjectClass       *klass);
270void            html_object_class_init            (HTMLObjectClass       *klass,
271                                                   HTMLType               type,
272                                                   guint                  object_size);
273HTMLObject     *html_object_new                   (HTMLObject            *parent);
274void            html_object_destroy               (HTMLObject            *self);
275void            html_object_copy                  (HTMLObject            *self,
276                                                   HTMLObject            *dest);
277HTMLObject     *html_object_dup                   (HTMLObject            *self);
278
279/* copy/cut/paste operations */
280HTMLObject     *html_object_op_copy               (HTMLObject            *self,
281                                                   HTMLObject            *parent,
282                                                   HTMLEngine            *e,
283                                                   GList                 *from,
284                                                   GList                 *to,
285                                                   guint                 *len);
286HTMLObject     *html_object_op_cut                (HTMLObject            *self,
287                                                   HTMLEngine            *e,
288                                                   GList                 *from,
289                                                   GList                 *to,
290                                                   GList                 *left,
291                                                   GList                 *right,
292                                                   guint                 *len);
293gboolean        html_object_merge                 (HTMLObject            *self,
294                                                   HTMLObject            *with,
295                                                   HTMLEngine            *e,
296                                                   GList                 **left,
297                                                   GList                 **right,
298                                                   HTMLCursor            *cursor);
299void            html_object_remove_child          (HTMLObject            *self,
300                                                   HTMLObject            *child);
301void            html_object_split                 (HTMLObject            *self,
302                                                   HTMLEngine            *e,
303                                                   HTMLObject            *child,
304                                                   gint                   offset,
305                                                   gint                   level,
306                                                   GList                **left,
307                                                   GList                **right);
308void            html_object_set_parent            (HTMLObject            *self,
309                                                   HTMLObject            *parent);
310gint            html_object_get_left_margin       (HTMLObject            *self,
311                                                   HTMLPainter           *painter,
312                                                   gint                   y,
313                                                   gboolean               with_aligned);
314gint            html_object_get_right_margin      (HTMLObject            *self,
315                                                   HTMLPainter           *painter,
316                                                   gint                   y,
317                                                   gboolean               with_aligned);
318void            html_object_set_painter           (HTMLObject            *o,
319                                                   HTMLPainter           *p);
320void            html_object_reset                 (HTMLObject            *o);
321gboolean        html_object_is_text               (HTMLObject            *object);
322gboolean        html_object_is_clue               (HTMLObject            *object);
323HTMLEngine     *html_object_get_engine            (HTMLObject            *self,
324                                                   HTMLEngine            *e);
325HTMLEngine     *html_object_engine                (HTMLObject            *o,
326                                                   HTMLEngine            *e);
327void            html_object_forall                (HTMLObject            *self,
328                                                   HTMLEngine            *e,
329                                                   HTMLObjectForallFunc   func,
330                                                   gpointer               data);
331gboolean        html_object_is_container          (HTMLObject            *self);
332HTMLObject     *html_object_next_not_type         (HTMLObject            *self,
333                                                   HTMLType               t);
334HTMLObject     *html_object_prev_not_type         (HTMLObject            *self,
335                                                   HTMLType               t);
336HTMLObject     *html_object_next_not_slave        (HTMLObject            *self);
337HTMLObject     *html_object_prev_not_slave        (HTMLObject            *self);
338HTMLObject     *html_object_next_by_type          (HTMLObject            *self,
339                                                   HTMLType               t);
340HTMLObject     *html_object_prev_by_type          (HTMLObject            *self,
341                                                   HTMLType               t);
342HTMLObject     *html_object_nth_parent            (HTMLObject            *self,
343                                                   gint                   n);
344gint            html_object_get_parent_level      (HTMLObject            *self);
345/* do search request on object using info */
346gboolean        html_object_search                (HTMLObject            *self,
347                                                   HTMLSearch            *info);
348gboolean        html_object_search_next           (HTMLObject            *self,
349                                                   HTMLSearch            *info);
350
351/* Drawing-related stuff.  */
352void            html_object_draw                  (HTMLObject            *o,
353                                                   HTMLPainter           *p,
354                                                   gint                   x,
355                                                   gint                   y,
356                                                   gint                   width,
357                                                   gint                   height,
358                                                   gint                   tx,
359                                                   gint                   ty);
360void            html_object_set_bg_color          (HTMLObject            *o,
361                                                   GdkColor              *color);
362GdkColor       *html_object_get_bg_color          (HTMLObject            *o,
363                                                   HTMLPainter           *p);
364gboolean        html_object_is_transparent        (HTMLObject            *self);
365
366/* Layout.  */
367HTMLFitType     html_object_fit_line              (HTMLObject            *o,
368                                                   HTMLPainter           *painter,
369                                                   gboolean               start_of_line,
370                                                   gboolean               first_run,
371                                                   gboolean               next_to_floating,
372                                                   gint                   width_left);
373gboolean        html_object_calc_size             (HTMLObject            *o,
374                                                   HTMLPainter           *painter,
375                                                   GList                **changed_objs);
376void            html_object_set_max_width         (HTMLObject            *o,
377                                                   HTMLPainter           *painter,
378                                                   gint                   max_width);
379void            html_object_set_max_height        (HTMLObject            *o,
380                                                   HTMLPainter           *painter,
381                                                   gint                   max_height);
382gint            html_object_calc_min_width        (HTMLObject            *o,
383                                                   HTMLPainter           *painter);
384gint            html_object_calc_preferred_width  (HTMLObject            *o,
385                                                   HTMLPainter           *painter);
386void            html_object_calc_abs_position     (HTMLObject            *o,
387                                                   gint                  *x_return,
388                                                   gint                  *y_return);
389gboolean        html_object_intersect             (HTMLObject            *o,
390                                                   GdkRectangle          *intersection,
391                                                   gint                   x,
392                                                   gint                   y,
393                                                   gint                   width,
394                                                   gint                   height);
395gboolean        html_object_relayout              (HTMLObject            *obj,
396                                                   HTMLEngine            *engine,
397                                                   HTMLObject            *child);
398HTMLVAlignType  html_object_get_valign            (HTMLObject            *self);
399
400/* Links.  */
401const gchar    *html_object_get_url               (HTMLObject            *o,
402                                                   gint                   offset);
403const gchar    *html_object_get_target            (HTMLObject            *o,
404                                                   gint                   offset);
405gchar          *html_object_get_complete_url      (HTMLObject            *o,
406                                                   gint                   offset);
407const gchar    *html_object_get_src               (HTMLObject            *o);
408HTMLAnchor     *html_object_find_anchor           (HTMLObject            *o,
409                                                   const gchar           *name,
410                                                   gint                  *x,
411                                                   gint                  *y);
412HTMLObject     *html_object_set_link              (HTMLObject            *self,
413                                                   HTMLColor             *color,
414                                                   const gchar           *url,
415                                                   const gchar           *target);
416HTMLObject     *html_object_remove_link           (HTMLObject            *self,
417                                                   HTMLColor             *color);
418
419/* Cursor.  */
420gboolean        html_object_accepts_cursor        (HTMLObject            *obj);
421void            html_object_get_cursor            (HTMLObject            *obj,
422                                                   HTMLPainter           *painter,
423                                                   guint                  offset,
424                                                   gint                  *x1,
425                                                   gint                  *y1,
426                                                   gint                  *x2,
427                                                   gint                  *y2);
428void            html_object_get_cursor_base       (HTMLObject            *obj,
429                                                   HTMLPainter           *painter,
430                                                   guint                  offset,
431                                                   gint                  *x,
432                                                   gint                  *y);
433guint           html_object_get_length            (HTMLObject            *self);
434guint           html_object_get_line_length       (HTMLObject            *self,
435                                                   HTMLPainter           *p,
436                                                   gint                   line_offset);
437guint           html_object_get_recursive_length  (HTMLObject            *self);
438guint           html_object_get_bytes             (HTMLObject            *self);
439guint           html_object_get_index             (HTMLObject            *self,
440                                                   guint                  offset);
441HTMLObject     *html_object_check_point           (HTMLObject            *clue,
442                                                   HTMLPainter           *painter,
443                                                   gint                   x,
444                                                   gint                   y,
445                                                   guint                 *offset_return,
446                                                   gboolean               for_cursor);
447
448/* Movement functions */
449/* move cursor in scope of object */
450gboolean        html_object_cursor_forward        (HTMLObject            *self,
451                                                   HTMLCursor            *cursor);
452gboolean        html_object_cursor_backward       (HTMLObject            *self,
453                                                   HTMLCursor            *cursor);
454
455/* get prev/next object in scope of parent */
456HTMLObject     *html_object_next                  (HTMLObject            *self,
457                                                   HTMLObject            *child);
458HTMLObject     *html_object_prev                  (HTMLObject            *self,
459                                                   HTMLObject            *child);
460/* get head/tail object of this (parent) object */
461HTMLObject     *html_object_head                  (HTMLObject            *self);
462HTMLObject     *html_object_tail                  (HTMLObject            *self);
463HTMLObject     *html_object_tail_not_slave        (HTMLObject            *self);
464
465/* get prev/next leaf object in scope of whole tree */
466HTMLObject     *html_object_next_leaf             (HTMLObject            *self);
467HTMLObject     *html_object_prev_leaf             (HTMLObject            *self);
468HTMLObject     *html_object_next_leaf_not_type    (HTMLObject            *self,
469                                                   HTMLType               t);
470HTMLObject     *html_object_prev_leaf_not_type    (HTMLObject            *self,
471                                                   HTMLType               t);
472HTMLObject     *html_object_get_head_leaf         (HTMLObject            *o);
473HTMLObject     *html_object_get_tail_leaf         (HTMLObject            *o);
474HTMLObject     *html_object_next_cursor           (HTMLObject            *self,
475                                                   gint                  *offset);
476HTMLObject     *html_object_prev_cursor           (HTMLObject            *self,
477                                                   gint                  *offset);
478GdkRectangle   *html_object_get_bounds            (HTMLObject            *o,
479                                                   GdkRectangle          *bounds);
480
481/* Page splitting.  */
482gint  html_object_check_page_split  (HTMLObject  *self,
483                                     HTMLPainter *p,
484                                     gint         y);
485
486/* Selection.  */
487gboolean    html_object_select_range             (HTMLObject *self,
488                                                  HTMLEngine *engine,
489                                                  guint       start,
490                                                  gint        length,
491                                                  gboolean    queue_draw);
492void        html_object_append_selection_string  (HTMLObject *self,
493                                                  GString    *buffer);
494gchar      *html_object_get_selection_string     (HTMLObject *o,
495                                                  HTMLEngine *e);
496
497/* Saving.  */
498gboolean  html_object_save  (HTMLObject          *self,
499                             HTMLEngineSaveState *state);
500
501gboolean  html_object_save_plain  (HTMLObject          *self,
502                                   HTMLEngineSaveState *state,
503                                   gint requested_width);
504
505/* set change flag f of this object and of all its parents */
506void  html_object_change_set  (HTMLObject      *self,
507                               HTMLChangeFlags  f);
508
509/* set change flag f for this object and all childern */
510void  html_object_change_set_down  (HTMLObject      *self,
511                                    HTMLChangeFlags  f);
512
513/* object data */
514
515void      html_object_set_data               (HTMLObject          *object,
516                                              const gchar         *key,
517                                              const gchar         *value);
518void      html_object_set_data_full          (HTMLObject          *object,
519                                              const gchar         *key,
520                                              const gpointer       value,
521                                              GDestroyNotify       func);
522gpointer  html_object_get_data               (HTMLObject          *object,
523                                              const gchar         *key);
524void      html_object_copy_data_from_object  (HTMLObject          *dst,
525                                              HTMLObject          *src);
526gboolean  html_object_save_data              (HTMLObject          *self,
527                                              HTMLEngineSaveState *state);
528
529/* for acc object */
530void      html_object_set_data_nocp          (HTMLObject          *object,
531                                              const gchar         *key,
532                                              const gchar         *value);
533void      html_object_set_data_full_nocp     (HTMLObject          *object,
534                                              const gchar         *key,
535                                              const gpointer       value,
536                                              GDestroyNotify       func);
537gpointer  html_object_get_data_nocp          (HTMLObject          *object,
538                                              const gchar         *key);
539
540/*
541 * editing
542*/
543GList    *html_object_get_bound_list             (HTMLObject *obj,
544                                                  GList      *list);
545void      html_object_move_cursor_before_remove  (HTMLObject *o,
546                                                  HTMLEngine *e);
547gboolean  html_object_could_remove_whole         (HTMLObject *o,
548                                                  GList      *from,
549                                                  GList      *to,
550                                                  GList      *left,
551                                                  GList      *right);
552void      html_object_check_cut_lists            (HTMLObject *self,
553                                                  HTMLObject *replacement,
554                                                  GList      *left,
555                                                  GList      *right);
556GList    *html_object_heads_list                 (HTMLObject *o);
557GList    *html_object_tails_list                 (HTMLObject *o);
558void      html_object_merge_down                 (HTMLObject *o,
559                                                  HTMLObject *w,
560                                                  HTMLEngine *e);
561gboolean  html_object_is_parent                  (HTMLObject *parent,
562                                                  HTMLObject *child);
563gint      html_object_get_insert_level           (HTMLObject *o);
564
565void      html_object_engine_translation   (HTMLObject *o,
566                                            HTMLEngine *e,
567                                            gint       *tx,
568                                            gint       *ty);
569gboolean  html_object_engine_intersection  (HTMLObject *o,
570                                            HTMLEngine *e,
571                                            gint        tx,
572                                            gint        ty,
573                                            gint       *x1,
574                                            gint       *y1,
575                                            gint       *x2,
576                                            gint       *y2);
577
578void  html_object_add_to_changed  (GList      **changed_objs,
579                                   HTMLObject  *o);
580
581gint html_object_get_n_children (HTMLObject *self);
582HTMLObject * html_object_get_child (HTMLObject *self, gint index);
583gint html_object_get_child_index (HTMLObject *self, HTMLObject *child);
584
585HTMLClearType html_object_get_clear (HTMLObject *self);
586
587HTMLObject *html_object_next_cursor_object  (HTMLObject *o,
588                                             HTMLEngine *e,
589                                             gint       *offset);
590HTMLObject *html_object_prev_cursor_object  (HTMLObject *o,
591                                             HTMLEngine *e,
592                                             gint       *offset);
593HTMLObject *html_object_next_cursor_leaf    (HTMLObject *o,
594                                             HTMLEngine *e);
595HTMLObject *html_object_prev_cursor_leaf    (HTMLObject *o,
596                                             HTMLEngine *e);
597
598HTMLClueFlow * html_object_get_flow (HTMLObject *o);
599
600#endif /* _HTMLOBJECT_H_ */
Note: See TracBrowser for help on using the repository browser.