2 * GooCanvas. Copyright (C) 2005 Damon Chaplin.
3 * Released under the GNU LGPL license. See COPYING for details.
5 * goocanvastext.h - text item.
7 #ifndef __GOO_CANVAS_TEXT_H__
8 #define __GOO_CANVAS_TEXT_H__
11 #include "goocanvasitemsimple.h"
16 /* This is the data used by both model and view classes. */
17 typedef struct _GooCanvasTextData GooCanvasTextData
;
18 struct _GooCanvasTextData
23 guint anchor
: 5; /* GtkAnchorType */
24 guint alignment
: 3; /* PangoAlignment */
25 guint ellipsize
: 3; /* PangoEllipsizeMode */
26 guint wrap
: 3; /* PangoWrapMode */
30 #define GOO_TYPE_CANVAS_TEXT (goo_canvas_text_get_type ())
31 #define GOO_CANVAS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_TEXT, GooCanvasText))
32 #define GOO_CANVAS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_TEXT, GooCanvasTextClass))
33 #define GOO_IS_CANVAS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_TEXT))
34 #define GOO_IS_CANVAS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_TEXT))
35 #define GOO_CANVAS_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_TEXT, GooCanvasTextClass))
38 typedef struct _GooCanvasText GooCanvasText
;
39 typedef struct _GooCanvasTextClass GooCanvasTextClass
;
44 * The #GooCanvasText-struct struct contains private data only.
48 GooCanvasItemSimple parent
;
50 GooCanvasTextData
*text_data
;
54 struct _GooCanvasTextClass
56 GooCanvasItemSimpleClass parent_class
;
60 /* Padding for future expansion */
61 void (*_goo_canvas_reserved1
) (void);
62 void (*_goo_canvas_reserved2
) (void);
63 void (*_goo_canvas_reserved3
) (void);
64 void (*_goo_canvas_reserved4
) (void);
68 GType
goo_canvas_text_get_type (void) G_GNUC_CONST
;
70 GooCanvasItem
* goo_canvas_text_new (GooCanvasItem
*parent
,
78 void goo_canvas_text_get_natural_extents (GooCanvasText
*text
,
79 PangoRectangle
*ink_rect
,
80 PangoRectangle
*logical_rect
);
83 #define GOO_TYPE_CANVAS_TEXT_MODEL (goo_canvas_text_model_get_type ())
84 #define GOO_CANVAS_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_CANVAS_TEXT_MODEL, GooCanvasTextModel))
85 #define GOO_CANVAS_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_CANVAS_TEXT_MODEL, GooCanvasTextModelClass))
86 #define GOO_IS_CANVAS_TEXT_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_CANVAS_TEXT_MODEL))
87 #define GOO_IS_CANVAS_TEXT_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_CANVAS_TEXT_MODEL))
88 #define GOO_CANVAS_TEXT_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_CANVAS_TEXT_MODEL, GooCanvasTextModelClass))
91 typedef struct _GooCanvasTextModel GooCanvasTextModel
;
92 typedef struct _GooCanvasTextModelClass GooCanvasTextModelClass
;
97 * The #GooCanvasTextModel-struct struct contains private data only.
99 struct _GooCanvasTextModel
101 GooCanvasItemModelSimple parent_object
;
103 GooCanvasTextData text_data
;
106 struct _GooCanvasTextModelClass
108 GooCanvasItemModelSimpleClass parent_class
;
112 /* Padding for future expansion */
113 void (*_goo_canvas_reserved1
) (void);
114 void (*_goo_canvas_reserved2
) (void);
115 void (*_goo_canvas_reserved3
) (void);
116 void (*_goo_canvas_reserved4
) (void);
120 GType
goo_canvas_text_model_get_type (void) G_GNUC_CONST
;
122 GooCanvasItemModel
* goo_canvas_text_model_new (GooCanvasItemModel
*parent
,
127 GtkAnchorType anchor
,
133 #endif /* __GOO_CANVAS_TEXT_H__ */