Constructor
GimpProcedurenew
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_EXTENSION
means that the plug-in will add
temporary procedures. Therefore, the GIMP core will wait until the
GIMP_PDB_PROC_TYPE_EXTENSION
procedure has called
gimp_procedure_extension_ready()
, which means that the procedure
has done its initialization, installed its temporary procedures and
is ready to run.
Not calling gimp_procedure_extension_ready()
from a
GIMP_PDB_PROC_TYPE_EXTENSION
procedure will cause the GIMP core to
lock up.
Additionally, a GIMP_PDB_PROC_TYPE_EXTENSION
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_EXTENSION
procedures the call of run_func
is basically the lifetime of the plug-in.
Available since: | 3.0 |
Parameters
plug_in |
GimpPlugIn |
A |
|
The data is owned by the caller of the function. | |
name |
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 |
GimpPDBProcType |
The new procedure’s |
|
run_func |
GimpRunFunc |
The run function for the new procedure. |
|
run_data |
gpointer |
User data passed to |
|
The argument can be NULL . | |
The data is owned by the caller of the function. | |
run_data_destroy |
GDestroyNotify |
Free function for |
|
The argument can be NULL . |
Return value
Returns: | GimpProcedure |
A new |
|
The caller of the function takes ownership of the data, and is responsible for freeing it. |