static GValueArray * progress_init_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GValueArray *args) { gboolean success = TRUE; const gchar *message; GimpObject *gdisplay; message = g_value_get_string (&args->values[0]); gdisplay = gimp_value_get_display (&args->values[1], gimp); if (success) { GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in; if (plug_in && plug_in->open) { if (! gimp->no_interface) gimp_plug_in_progress_start (plug_in, message, gdisplay); } else success = FALSE; } return gimp_procedure_get_return_values (procedure, success); }
void gimp_plug_in_progress_pulse (GimpPlugIn *plug_in) { GimpPlugInProcFrame *proc_frame; g_return_if_fail (GIMP_IS_PLUG_IN (plug_in)); proc_frame = gimp_plug_in_get_proc_frame (plug_in); if (! proc_frame->progress || ! gimp_progress_is_active (proc_frame->progress) || ! proc_frame->progress_cancel_id) { gimp_plug_in_progress_start (plug_in, NULL, NULL); } if (proc_frame->progress && gimp_progress_is_active (proc_frame->progress)) gimp_progress_pulse (proc_frame->progress); }