GimpData * gimp_mybrush_get_standard (GimpContext *context) { static GimpData *standard_mybrush = NULL; if (! standard_mybrush) { standard_mybrush = gimp_mybrush_new (context, "Standard"); gimp_data_clean (standard_mybrush); gimp_data_make_internal (standard_mybrush, "gimp-mybrush-standard"); g_object_add_weak_pointer (G_OBJECT (standard_mybrush), (gpointer *) &standard_mybrush); } return standard_mybrush; }
GimpData * gimp_pattern_get_standard (GimpContext *context) { static GimpData *standard_pattern = NULL; if (! standard_pattern) { standard_pattern = gimp_pattern_new (context, "Standard"); gimp_data_clean (standard_pattern); gimp_data_make_internal (standard_pattern, "gimp-pattern-standard"); g_object_add_weak_pointer (G_OBJECT (standard_pattern), (gpointer *) &standard_pattern); } return standard_pattern; }
GimpData * gimp_curve_get_standard (void) { static GimpData *standard_curve = NULL; if (! standard_curve) { standard_curve = gimp_curve_new ("Standard"); gimp_data_clean (standard_curve); gimp_data_make_internal (standard_curve, "gimp-curve-standard"); g_object_ref (standard_curve); } return standard_curve; }
static GimpGradient * gimp_gradients_add_gradient (Gimp *gimp, const gchar *name, const gchar *id) { GimpGradient *gradient; gradient = GIMP_GRADIENT (gimp_gradient_new (gimp_get_user_context (gimp), name)); gimp_data_make_internal (GIMP_DATA (gradient), id); gimp_container_add (gimp_data_factory_get_container (gimp->gradient_factory), GIMP_OBJECT (gradient)); g_object_unref (gradient); g_object_set_data (G_OBJECT (gimp), id, gradient); return gradient; }
static void gimp_real_initialize (Gimp *gimp, GimpInitStatusFunc status_callback) { static const GimpDataFactoryLoaderEntry brush_loader_entries[] = { { gimp_brush_load, GIMP_BRUSH_FILE_EXTENSION, FALSE }, { gimp_brush_load, GIMP_BRUSH_PIXMAP_FILE_EXTENSION, FALSE }, { gimp_brush_load_abr, GIMP_BRUSH_PS_FILE_EXTENSION, FALSE }, { gimp_brush_load_abr, GIMP_BRUSH_PSP_FILE_EXTENSION, FALSE }, { gimp_brush_generated_load, GIMP_BRUSH_GENERATED_FILE_EXTENSION, TRUE }, { gimp_brush_pipe_load, GIMP_BRUSH_PIPE_FILE_EXTENSION, FALSE } }; static const GimpDataFactoryLoaderEntry dynamics_loader_entries[] = { { gimp_dynamics_load, GIMP_DYNAMICS_FILE_EXTENSION, TRUE } }; static const GimpDataFactoryLoaderEntry mybrush_loader_entries[] = { { gimp_mybrush_load, GIMP_MYBRUSH_FILE_EXTENSION, FALSE } }; static const GimpDataFactoryLoaderEntry pattern_loader_entries[] = { { gimp_pattern_load, GIMP_PATTERN_FILE_EXTENSION, FALSE }, { gimp_pattern_load_pixbuf, NULL /* fallback loader */, FALSE } }; static const GimpDataFactoryLoaderEntry gradient_loader_entries[] = { { gimp_gradient_load, GIMP_GRADIENT_FILE_EXTENSION, TRUE }, { gimp_gradient_load_svg, GIMP_GRADIENT_SVG_FILE_EXTENSION, FALSE } }; static const GimpDataFactoryLoaderEntry palette_loader_entries[] = { { gimp_palette_load, GIMP_PALETTE_FILE_EXTENSION, TRUE } }; static const GimpDataFactoryLoaderEntry tool_preset_loader_entries[] = { { gimp_tool_preset_load, GIMP_TOOL_PRESET_FILE_EXTENSION, TRUE } }; GimpData *clipboard_brush; GimpData *clipboard_pattern; if (gimp->be_verbose) g_print ("INIT: %s\n", G_STRFUNC); status_callback (_("Initialization"), NULL, 0.0); gimp_fonts_init (gimp); gimp->brush_factory = gimp_data_factory_new (gimp, GIMP_TYPE_BRUSH, "brush-path", "brush-path-writable", brush_loader_entries, G_N_ELEMENTS (brush_loader_entries), gimp_brush_new, gimp_brush_get_standard); gimp_object_set_static_name (GIMP_OBJECT (gimp->brush_factory), "brush factory"); gimp->dynamics_factory = gimp_data_factory_new (gimp, GIMP_TYPE_DYNAMICS, "dynamics-path", "dynamics-path-writable", dynamics_loader_entries, G_N_ELEMENTS (dynamics_loader_entries), gimp_dynamics_new, gimp_dynamics_get_standard); gimp_object_set_static_name (GIMP_OBJECT (gimp->dynamics_factory), "dynamics factory"); gimp->mybrush_factory = gimp_data_factory_new (gimp, GIMP_TYPE_MYBRUSH, "mypaint-brush-path", "mypaint-brush-path-writable", mybrush_loader_entries, G_N_ELEMENTS (mybrush_loader_entries), NULL, NULL); gimp_object_set_static_name (GIMP_OBJECT (gimp->mybrush_factory), "mypaint brush factory"); gimp->pattern_factory = gimp_data_factory_new (gimp, GIMP_TYPE_PATTERN, "pattern-path", "pattern-path-writable", pattern_loader_entries, G_N_ELEMENTS (pattern_loader_entries), NULL, gimp_pattern_get_standard); gimp_object_set_static_name (GIMP_OBJECT (gimp->pattern_factory), "pattern factory"); gimp->gradient_factory = gimp_data_factory_new (gimp, GIMP_TYPE_GRADIENT, "gradient-path", "gradient-path-writable", gradient_loader_entries, G_N_ELEMENTS (gradient_loader_entries), gimp_gradient_new, gimp_gradient_get_standard); gimp_object_set_static_name (GIMP_OBJECT (gimp->gradient_factory), "gradient factory"); gimp->palette_factory = gimp_data_factory_new (gimp, GIMP_TYPE_PALETTE, "palette-path", "palette-path-writable", palette_loader_entries, G_N_ELEMENTS (palette_loader_entries), gimp_palette_new, gimp_palette_get_standard); gimp_object_set_static_name (GIMP_OBJECT (gimp->palette_factory), "palette factory"); gimp->tool_preset_factory = gimp_data_factory_new (gimp, GIMP_TYPE_TOOL_PRESET, "tool-preset-path", "tool-preset-path-writable", tool_preset_loader_entries, G_N_ELEMENTS (tool_preset_loader_entries), gimp_tool_preset_new, NULL); gimp_object_set_static_name (GIMP_OBJECT (gimp->tool_preset_factory), "tool preset factory"); gimp->tag_cache = gimp_tag_cache_new (); gimp_paint_init (gimp); /* Set the last values used to default values. */ gimp->image_new_last_template = gimp_config_duplicate (GIMP_CONFIG (gimp->config->default_image)); /* create user and default context */ gimp_contexts_init (gimp); /* add the builtin FG -> BG etc. gradients */ gimp_gradients_init (gimp); /* add the color history palette */ gimp_palettes_init (gimp); /* add the clipboard brush */ clipboard_brush = gimp_brush_clipboard_new (gimp); gimp_data_make_internal (GIMP_DATA (clipboard_brush), "gimp-brush-clipboard"); gimp_container_add (gimp_data_factory_get_container (gimp->brush_factory), GIMP_OBJECT (clipboard_brush)); g_object_unref (clipboard_brush); /* add the clipboard pattern */ clipboard_pattern = gimp_pattern_clipboard_new (gimp); gimp_data_make_internal (GIMP_DATA (clipboard_pattern), "gimp-pattern-clipboard"); gimp_container_add (gimp_data_factory_get_container (gimp->pattern_factory), GIMP_OBJECT (clipboard_pattern)); g_object_unref (clipboard_pattern); /* register all internal procedures */ status_callback (NULL, _("Internal Procedures"), 0.2); internal_procs_init (gimp->pdb); gimp_pdb_compat_procs_register (gimp->pdb, gimp->pdb_compat_mode); gimp_plug_in_manager_initialize (gimp->plug_in_manager, status_callback); status_callback (NULL, "", 1.0); }