summaryrefslogtreecommitdiff
path: root/pango
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-07-22 15:33:12 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-07-22 15:33:12 +0000
commitc040d51c9c76932fea029a6e1faf14f6ebc26168 (patch)
tree2f454f8b8f8f63b8d999b6fe7c2568cdca91dd37 /pango
parenta7507ca9d7d0679083242cec0c75a973df8ea181 (diff)
downloadpango-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.c8
-rw-r--r--pango/pango-attributes.h2
-rw-r--r--pango/pango-item.c12
-rw-r--r--pango/pango-item.h4
-rw-r--r--pango/pango-layout.c20
-rw-r--r--pango/pango-layout.h9
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_,