mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 01:43:24 +00:00
ScriptFu: rename script-fu-register-regular => -procedure
As suggested by reviewers, use a better word. Regular denotes size. Procedure is the same word used in the classes in the code. Procedure denotes a general procedure, without specialization. Renames only where visible externally by script authors. Internally, some functions are still named "_regular". That can be changed later as a style issue.
This commit is contained in:
parent
a5e191e209
commit
771dd219f6
12 changed files with 144 additions and 140 deletions
|
@ -67,9 +67,9 @@ will remain compatible with GIMP 2.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
SF-VALUE "Font size (pixels)" "50"
|
SF-VALUE "Font size" "50"
|
||||||
=>
|
=>
|
||||||
SF-ADJUSTMENT "Font size (pixels)" '(50 1 1000 1 10 0 SF-SPINNER)
|
SF-ADJUSTMENT "Font size" '(50 1 1000 1 10 0 SF-SPINNER)
|
||||||
|
|
||||||
Here, in the seven-tuple, the 0 denotes: no decimal places.
|
Here, in the seven-tuple, the 0 denotes: no decimal places.
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ The ScriptFu language is simpler and smaller; TRUE and FALSE duplicated concepts
|
||||||
|
|
||||||
#### Example changes
|
#### Example changes
|
||||||
|
|
||||||
Registering a script:
|
Declaring a script:
|
||||||
|
|
||||||
SF-TOGGLE "Gradient reverse" FALSE
|
SF-TOGGLE "Gradient reverse" FALSE
|
||||||
=>
|
=>
|
||||||
|
@ -282,9 +282,9 @@ it must not evaluate to #f.
|
||||||
Most existing plugins won't, since their last evaluated expression
|
Most existing plugins won't, since their last evaluated expression
|
||||||
is usually a call to the PDB yielding a list, which is not equivalent to #f.
|
is usually a call to the PDB yielding a list, which is not equivalent to #f.
|
||||||
|
|
||||||
*Remember that ScriptFu does not yet let you register PDB procedures
|
*Remember that ScriptFu does not yet let you declare PDB procedures
|
||||||
that return values to the caller.
|
that return values to the caller.
|
||||||
That is, you can only register a void procedure, having only side effects.
|
That is, you can only declare a void procedure, having only side effects.
|
||||||
So to yield #f does not mean to return a boolean to the caller.*
|
So to yield #f does not mean to return a boolean to the caller.*
|
||||||
|
|
||||||
*Also, you can define Scheme functions internal to a script
|
*Also, you can define Scheme functions internal to a script
|
||||||
|
@ -338,39 +338,46 @@ from the GIMP app, and you should restart GIMP.
|
||||||
|
|
||||||
ScriptFu defines "registration" functions, letting you declare a plugin PDB procedure.
|
ScriptFu defines "registration" functions, letting you declare a plugin PDB procedure.
|
||||||
|
|
||||||
In ScriptFu v2, there was only *script-fu-register*.
|
ScriptFu v2 has only *script-fu-register*.
|
||||||
It was a generic function used to declare procedures that are either:
|
It was a generic function used to declare procedures that are either:
|
||||||
|
|
||||||
filters/renderers (operating on an image)
|
* generic procedures (operating without an image.)
|
||||||
or regular procedures (operating without an image.)
|
* filters/renderers (operating on an image)
|
||||||
|
|
||||||
The new registration functions are:
|
The new registration functions are:
|
||||||
|
|
||||||
*script-fu-register-filter*
|
* *script-fu-register-procedure*
|
||||||
*script-fu-register-regular*
|
* *script-fu-register-filter*
|
||||||
|
|
||||||
### Don't use script-fu-register
|
The new registration functions let a plugin have a new look-and-feel
|
||||||
|
and improved settings.
|
||||||
|
|
||||||
The v2 registration function *script-fu-register* is now deprecated.
|
Terminology: you *declare* a plugin's attributes and signature using a registration function.
|
||||||
|
You *define* a run func with a similar signature.
|
||||||
|
ScriptFu *registers* the plugin in the PDB.
|
||||||
|
|
||||||
|
### Registration function *script-fu-register* is now deprecated.
|
||||||
|
|
||||||
**You should not use script-fu-register in new ScriptFu scripts.**
|
**You should not use script-fu-register in new ScriptFu scripts.**
|
||||||
|
|
||||||
In the future, the GIMP project might obsolete *script-fu-register*.
|
In the future, the GIMP project might obsolete *script-fu-register*.
|
||||||
|
|
||||||
While deprecated, *script-fu-register* should still work.
|
While deprecated, *script-fu-register* should still work.
|
||||||
But it will show an old-style dialog with the old look-and-feel.
|
But the plugin dialog will:
|
||||||
And it will be missing some advantages of the new registration functions,
|
|
||||||
such as the handling of settings.
|
|
||||||
|
|
||||||
Also, for plugins using *script-fu-register*,
|
* have an old look-and-feel.
|
||||||
ScriptFu infers, i.e. makes a best guess,
|
* will be missing some advantages, such as the handling of settings.
|
||||||
whether the plugin's menu item should be enabled
|
|
||||||
depending on the user's selection of drawables.
|
|
||||||
GIMP enables the menu item for such deprecated scripts
|
|
||||||
whenever a user selects at least one drawable (layer or other.)
|
|
||||||
This works after a fashion because in GIMP v2, plugins only received one drawable.
|
|
||||||
|
|
||||||
### Settings and ScriptFu plugins
|
Also, using *script-fu-register*,
|
||||||
|
you can only declare a plugin taking one drawable (i.e. layer or mask).
|
||||||
|
But GIMP v3 now calls such plugins passing a vector of drawables.
|
||||||
|
GIMP v2 called such plugins passing one drawable.
|
||||||
|
That is, the declared and actual signatures are incongruous.
|
||||||
|
GIMP enables the menu item for such deprecated scripts,
|
||||||
|
declared to take an image and drawable,
|
||||||
|
whenever a user selects at least one drawable.
|
||||||
|
|
||||||
|
### Improved Settings for ScriptFu plugins
|
||||||
|
|
||||||
GIMP 3 now handles plugin settings better.
|
GIMP 3 now handles plugin settings better.
|
||||||
(Using more powerful machinery in GIMP that is common to plugins in all languages,
|
(Using more powerful machinery in GIMP that is common to plugins in all languages,
|
||||||
|
@ -380,28 +387,29 @@ Scripts declared with new registration functions have settings that persist
|
||||||
within and between Gimp sessions.
|
within and between Gimp sessions.
|
||||||
That is, the next time a user invokes the script,
|
That is, the next time a user invokes the script,
|
||||||
the dialog will show the same settings as the last time they chose the filter.
|
the dialog will show the same settings as the last time they chose the filter.
|
||||||
This is not true for v2 *script-register*,
|
This is not true for v2 *script-fu-register*,
|
||||||
where settings persist only during a GIMP session.
|
where settings persist only during a GIMP session.
|
||||||
|
|
||||||
The dialog for a script declared with the new registration functions
|
The dialog for a script declared with the new registration functions
|
||||||
will also have buttons for resetting to initial or factory values of settings,
|
will also have buttons for resetting to initial or factory values of settings,
|
||||||
and buttons for saving and restoring a set of settings, by name.
|
and buttons for saving and restoring a set of settings, by name.
|
||||||
|
|
||||||
### script-fu-register-regular
|
### script-fu-register-procedure
|
||||||
|
|
||||||
Use *script-fu-register-regular* to register PDB procedures that are not filters
|
Use *script-fu-register-procedure* to declare PDB procedures that are not filters
|
||||||
or renderers.
|
or renderers.
|
||||||
("Regular" denotes "more general."
|
"Procedure" denotes the general case.
|
||||||
Such plugins are the general case.
|
Plugins that are filters or renerers,
|
||||||
Plugins that take an image and drawables are specialized.)
|
taking an image and drawables, are special
|
||||||
|
and you instead declare them using *script-fu-register-filter.*
|
||||||
|
|
||||||
It lets you declare a script that:
|
*Script-fu-register-filter* declares a script that:
|
||||||
|
|
||||||
- is always enabled
|
* is always enabled
|
||||||
- can save its settings between sessions
|
* can save its settings between sessions
|
||||||
|
|
||||||
You don't declare "image types"
|
You don't declare "image types"
|
||||||
as you do with *script-fu-register* in v2.
|
as you do with *script-fu-register*.
|
||||||
GIMP enables your plugin regardless of the mode of any image a user has selected.
|
GIMP enables your plugin regardless of the mode of any image a user has selected.
|
||||||
|
|
||||||
You don't declare "multilayer capability"
|
You don't declare "multilayer capability"
|
||||||
|
@ -409,11 +417,12 @@ as you do with *script-fu-register-filter*.
|
||||||
Your plugin doesn't necessarily need an image and drawables.
|
Your plugin doesn't necessarily need an image and drawables.
|
||||||
(On your behalf, ScriptFu declares to the PDB that it requires no drawables.)
|
(On your behalf, ScriptFu declares to the PDB that it requires no drawables.)
|
||||||
|
|
||||||
The run func that you define in your script
|
The run func that you define in your script has the same signature
|
||||||
only has formal arguments for the arguments you declare
|
as you declare in the registration function.
|
||||||
using the registration function, declared to the PDB.
|
(The registration functaion also declares the procedure signature in the PDB,
|
||||||
|
and it will be similar, but in terms of the C language
|
||||||
(As in ScriptFu v2, and unlike plugins in other languages,
|
and having an extra argument for run-mode.
|
||||||
|
As in ScriptFu v2, and unlike plugins in other languages,
|
||||||
the run-mode argument is hidden by ScriptFu.)
|
the run-mode argument is hidden by ScriptFu.)
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
@ -423,91 +432,86 @@ Here is an abbreviated example:
|
||||||
(define script-fu-my-plugin (radius)
|
(define script-fu-my-plugin (radius)
|
||||||
body)
|
body)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-my-plugin"
|
(script-fu-register-procedure "script-fu-my-plugin"
|
||||||
"My plugin..."
|
"My plugin..."
|
||||||
"Example plugin."
|
"Example plugin."
|
||||||
"author/copyright holder"
|
"author/copyright holder"
|
||||||
"copyright dates"
|
"copyright dates"
|
||||||
SF-ADJUSTMENT "Radius (in pixels)" (list 100 1 5000 1 10 0 SF-SPINNER)
|
SF-ADJUSTMENT "Radius" (list 100 1 5000 1 10 0 SF-SPINNER)
|
||||||
)
|
)
|
||||||
|
|
||||||
#### Another example: plugins using the context
|
#### Another example: plugins using the context
|
||||||
|
|
||||||
A plugin may define a menu item appearing in a context menu.
|
A plugin may define a menu item appearing in a context menu.
|
||||||
This is a common use case for *script-fu-register-regular*.
|
This is a common use case for *script-fu-register-procedure*.
|
||||||
The context is the set of things in GIMP that are "selected"
|
The context is the set of choices in GIMP that affect drawing operations,
|
||||||
in some sense and affect drawing operations,
|
for example, the current Brush.
|
||||||
for example, a Brush.
|
|
||||||
|
|
||||||
Note that the plugin does *NOT* receive the thing in context
|
Note that the plugin does *NOT* receive the choice in context
|
||||||
that the plugin operates on,
|
but must get it from the context before operating with/on it.
|
||||||
but must get it from the context.
|
|
||||||
|
|
||||||
Using the same registration as above:
|
Using the same registration as above:
|
||||||
|
|
||||||
(define script-fu-my-plugin (radius)
|
(define script-fu-my-plugin (radius)
|
||||||
; do something with the current gradient
|
; do something with the current brush
|
||||||
(gimp-context-get-gradient))
|
(gimp-context-get-brush))
|
||||||
|
|
||||||
...same registration as above...
|
(script-fu-register-procedure "script-fu-my-brush-plugin"
|
||||||
|
...same registration as above...)
|
||||||
|
|
||||||
(script-fu-menu-register "script-fu-my-plugin"
|
(script-fu-menu-register "script-fu-my-brush-plugin"
|
||||||
"<Gradients>/Gradients Menu")
|
"<Brushes>/Brushes Menu")
|
||||||
|
|
||||||
In this example, the menu item "My plugin..."
|
In this example, the menu item "My plugin..."
|
||||||
appears in the context menu (pops up with right mouse button)
|
appears in the context menu (pops up with right mouse button)
|
||||||
in the Gradients dockable window,
|
in the *Brushes* dockable window,
|
||||||
and is always enabled.
|
and is always enabled.
|
||||||
The script gets the current gradient
|
The script run func gets the current brush
|
||||||
and does something to or with it.
|
and does something to or with it.
|
||||||
|
|
||||||
#### Another example: plugins using a secondary image
|
#### Another example: plugin using an unopened file
|
||||||
|
|
||||||
A plugin may want to use an image that is *NOT*
|
A plugin may want to use a file that is *not open as an image.*
|
||||||
the one the user has currently selected.
|
|
||||||
|
|
||||||
|
(define script-fu-my-plugin (filename)
|
||||||
(define script-fu-my-plugin (image, radius)
|
; open and do something with the file
|
||||||
; do something with the image
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-my-plugin"
|
(script-fu-register-procedure "script-fu-my-plugin"
|
||||||
"My plugin..."
|
"My plugin..."
|
||||||
"Example plugin."
|
"Example plugin."
|
||||||
"author/copyright holder"
|
"author/copyright holder"
|
||||||
"copyright dates"
|
"copyright dates"
|
||||||
SF-IMAGE "Image to do something with" ""
|
SF-FILENAME "Image to do something with" ""
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-menu-register "script-fu-my-plugin"
|
(script-fu-menu-register "script-fu-my-plugin"
|
||||||
"<Image>/Help")
|
"<Image>/File")
|
||||||
|
|
||||||
In this example, the menu item "My plugin..."
|
In this example, the menu item *My plugin...*
|
||||||
appears in the Help menu on the menubar.
|
appears in the *File* menu on the menubar.
|
||||||
It is always enabled.
|
It is always enabled.
|
||||||
|
|
||||||
When a user chooses the menu item,
|
When a user chooses the menu item,
|
||||||
a dialog appears that lets a user choose an image
|
a dialog appears that lets a user choose a file.
|
||||||
(that is open but not necessarily on top.)
|
When the user clicks *OK*,
|
||||||
When the user chooses an image, the plugin does something with it.
|
the plugin opens the file and does something with it.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### script-fu-register-filter
|
### script-fu-register-filter
|
||||||
|
|
||||||
Use *script-fu-register-filter* to register a PDB procedure that take images or drawable components of images.
|
Use *script-fu-register-filter* to declare a PDB procedure that take an image and drawable components of images.
|
||||||
|
|
||||||
It lets you declare a script that:
|
*Script-fu-register-filter* declares a script that:
|
||||||
|
|
||||||
- is a filter or renderer: taking an image and one or more drawables
|
* is a filter or renderer: taking a user selected image and its selected components
|
||||||
- is multi-layer capable
|
* is multi-layer capable, processing one or more drawables
|
||||||
- can save its settings between sessions
|
* can save its settings between sessions
|
||||||
- has a menu item that is enabled/sensitized when user selects drawables
|
* has a menu item that is enabled/sensitized when a user selects image components
|
||||||
|
|
||||||
You don't specify the first two arguments "image" and "drawable"
|
You don't specify the first two arguments "image" and "drawables"
|
||||||
as you do with *script-fu-register* in v2.
|
as you do with *script-fu-register* in v2.
|
||||||
Those arguments are implicit.
|
Those arguments are implicit.
|
||||||
As a convenience, ScriptFu and GIMP registers those arguments in the PDB for you.
|
As a convenience, ScriptFu registers those arguments in the PDB for you.
|
||||||
|
|
||||||
The run func that you define in your script
|
The run func that you define in your script
|
||||||
must have those formal arguments. For example:
|
must have those formal arguments. For example:
|
||||||
|
@ -518,21 +522,23 @@ ScriptFu passes a Scheme vector of drawables, not just one,
|
||||||
to a script
|
to a script
|
||||||
registering with script-fu-register-filter.
|
registering with script-fu-register-filter.
|
||||||
|
|
||||||
GMIP enables the menu item of your script
|
GIMP enables the menu item of your script
|
||||||
when the user has selected an image of the declared image type
|
when the user has selected an image of the declared image mode, e.g. *Grayscale*,
|
||||||
(aka mode e.g. Grayscale)
|
|
||||||
and has selected as many drawables
|
and has selected as many drawables
|
||||||
|
(layers/masks/channels)
|
||||||
as you have declared for multi-layer capability.
|
as you have declared for multi-layer capability.
|
||||||
|
|
||||||
#### Multi-layer capabilily
|
#### Declaring multi-layer capabilily
|
||||||
|
|
||||||
script-fu-register-filter has an argument "multilayer-capability".
|
*Script-fu-register-filter* has an argument "multilayer-capability".
|
||||||
Some documents may refer to the argument as "drawable arity."
|
(Some documents may refer to the argument as "drawable arity.")
|
||||||
The argument follows the "image types" argument
|
The argument declares the capability of the plugin
|
||||||
and precedes the argument triples that declare formally the "other" arguments
|
for processing multiple drawables (usually layers.)
|
||||||
of your plugin.
|
The argument follows the "image types" argument,
|
||||||
|
which declares the capability of the plugin to process
|
||||||
|
various image modes.
|
||||||
|
|
||||||
Here is an abbreviated example:
|
Here is an example:
|
||||||
|
|
||||||
(script-fu-register-filter "script-fu-test-sphere-v3"
|
(script-fu-register-filter "script-fu-test-sphere-v3"
|
||||||
"Sphere v3..."
|
"Sphere v3..."
|
||||||
|
@ -540,41 +546,41 @@ Here is an abbreviated example:
|
||||||
"authors"
|
"authors"
|
||||||
"copyright holders"
|
"copyright holders"
|
||||||
"copyright dates"
|
"copyright dates"
|
||||||
"*" ; image types: any
|
"*" ; image modes: any
|
||||||
SF-TWO-OR-MORE-DRAWABLE ; multi-layer capability argument
|
SF-TWO-OR-MORE-DRAWABLE ; multi-layer capability argument
|
||||||
SF-ADJUSTMENT "Radius (in pixels)" (list 100 1 5000 1 10 0 SF-SPINNER)
|
SF-ADJUSTMENT "Radius" (list 100 1 5000 1 10 0 SF-SPINNER)
|
||||||
)
|
)
|
||||||
|
|
||||||
The "multilayer-capability" argument can have the following values:
|
The "multilayer-capability" argument can have the following values:
|
||||||
|
|
||||||
SF_ONE_DRAWABLE expects exactly one drawable
|
SF-ONE-DRAWABLE expects exactly one drawable
|
||||||
SF_ONE_OR_MORE_DRAWABLE expects and will process one or more drawables
|
SF-ONE-OR-MORE-DRAWABLE expects and will process one or more drawables
|
||||||
SF_TWO_OR_MORE_DRAWABLE expects and will process two or more drawables
|
SF-TWO-OR-MORE-DRAWABLE expects and will process two or more drawables
|
||||||
|
|
||||||
This is only a declaration; whether your run func does what it promises is another matter.
|
This is only a declaration; whether your defined run func does what it promises is another matter.
|
||||||
|
|
||||||
A script declaring SF_ONE_DRAWABLE still receives a vector of drawables,
|
A script declaring SF-ONE-DRAWABLE still receives a vector of drawables,
|
||||||
but the vector should be of length one.
|
but the vector should be of length one.
|
||||||
|
|
||||||
These do not specify how the script will process the drawables.
|
These do not specify how the script will process the drawables.
|
||||||
Typically, SF_ONE_OR_MORE_DRAWABLE means a script will filter
|
Typically, SF-ONE-OR-MORE-DRAWABLE means a script will filter
|
||||||
the given drawables independently and sequentially.
|
the given drawables independently and sequentially.
|
||||||
Typically, SF_TWO_OR_MORE_DRAWABLE means a script will
|
Typically, SF-TWO-OR-MORE-DRAWABLE means a script will
|
||||||
combine the given drawables, say into another drawable by a binary operation.
|
combine the given drawables, say into another drawable by a binary operation.
|
||||||
|
|
||||||
The "multilayer-capability" argument tells GIMP to enable the script's menu item
|
The "multilayer-capability" argument tells GIMP to enable the script's menu item
|
||||||
when a user has selected the appropriate count of drawables.
|
when a user has selected the appropriate count of drawables.
|
||||||
|
|
||||||
|
#### A well-written script should check how many drawables were passed
|
||||||
|
|
||||||
#### A script should check how many drawables were passed
|
A well-written script should throw an error when it is not passed
|
||||||
|
the declared number of drawables, either more or fewer than declared.
|
||||||
A well-written script should throw an error if a caller does not pass the expected number of drawables, either more or fewer than declared. See below.
|
|
||||||
|
|
||||||
Starting with GIMP 3,
|
Starting with GIMP 3,
|
||||||
a plugin that takes an image takes a container of possibly many drawables.
|
a plugin that takes an image takes a container of possibly many drawables.
|
||||||
This is the so-called "multi-layer selection" feature.
|
This is the so-called "multi-layer selection" feature.
|
||||||
Existing plugins that don't are deprecated,
|
Existing plugins that don't are deprecated,
|
||||||
and may become obsoleted in a future version of GIMP.
|
and may become obsolete in a future version of GIMP.
|
||||||
|
|
||||||
Plugins should declare how many drawables they can process,
|
Plugins should declare how many drawables they can process,
|
||||||
also called the "multi-layer capability" or "drawable arity" of the algorithm.
|
also called the "multi-layer capability" or "drawable arity" of the algorithm.
|
||||||
|
@ -584,7 +590,7 @@ only describes how many drawables the algorithm is able to process.
|
||||||
The declared drawable arity does not denote the signature of the PDB procedure.
|
The declared drawable arity does not denote the signature of the PDB procedure.
|
||||||
Well-written image procedures always receive a container of drawables.
|
Well-written image procedures always receive a container of drawables.
|
||||||
|
|
||||||
For calls invoked by a user, the drawable arity describes
|
For plugins invoked by a user interactively, the drawable arity describes
|
||||||
how many drawables the user is expected to select.
|
how many drawables the user is expected to select.
|
||||||
GIMP disables/enables the menu item for a plugin procedure
|
GIMP disables/enables the menu item for a plugin procedure
|
||||||
according to its declared drawable arity.
|
according to its declared drawable arity.
|
||||||
|
@ -594,11 +600,8 @@ a count of drawables that the plugin can't handle.
|
||||||
*But PDB procedures are also called from other PDB procedures.*
|
*But PDB procedures are also called from other PDB procedures.*
|
||||||
A call from another procedure may in fact
|
A call from another procedure may in fact
|
||||||
pass more drawables than declared for drawable arity.
|
pass more drawables than declared for drawable arity.
|
||||||
That is a programming error on behalf of the caller.
|
That is a programming error in the calling procedure.
|
||||||
|
|
||||||
A well-written callee plugin that is passed more drawables than declared
|
A well-written called plugin that is passed more drawables than declared
|
||||||
should return an error instead of processing any of the drawables.
|
should return an error instead of processing any of the drawables.
|
||||||
Similarly for fewer than declared.
|
Similarly for fewer than declared.
|
||||||
|
|
||||||
A ScriptFu plugin can use script-fu-script-abort to declare an error
|
|
||||||
when passed an improper count of drawables.
|
|
|
@ -77,7 +77,7 @@ static pointer script_fu_register_call (scheme *sc,
|
||||||
pointer a);
|
pointer a);
|
||||||
static pointer script_fu_register_call_filter (scheme *sc,
|
static pointer script_fu_register_call_filter (scheme *sc,
|
||||||
pointer a);
|
pointer a);
|
||||||
static pointer script_fu_register_call_regular (scheme *sc,
|
static pointer script_fu_register_call_procedure (scheme *sc,
|
||||||
pointer a);
|
pointer a);
|
||||||
static pointer script_fu_menu_register_call (scheme *sc,
|
static pointer script_fu_menu_register_call (scheme *sc,
|
||||||
pointer a);
|
pointer a);
|
||||||
|
@ -573,14 +573,14 @@ ts_define_procedure (sc, "load-extension", scm_load_ext);
|
||||||
{
|
{
|
||||||
ts_define_procedure (sc, "script-fu-register", script_fu_register_call);
|
ts_define_procedure (sc, "script-fu-register", script_fu_register_call);
|
||||||
ts_define_procedure (sc, "script-fu-register-filter", script_fu_register_call_filter);
|
ts_define_procedure (sc, "script-fu-register-filter", script_fu_register_call_filter);
|
||||||
ts_define_procedure (sc, "script-fu-register-regular", script_fu_register_call_regular);
|
ts_define_procedure (sc, "script-fu-register-procedure", script_fu_register_call_procedure);
|
||||||
ts_define_procedure (sc, "script-fu-menu-register", script_fu_menu_register_call);
|
ts_define_procedure (sc, "script-fu-menu-register", script_fu_menu_register_call);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ts_define_procedure (sc, "script-fu-register", script_fu_nil_call);
|
ts_define_procedure (sc, "script-fu-register", script_fu_nil_call);
|
||||||
ts_define_procedure (sc, "script-fu-register-filter", script_fu_nil_call);
|
ts_define_procedure (sc, "script-fu-register-filter", script_fu_nil_call);
|
||||||
ts_define_procedure (sc, "script-fu-register-regular", script_fu_nil_call);
|
ts_define_procedure (sc, "script-fu-register-procedure", script_fu_nil_call);
|
||||||
ts_define_procedure (sc, "script-fu-menu-register", script_fu_nil_call);
|
ts_define_procedure (sc, "script-fu-menu-register", script_fu_nil_call);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1489,9 +1489,10 @@ script_fu_register_call_filter (scheme *sc,
|
||||||
}
|
}
|
||||||
|
|
||||||
static pointer
|
static pointer
|
||||||
script_fu_register_call_regular (scheme *sc,
|
script_fu_register_call_procedure (scheme *sc,
|
||||||
pointer a)
|
pointer a)
|
||||||
{
|
{
|
||||||
|
/* Internally "regular" means general "procedure" */
|
||||||
return script_fu_add_script_regular (sc, a);
|
return script_fu_add_script_regular (sc, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,7 +127,7 @@ script_fu_script_new_from_metadata_args (scheme *sc,
|
||||||
*
|
*
|
||||||
* Returns new SFScript.
|
* Returns new SFScript.
|
||||||
*
|
*
|
||||||
* For a script declaring using script-fu-register-regular,
|
* For a script declaring using script-fu-register-procedure,
|
||||||
* declared without image_type or drawable_arity.
|
* declared without image_type or drawable_arity.
|
||||||
*/
|
*/
|
||||||
SFScript*
|
SFScript*
|
||||||
|
@ -162,7 +162,7 @@ script_fu_script_new_from_metadata_regular (scheme *sc,
|
||||||
author = sc->vptr->string_value (sc->vptr->pair_car (a));
|
author = sc->vptr->string_value (sc->vptr->pair_car (a));
|
||||||
a = sc->vptr->pair_cdr (a);
|
a = sc->vptr->pair_cdr (a);
|
||||||
/* Copyright is same as author.
|
/* Copyright is same as author.
|
||||||
* script-fu-register-regular does not require declaring copyright owner
|
* script-fu-register-procedure does not require declaring copyright owner
|
||||||
* separately from the author.
|
* separately from the author.
|
||||||
*/
|
*/
|
||||||
copyright = author;
|
copyright = author;
|
||||||
|
|
|
@ -251,7 +251,7 @@ script_fu_add_script_filter (scheme *sc,
|
||||||
return sc->NIL;
|
return sc->NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For a script's call to script-fu-register-regular.
|
/* For a script's call to script-fu-register-procedure.
|
||||||
* Traverse Scheme argument list creating a new SFScript
|
* Traverse Scheme argument list creating a new SFScript
|
||||||
* whose drawable_arity is SF_NO_DRAWABLE
|
* whose drawable_arity is SF_NO_DRAWABLE
|
||||||
*
|
*
|
||||||
|
|
|
@ -163,7 +163,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-font-map"
|
(script-fu-register-procedure "script-fu-font-map"
|
||||||
_"Render _Font Map..."
|
_"Render _Font Map..."
|
||||||
_"Create an image filled with previews of fonts matching a fontname filter"
|
_"Create an image filled with previews of fonts matching a fontname filter"
|
||||||
"Spencer Kimball"
|
"Spencer Kimball"
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
|
|
||||||
|
|
||||||
; shortcuts to help topics
|
; shortcuts to help topics
|
||||||
(script-fu-register-regular "gimp-help-concepts-paths"
|
(script-fu-register-procedure "gimp-help-concepts-paths"
|
||||||
_"_Using Paths"
|
_"_Using Paths"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-web"
|
(script-fu-register-procedure "gimp-help-using-web"
|
||||||
_"_Preparing your Images for the Web"
|
_"_Preparing your Images for the Web"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-photography"
|
(script-fu-register-procedure "gimp-help-using-photography"
|
||||||
_"_Working with Digital Camera Photos"
|
_"_Working with Digital Camera Photos"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-fileformats"
|
(script-fu-register-procedure "gimp-help-using-fileformats"
|
||||||
_"Create, Open and Save _Files"
|
_"Create, Open and Save _Files"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -103,7 +103,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-concepts-usage"
|
(script-fu-register-procedure "gimp-help-concepts-usage"
|
||||||
_"_Basic Concepts"
|
_"_Basic Concepts"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-docks"
|
(script-fu-register-procedure "gimp-help-using-docks"
|
||||||
_"How to Use _Dialogs"
|
_"How to Use _Dialogs"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-simpleobjects"
|
(script-fu-register-procedure "gimp-help-using-simpleobjects"
|
||||||
_"Drawing _Simple Objects"
|
_"Drawing _Simple Objects"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -136,7 +136,7 @@
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-using-selections"
|
(script-fu-register-procedure "gimp-help-using-selections"
|
||||||
_"_Create and Use Selections"
|
_"_Create and Use Selections"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
(script-fu-menu-register "gimp-help-using-selections"
|
(script-fu-menu-register "gimp-help-using-selections"
|
||||||
"<Image>/Help/User Manual")
|
"<Image>/Help/User Manual")
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-help-main"
|
(script-fu-register-procedure "gimp-help-main"
|
||||||
_"_Table of Contents"
|
_"_Table of Contents"
|
||||||
_"Bookmark to the user manual"
|
_"Bookmark to the user manual"
|
||||||
"Alx Sa"
|
"Alx Sa"
|
||||||
|
@ -180,7 +180,7 @@
|
||||||
; )
|
; )
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-online-main-web-site"
|
(script-fu-register-procedure "gimp-online-main-web-site"
|
||||||
_"_Main Web Site"
|
_"_Main Web Site"
|
||||||
_"Bookmark to the GIMP web site"
|
_"Bookmark to the GIMP web site"
|
||||||
"Henrik Brix Andersen <brix@gimp.org>"
|
"Henrik Brix Andersen <brix@gimp.org>"
|
||||||
|
@ -191,7 +191,7 @@
|
||||||
"<Image>/Help/GIMP Online")
|
"<Image>/Help/GIMP Online")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-online-developer-web-site"
|
(script-fu-register-procedure "gimp-online-developer-web-site"
|
||||||
_"_Developer Web Site"
|
_"_Developer Web Site"
|
||||||
_"Bookmark to the GIMP web site"
|
_"Bookmark to the GIMP web site"
|
||||||
"Henrik Brix Andersen <brix@gimp.org>"
|
"Henrik Brix Andersen <brix@gimp.org>"
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
"<Image>/Help/GIMP Online")
|
"<Image>/Help/GIMP Online")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-online-roadmap"
|
(script-fu-register-procedure "gimp-online-roadmap"
|
||||||
_"_Roadmaps"
|
_"_Roadmaps"
|
||||||
_"Bookmark to the roadmaps of GIMP"
|
_"Bookmark to the roadmaps of GIMP"
|
||||||
"Alexandre Prokoudine <alexandre.prokoudine@gmail.com>"
|
"Alexandre Prokoudine <alexandre.prokoudine@gmail.com>"
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
"<Image>/Help/GIMP Online")
|
"<Image>/Help/GIMP Online")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-online-bugs-features"
|
(script-fu-register-procedure "gimp-online-bugs-features"
|
||||||
_"_Bug Reports and Feature Requests"
|
_"_Bug Reports and Feature Requests"
|
||||||
_"Bookmark to the bug tracker of GIMP"
|
_"Bookmark to the bug tracker of GIMP"
|
||||||
"Alexandre Prokoudine <alexandre.prokoudine@gmail.com>"
|
"Alexandre Prokoudine <alexandre.prokoudine@gmail.com>"
|
||||||
|
@ -224,7 +224,7 @@
|
||||||
"<Image>/Help/GIMP Online")
|
"<Image>/Help/GIMP Online")
|
||||||
|
|
||||||
|
|
||||||
(script-fu-register-regular "gimp-online-docs-web-site"
|
(script-fu-register-procedure "gimp-online-docs-web-site"
|
||||||
_"_User Manual Web Site"
|
_"_User Manual Web Site"
|
||||||
_"Bookmark to the GIMP web site"
|
_"Bookmark to the GIMP web site"
|
||||||
"Roman Joost <romanofski@gimp.org>"
|
"Roman Joost <romanofski@gimp.org>"
|
||||||
|
@ -235,7 +235,7 @@
|
||||||
"<Image>/Help/GIMP Online")
|
"<Image>/Help/GIMP Online")
|
||||||
|
|
||||||
|
|
||||||
; (script-fu-register-regular "gimp-online-plug-in-web-site"
|
; (script-fu-register-procedure "gimp-online-plug-in-web-site"
|
||||||
; _"Plug-in _Registry"
|
; _"Plug-in _Registry"
|
||||||
; _"Bookmark to the GIMP web site"
|
; _"Bookmark to the GIMP web site"
|
||||||
; "Henrik Brix Andersen <brix@gimp.org>"
|
; "Henrik Brix Andersen <brix@gimp.org>"
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-gradient-example"
|
(script-fu-register-procedure "script-fu-gradient-example"
|
||||||
_"Custom _Gradient..."
|
_"Custom _Gradient..."
|
||||||
_"Create an image filled with an example of the current gradient"
|
_"Create an image filled with an example of the current gradient"
|
||||||
"Federico Mena Quintero"
|
"Federico Mena Quintero"
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-make-brush-rectangular"
|
(script-fu-register-procedure "script-fu-make-brush-rectangular"
|
||||||
_"_Rectangular..."
|
_"_Rectangular..."
|
||||||
_"Create a rectangular brush"
|
_"Create a rectangular brush"
|
||||||
"Seth Burgess <sjburges@ou.edu>"
|
"Seth Burgess <sjburges@ou.edu>"
|
||||||
|
@ -128,7 +128,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-make-brush-rectangular-feathered"
|
(script-fu-register-procedure "script-fu-make-brush-rectangular-feathered"
|
||||||
_"Re_ctangular, Feathered..."
|
_"Re_ctangular, Feathered..."
|
||||||
_"Create a rectangular brush with feathered edges"
|
_"Create a rectangular brush with feathered edges"
|
||||||
"Seth Burgess <sjburges@ou.edu>"
|
"Seth Burgess <sjburges@ou.edu>"
|
||||||
|
@ -182,7 +182,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-make-brush-elliptical"
|
(script-fu-register-procedure "script-fu-make-brush-elliptical"
|
||||||
_"_Elliptical..."
|
_"_Elliptical..."
|
||||||
_"Create an elliptical brush"
|
_"Create an elliptical brush"
|
||||||
"Seth Burgess <sjburges@ou.edu>"
|
"Seth Burgess <sjburges@ou.edu>"
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-make-brush-elliptical-feathered"
|
(script-fu-register-procedure "script-fu-make-brush-elliptical-feathered"
|
||||||
_"Elli_ptical, Feathered..."
|
_"Elli_ptical, Feathered..."
|
||||||
_"Create an elliptical brush with feathered edges"
|
_"Create an elliptical brush with feathered edges"
|
||||||
"Seth Burgess <sjburges@ou.edu>"
|
"Seth Burgess <sjburges@ou.edu>"
|
||||||
|
|
|
@ -279,7 +279,7 @@
|
||||||
|
|
||||||
(define (register-palette-exporter
|
(define (register-palette-exporter
|
||||||
export-type export-name file-type description author copyright date)
|
export-type export-name file-type description author copyright date)
|
||||||
(script-fu-register-regular (string-append "gimp-palette-export-" export-type)
|
(script-fu-register-procedure (string-append "gimp-palette-export-" export-type)
|
||||||
export-name
|
export-name
|
||||||
description
|
description
|
||||||
author
|
author
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-paste-as-brush"
|
(script-fu-register-procedure "script-fu-paste-as-brush"
|
||||||
_"Paste as New _Brush..."
|
_"Paste as New _Brush..."
|
||||||
_"Paste the clipboard contents into a new brush"
|
_"Paste the clipboard contents into a new brush"
|
||||||
"Michael Natterer <mitch@gimp.org>"
|
"Michael Natterer <mitch@gimp.org>"
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-paste-as-pattern"
|
(script-fu-register-procedure "script-fu-paste-as-pattern"
|
||||||
_"Paste as New _Pattern..."
|
_"Paste as New _Pattern..."
|
||||||
_"Paste the clipboard contents into a new pattern"
|
_"Paste the clipboard contents into a new pattern"
|
||||||
"Michael Natterer <mitch@gimp.org>"
|
"Michael Natterer <mitch@gimp.org>"
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(script-fu-register-regular "script-fu-helloworld"
|
(script-fu-register-procedure "script-fu-helloworld"
|
||||||
"_Hello World..."
|
"_Hello World..."
|
||||||
"Creates an image of a text string."
|
"Creates an image of a text string."
|
||||||
"Kevin Cozens <kcozens@interlog.com>"
|
"Kevin Cozens <kcozens@interlog.com>"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue