static gint64 gimp_text_get_memsize (GimpObject *object, gint64 *gui_size) { GimpText *text = GIMP_TEXT (object); gint64 memsize = 0; memsize += gimp_string_get_memsize (text->text); memsize += gimp_string_get_memsize (text->font); memsize += gimp_string_get_memsize (text->language); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }
static gint64 gimp_item_prop_undo_get_memsize (GimpObject *object, gint64 *gui_size) { GimpItemPropUndo *item_prop_undo = GIMP_ITEM_PROP_UNDO (object); gint64 memsize = 0; memsize += gimp_string_get_memsize (item_prop_undo->name); memsize += gimp_string_get_memsize (item_prop_undo->parasite_name); memsize += gimp_parasite_get_memsize (item_prop_undo->parasite, NULL); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }
static gint64 gimp_procedure_get_memsize (GimpObject *object, gint64 *gui_size) { GimpProcedure *procedure = GIMP_PROCEDURE (object); gint64 memsize = 0; gint i; if (! procedure->static_strings) { memsize += gimp_string_get_memsize (procedure->original_name); memsize += gimp_string_get_memsize (procedure->blurb); memsize += gimp_string_get_memsize (procedure->help); memsize += gimp_string_get_memsize (procedure->author); memsize += gimp_string_get_memsize (procedure->copyright); memsize += gimp_string_get_memsize (procedure->date); memsize += gimp_string_get_memsize (procedure->deprecated); } memsize += procedure->num_args * sizeof (GParamSpec *); for (i = 0; i < procedure->num_args; i++) memsize += gimp_g_param_spec_get_memsize (procedure->args[i]); memsize += procedure->num_values * sizeof (GParamSpec *); for (i = 0; i < procedure->num_values; i++) memsize += gimp_g_param_spec_get_memsize (procedure->values[i]); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }
static gint64 gimp_plug_in_def_get_memsize (GimpObject *object, gint64 *gui_size) { GimpPlugInDef *plug_in_def = GIMP_PLUG_IN_DEF (object); gint64 memsize = 0; memsize += gimp_g_object_get_memsize (G_OBJECT (plug_in_def->file)); memsize += gimp_string_get_memsize (plug_in_def->locale_domain_name); memsize += gimp_string_get_memsize (plug_in_def->locale_domain_path); memsize += gimp_string_get_memsize (plug_in_def->help_domain_name); memsize += gimp_string_get_memsize (plug_in_def->help_domain_uri); memsize += gimp_g_slist_get_memsize (plug_in_def->procedures, 0); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }
gint64 gimp_g_param_spec_get_memsize (GParamSpec *pspec) { gint64 memsize = 0; if (! pspec) return 0; if (! (pspec->flags & G_PARAM_STATIC_NAME)) memsize += gimp_string_get_memsize (g_param_spec_get_name (pspec)); if (! (pspec->flags & G_PARAM_STATIC_NICK)) memsize += gimp_string_get_memsize (g_param_spec_get_nick (pspec)); if (! (pspec->flags & G_PARAM_STATIC_BLURB)) memsize += gimp_string_get_memsize (g_param_spec_get_blurb (pspec)); return memsize + gimp_g_type_instance_get_memsize ((GTypeInstance *) pspec); }
static gint64 gimp_object_real_get_memsize (GimpObject *object, gint64 *gui_size) { gint64 memsize = 0; if (! object->p->static_name) memsize += gimp_string_get_memsize (object->p->name); return memsize + gimp_g_object_get_memsize ((GObject *) object); }
gint64 gimp_parasite_get_memsize (GimpParasite *parasite, gint64 *gui_size) { if (parasite) return (sizeof (GimpParasite) + gimp_string_get_memsize (parasite->name) + parasite->size); return 0; }
static gint64 gimp_image_undo_get_memsize (GimpObject *object, gint64 *gui_size) { GimpImageUndo *image_undo = GIMP_IMAGE_UNDO (object); gint64 memsize = 0; if (image_undo->colormap) memsize += GIMP_IMAGE_COLORMAP_SIZE; memsize += gimp_object_get_memsize (GIMP_OBJECT (image_undo->grid), gui_size); memsize += gimp_string_get_memsize (image_undo->parasite_name); memsize += gimp_parasite_get_memsize (image_undo->parasite, gui_size); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }
gint64 gimp_g_value_get_memsize (GValue *value) { gint64 memsize = 0; if (! value) return 0; if (G_VALUE_HOLDS_STRING (value)) { memsize += gimp_string_get_memsize (g_value_get_string (value)); } else if (G_VALUE_HOLDS_BOXED (value)) { if (GIMP_VALUE_HOLDS_RGB (value)) { memsize += sizeof (GimpRGB); } else if (GIMP_VALUE_HOLDS_MATRIX2 (value)) { memsize += sizeof (GimpMatrix2); } else if (GIMP_VALUE_HOLDS_PARASITE (value)) { memsize += gimp_parasite_get_memsize (g_value_get_boxed (value), NULL); } else if (GIMP_VALUE_HOLDS_ARRAY (value) || GIMP_VALUE_HOLDS_INT8_ARRAY (value) || GIMP_VALUE_HOLDS_INT16_ARRAY (value) || GIMP_VALUE_HOLDS_INT32_ARRAY (value) || GIMP_VALUE_HOLDS_FLOAT_ARRAY (value)) { GimpArray *array = g_value_get_boxed (value); if (array) memsize += (sizeof (GimpArray) + array->static_data ? 0 : array->length); } else if (GIMP_VALUE_HOLDS_STRING_ARRAY (value)) { GimpArray *array = g_value_get_boxed (value); if (array) { memsize += sizeof (GimpArray); if (! array->static_data) { gchar **tmp = (gchar **) array->data; gint i; memsize += array->length * sizeof (gchar *); for (i = 0; i < array->length; i++) memsize += gimp_string_get_memsize (tmp[i]); } } } else { g_printerr ("%s: unhandled boxed value type: %s\n", G_STRFUNC, G_VALUE_TYPE_NAME (value)); } } else if (G_VALUE_HOLDS_OBJECT (value)) { g_printerr ("%s: unhandled object value type: %s\n", G_STRFUNC, G_VALUE_TYPE_NAME (value)); } return memsize + sizeof (GValue); }
static gint64 gimp_plug_in_procedure_get_memsize (GimpObject *object, gint64 *gui_size) { GimpPlugInProcedure *proc = GIMP_PLUG_IN_PROCEDURE (object); gint64 memsize = 0; GList *list; GSList *slist; memsize += gimp_string_get_memsize (proc->prog); memsize += gimp_string_get_memsize (proc->menu_label); for (list = proc->menu_paths; list; list = g_list_next (list)) memsize += sizeof (GList) + gimp_string_get_memsize (list->data); switch (proc->icon_type) { case GIMP_ICON_TYPE_STOCK_ID: case GIMP_ICON_TYPE_IMAGE_FILE: memsize += gimp_string_get_memsize ((const gchar *) proc->icon_data); break; case GIMP_ICON_TYPE_INLINE_PIXBUF: memsize += proc->icon_data_length; break; } memsize += gimp_string_get_memsize (proc->extensions); memsize += gimp_string_get_memsize (proc->prefixes); memsize += gimp_string_get_memsize (proc->magics); memsize += gimp_string_get_memsize (proc->mime_type); memsize += gimp_string_get_memsize (proc->thumb_loader); for (slist = proc->extensions_list; slist; slist = g_slist_next (slist)) memsize += sizeof (GSList) + gimp_string_get_memsize (slist->data); for (slist = proc->prefixes_list; slist; slist = g_slist_next (slist)) memsize += sizeof (GSList) + gimp_string_get_memsize (slist->data); for (slist = proc->magics_list; slist; slist = g_slist_next (slist)) memsize += sizeof (GSList) + gimp_string_get_memsize (slist->data); return memsize + GIMP_OBJECT_CLASS (parent_class)->get_memsize (object, gui_size); }