[CPML] s/cpml_(.*?)_length/cpml_\1_get_length/
[adg.git] / nodist / AdgText / goocanvastext.h
blob7d0ecbdbda138161d092a50fe9afdb06e6729d37
1 /*
2 * GooCanvas. Copyright (C) 2005 Damon Chaplin.
3 * Released under the GNU LGPL license. See COPYING for details.
5 * goocanvastext.h - text item.
6 */
7 #ifndef __GOO_CANVAS_TEXT_H__
8 #define __GOO_CANVAS_TEXT_H__
10 #include <gtk/gtk.h>
11 #include "goocanvasitemsimple.h"
13 G_BEGIN_DECLS
16 /* This is the data used by both model and view classes. */
17 typedef struct _GooCanvasTextData GooCanvasTextData;
18 struct _GooCanvasTextData
20 gchar *text;
21 gdouble x, y, width;
22 guint use_markup : 1;
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;
41 /**
42 * GooCanvasText
44 * The #GooCanvasText-struct struct contains private data only.
46 struct _GooCanvasText
48 GooCanvasItemSimple parent;
50 GooCanvasTextData *text_data;
51 gdouble layout_width;
54 struct _GooCanvasTextClass
56 GooCanvasItemSimpleClass parent_class;
58 /*< private >*/
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,
71 const char *string,
72 gdouble x,
73 gdouble y,
74 gdouble width,
75 GtkAnchorType anchor,
76 ...);
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;
94 /**
95 * GooCanvasTextModel
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;
110 /*< private >*/
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,
123 const char *string,
124 gdouble x,
125 gdouble y,
126 gdouble width,
127 GtkAnchorType anchor,
128 ...);
131 G_END_DECLS
133 #endif /* __GOO_CANVAS_TEXT_H__ */