Constructor
GimpProcedurenew
since: 3.0
Declaration [src]
GimpProcedure*
gimp_procedure_new (
GimpPlugIn* plug_in,
const gchar* name,
GimpPDBProcType proc_type,
GimpRunFunc run_func,
gpointer run_data,
GDestroyNotify run_data_destroy
)
Description [src]
Creates a new procedure named name which will call run_func when invoked.
The name parameter is mandatory and should be unique, or it will
overwrite an already existing procedure (overwrite procedures only
if you know what you’re doing).
proc_type should be GIMP_PDB_PROC_TYPE_PLUGIN for “normal” plug-ins.
Using GIMP_PDB_PROC_TYPE_PERSISTENT means that the plug-in will
add temporary procedures. Therefore, the GIMP core will wait until the GIMP_PDB_PROC_TYPE_PERSISTENT procedure has called
gimp_procedure_persistent_ready(), which means that the procedure
has done its initialization, installed its temporary procedures and
is ready to run.
Not calling gimp_procedure_persistent_ready() from a
GIMP_PDB_PROC_TYPE_PERSISTENT procedure will cause the GIMP core to
lock up.
Additionally, a GIMP_PDB_PROC_TYPE_PERSISTENT procedure with no
arguments added is an “automatic” extension that will be
automatically started on each GIMP startup.
GIMP_PDB_PROC_TYPE_TEMPORARY must be used for temporary procedures
that are created during a plug-ins lifetime. They must be added to the GimpPlugIn using gimp_plug_in_add_temp_procedure().
run_func is called via gimp_procedure_run().
For GIMP_PDB_PROC_TYPE_PLUGIN and GIMP_PDB_PROC_TYPE_PERSISTENT
procedures the call of run_func is basically the lifetime of the plug-in.
Available since: 3.0
Parameters
plug_in-
Type:
GimpPlugInA
GimpPlugIn.The data is owned by the caller of the function. name-
Type:
const gchar*The new procedure’s name.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. proc_type-
Type:
GimpPDBProcTypeThe new procedure’s
GimpPDBProcType. run_func-
Type:
GimpRunFuncThe run function for the new procedure.
run_data-
Type:
gpointerUser data passed to
run_func.The argument can be NULL.The data is owned by the caller of the function. run_data_destroy-
Type:
GDestroyNotifyFree function for
run_data, orNULL.The argument can be NULL.
Return value
Type: GimpProcedure
A new GimpProcedure.
| The caller of the function takes ownership of the data, and is responsible for freeing it. |