diff options
author | Owen Taylor <otaylor@redhat.com> | 2005-07-22 15:33:12 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2005-07-22 15:33:12 +0000 |
commit | c040d51c9c76932fea029a6e1faf14f6ebc26168 (patch) | |
tree | 2f454f8b8f8f63b8d999b6fe7c2568cdca91dd37 /pango | |
parent | a7507ca9d7d0679083242cec0c75a973df8ea181 (diff) | |
download | pango-c040d51c9c76932fea029a6e1faf14f6ebc26168.tar.gz |
Based on patch from Gustavo J. A. M. Carneiro (#305975)
2005-07-21 Owen Taylor <otaylor@redhat.com>
Based on patch from Gustavo J. A. M. Carneiro (#305975)
* pango/pango-layout.[ch] (pango_layout_line_ref)
pango/pango-attributes.[ch] (pango_attr_list_ref): Return the
argument to _ref() functions.
* pango/pango-item.[ch]: Register PangoItem boxed type.
* pango/pango-layout.[ch]: Register PangoLayoutLine boxed type.
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pango-attributes.c | 8 | ||||
-rw-r--r-- | pango/pango-attributes.h | 2 | ||||
-rw-r--r-- | pango/pango-item.c | 12 | ||||
-rw-r--r-- | pango/pango-item.h | 4 | ||||
-rw-r--r-- | pango/pango-layout.c | 20 | ||||
-rw-r--r-- | pango/pango-layout.h | 9 |
6 files changed, 48 insertions, 7 deletions
diff --git a/pango/pango-attributes.c b/pango/pango-attributes.c index 4cf1f616..ecf41e47 100644 --- a/pango/pango-attributes.c +++ b/pango/pango-attributes.c @@ -965,13 +965,17 @@ pango_attr_list_new (void) * @list: a #PangoAttrList * * Increase the reference count of the given attribute list by one. + * + * Return value: The attribute list passed in (since 1.10) **/ -void +PangoAttrList * pango_attr_list_ref (PangoAttrList *list) { - g_return_if_fail (list != NULL); + g_return_val_if_fail (list != NULL, NULL); list->ref_count++; + + return list; } /** diff --git a/pango/pango-attributes.h b/pango/pango-attributes.h index f26e178f..65b69b1e 100644 --- a/pango/pango-attributes.h +++ b/pango/pango-attributes.h @@ -219,7 +219,7 @@ PangoAttribute *pango_attr_shape_new_with_data (const PangoRectangle *ink_ GType pango_attr_list_get_type (void) G_GNUC_CONST; PangoAttrList * pango_attr_list_new (void); -void pango_attr_list_ref (PangoAttrList *list); +PangoAttrList * pango_attr_list_ref (PangoAttrList *list); void pango_attr_list_unref (PangoAttrList *list); PangoAttrList * pango_attr_list_copy (PangoAttrList *list); void pango_attr_list_insert (PangoAttrList *list, diff --git a/pango/pango-item.c b/pango/pango-item.c index c1857a1e..a8b5aae0 100644 --- a/pango/pango-item.c +++ b/pango/pango-item.c @@ -93,6 +93,18 @@ pango_item_free (PangoItem *item) g_free (item); } +GType +pango_item_get_type (void) +{ + static GType our_type = 0; + + if (our_type == 0) + our_type = g_boxed_type_register_static ("PangoItem", + (GBoxedCopyFunc) pango_item_copy, + (GBoxedFreeFunc) pango_item_free); + return our_type; +} + /** * pango_item_split: * @orig: a #PangoItem diff --git a/pango/pango-item.h b/pango/pango-item.h index dd567c2a..f90443b8 100644 --- a/pango/pango-item.h +++ b/pango/pango-item.h @@ -47,6 +47,10 @@ struct _PangoItem PangoAnalysis analysis; }; +#define PANGO_TYPE_ITEM (pango_item_get_type ()) + +GType pango_item_get_type (void) G_GNUC_CONST; + PangoItem *pango_item_new (void); PangoItem *pango_item_copy (PangoItem *item); void pango_item_free (PangoItem *item); diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 34bca4de..01d637df 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -3295,15 +3295,19 @@ pango_layout_check_lines (PangoLayout *layout) * @line: a #PangoLayoutLine * * Increases the reference count of a #PangoLayoutLine by one. + * + * Return value: the line passed in (since 1.10) **/ -void +PangoLayoutLine * pango_layout_line_ref (PangoLayoutLine *line) { PangoLayoutLinePrivate *private = (PangoLayoutLinePrivate *)line; - g_return_if_fail (line != NULL); + g_return_val_if_fail (line != NULL, NULL); private->ref_count++; + + return line; } /** @@ -3337,6 +3341,18 @@ pango_layout_line_unref (PangoLayoutLine *line) } } +GType +pango_layout_line_get_type(void) +{ + static GType our_type = 0; + + if (our_type == 0) + our_type = g_boxed_type_register_static ("PangoLayoutLine", + (GBoxedCopyFunc) pango_layout_line_ref, + (GBoxedFreeFunc) pango_layout_line_unref); + return our_type; +} + /** * pango_layout_line_x_to_index: * @line: a #PangoLayoutLine diff --git a/pango/pango-layout.h b/pango/pango-layout.h index d52b8b1c..1c099404 100644 --- a/pango/pango-layout.h +++ b/pango/pango-layout.h @@ -197,8 +197,13 @@ PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, int line); GSList * pango_layout_get_lines (PangoLayout *layout); -void pango_layout_line_ref (PangoLayoutLine *line); -void pango_layout_line_unref (PangoLayoutLine *line); +#define PANGO_TYPE_LAYOUT_LINE (pango_layout_line_get_type ()) + +GType pango_layout_line_get_type (void) G_GNUC_CONST; + +PangoLayoutLine *pango_layout_line_ref (PangoLayoutLine *line); +void pango_layout_line_unref (PangoLayoutLine *line); + gboolean pango_layout_line_x_to_index (PangoLayoutLine *line, int x_pos, int *index_, |