[gimp] app: add gimp_g_queue_get_memsize() and gimp_g_queue_get_memsize_foreach()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_g_queue_get_memsize() and gimp_g_queue_get_memsize_foreach()
- Date: Wed, 27 Jan 2016 22:04:46 +0000 (UTC)
commit 2c48d55f755e3999dbc94cf767b7dff8340e570d
Author: Michael Natterer <mitch gimp org>
Date: Wed Jan 27 23:04:31 2016 +0100
app: add gimp_g_queue_get_memsize() and gimp_g_queue_get_memsize_foreach()
app/core/gimp-memsize.c | 35 +++++++++++++++++++++++++++++++++++
app/core/gimp-memsize.h | 8 +++++++-
2 files changed, 42 insertions(+), 1 deletions(-)
---
diff --git a/app/core/gimp-memsize.c b/app/core/gimp-memsize.c
index 9e9d9f5..32d03bf 100644
--- a/app/core/gimp-memsize.c
+++ b/app/core/gimp-memsize.c
@@ -158,6 +158,41 @@ gimp_g_list_get_memsize_foreach (GList *list,
}
gint64
+gimp_g_queue_get_memsize (GQueue *queue,
+ gint64 data_size)
+{
+ if (queue)
+ {
+ return sizeof (GQueue) +
+ g_queue_get_length (queue) * (data_size + sizeof (GList));
+ }
+
+ return 0;
+}
+
+gint64
+gimp_g_queue_get_memsize_foreach (GQueue *queue,
+ GimpMemsizeFunc func,
+ gint64 *gui_size)
+{
+ gint64 memsize = 0;
+
+ g_return_val_if_fail (func != NULL, 0);
+
+ if (queue)
+ {
+ GList *l;
+
+ memsize = sizeof (GQueue);
+
+ for (l = queue->head; l; l = g_list_next (l))
+ memsize += sizeof (GList) + func (l->data, gui_size);
+ }
+
+ return memsize;
+}
+
+gint64
gimp_g_value_get_memsize (GValue *value)
{
gint64 memsize = 0;
diff --git a/app/core/gimp-memsize.h b/app/core/gimp-memsize.h
index ffc929f..c0469d1 100644
--- a/app/core/gimp-memsize.h
+++ b/app/core/gimp-memsize.h
@@ -36,7 +36,13 @@ gint64 gimp_g_slist_get_memsize_foreach (GSList *slist,
gint64 gimp_g_list_get_memsize (GList *list,
gint64 data_size);
-gint64 gimp_g_list_get_memsize_foreach (GList *slist,
+gint64 gimp_g_list_get_memsize_foreach (GList *list,
+ GimpMemsizeFunc func,
+ gint64 *gui_size);
+
+gint64 gimp_g_queue_get_memsize (GQueue *queue,
+ gint64 data_size);
+gint64 gimp_g_queue_get_memsize_foreach (GQueue *queue,
GimpMemsizeFunc func,
gint64 *gui_size);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]