![]() |
![]() |
![]() |
Gnome Scan Reference Manual | ![]() |
---|---|---|---|---|
#include <gnome-scan.h> GnomeScanPlugin; void gnome_scan_plugin_params_add (GnomeScanPlugin *plugin, GParamSpec *param); void gnome_scan_plugin_params_remove (GnomeScanPlugin *plugin, GParamSpec *param); void gnome_scan_plugin_params_clear (GnomeScanPlugin *plugin); void gnome_scan_plugin_params_changed (GnomeScanPlugin *plugin, GParamSpec *spec); void gnome_scan_plugin_configure (GnomeScanPlugin *plugin, GnomeScanSettings *settings); void gnome_scan_plugin_configure_frame (GnomeScanPlugin *plugin); gboolean gnome_scan_plugin_start_frame (GnomeScanPlugin *plugin); gboolean gnome_scan_plugin_work (GnomeScanPlugin *plugin, gdouble *progress); void gnome_scan_plugin_end_frame (GnomeScanPlugin *plugin); void gnome_scan_plugin_end_scan (GnomeScanPlugin *plugin); GList* gnome_scan_plugin_get_child_nodes (GnomeScanPlugin *plugin, GeglNode *root);
GObject +----GnomeScanPlugin +----GnomeScanner +----GnomeScanSink +----GnomeScanProcessorCommon
"blurb" gchararray : Read / Write / Construct Only "name" gchararray : Read / Write / Construct Only "params" gpointer : Read
A GnomeScanPlugin extends the processing pipeline. Only processing
plugin derive directly GnomeScanPlugin. Source and Sink must
derive from GnomeScanner and GnomeScanSink. Basically, a plugin
handle common properties such as name
, blurb
and params
. Each
plugins as a per instance list of params. Those params are exposed
to the UI and save in GnomeScanSettings.
typedef struct { GParamSpecPool *params; } GnomeScanPlugin;
GnomeScanPlugin is the base class for GnomeScanner and
GnomeScanSink. The buffer
property is considered as the output of
a GnomeScanner, and the input of a GnomeScanSink.
GParamSpecPool *params ; |
the pool of params |
void gnome_scan_plugin_params_add (GnomeScanPlugin *plugin, GParamSpec *param);
See: gnome
-scan-param-specs
plugin : |
a GnomeScanPlugin |
param : |
a GSParamSpec |
void gnome_scan_plugin_params_remove (GnomeScanPlugin *plugin, GParamSpec *param);
Remove a param spec from the param list.
plugin : |
a GnomeScanPlugin |
param : |
a GSParamSpec |
void gnome_scan_plugin_params_clear (GnomeScanPlugin *plugin);
Remove all instance parameters from a plugin.
plugin : |
a GnomeScanPlugin |
void gnome_scan_plugin_params_changed (GnomeScanPlugin *plugin, GParamSpec *spec);
Emit GnomeScanPlugin::changed for spec
param. For use in derived
class.
plugin : |
a GnomeScanPlugin |
spec : |
a GParamSpec from plugin
|
void gnome_scan_plugin_configure (GnomeScanPlugin *plugin, GnomeScanSettings *settings);
Note: Implemented by derived class, called by GnomeScanJob.
Search in settings
value for its instance parameters.
plugin : |
a GnomeScanPlugin |
settings : |
a GnomeScanPlugin |
void gnome_scan_plugin_configure_frame (GnomeScanPlugin *plugin);
Note: Implemented by derived class, called by GnomeScanJob.
This is used especially for per frame GEGL pipeline configuration.
plugin : |
a GnomeScanPlugin |
gboolean gnome_scan_plugin_start_frame (GnomeScanPlugin *plugin);
Note: Implemented by derived class, called by GnomeScanJob.
plugin : |
a GnomeScanPlugin |
Returns : | wether the frame is to be processed or aborted. |
gboolean gnome_scan_plugin_work (GnomeScanPlugin *plugin, gdouble *progress);
Note: Implemented by derived class, called by GnomeScanJob.
Do an iteration of plugin work. Store the amount of work done in progress as a fraction, from 0 to 1. progress set to 1 means work completed.
plugin : |
a GnomeScanPlugin |
progress : |
a pointer to a place where to store progress |
Returns : | Wether more work iteration needs to be done. |
void gnome_scan_plugin_end_frame (GnomeScanPlugin *plugin);
Note: Implemented by derived class, called by GnomeScanJob.
plugin : |
a GnomeScanPlugin |
void gnome_scan_plugin_end_scan (GnomeScanPlugin *plugin);
Note: Implemented by derived class, called by GnomeScanJob.
plugin : |
a GnomeScanPlugin |
GList* gnome_scan_plugin_get_child_nodes (GnomeScanPlugin *plugin, GeglNode *root);
Note: Implemented by derived class, called by GnomeScanJob.
Return the list of GeglNode to append to the pipeline. GnomeScanJob link "input" and "output" pads of sibling nodes, not auxiliary pad.
plugin : |
a GnomeScanPlugin: |
root : |
a root GeglNode |
Returns : | a GList of GeglNode |
blurb
" property"blurb" gchararray : Read / Write / Construct Only
The plugin public blurb.
Default value: NULL
name
" property"name" gchararray : Read / Write / Construct Only
The plugin public name.
Default value: NULL
void user_function (GnomeScanPlugin *plugin, gpointer spec, gpointer user_data) : Run First
Triggered when one param of plugin has been added, changed, removed. Needs to be renamed to param-changed.
plugin : |
the emitting GnomeScanPlugin |
spec : |
the spec of the changed parameter |
user_data : |
user data set when the signal handler was connected. |