~ubuntu-branches/ubuntu/maverick/gimp/maverick-updates

« back to all changes in this revision

Viewing changes to devel-docs/libgimp/xml/gimp.xml

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2005-12-09 19:44:52 UTC
  • Revision ID: james.westby@ubuntu.com-20051209194452-yggpemjlofpjqyf4
Tags: upstream-2.2.9
ImportĀ upstreamĀ versionĀ 2.2.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" ?>
 
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
 
3
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
 
4
 
 
5
<refentry id="libgimp-gimp">
 
6
<refmeta>
 
7
<refentrytitle>gimp</refentrytitle>
 
8
<manvolnum>3</manvolnum>
 
9
<refmiscinfo>LIBGIMP Library</refmiscinfo>
 
10
</refmeta>
 
11
 
 
12
<refnamediv>
 
13
<refname>gimp</refname><refpurpose>Main functions needed for building a GIMP plug-in. This header includes
 
14
all other GIMP Library headers.</refpurpose>
 
15
</refnamediv>
 
16
 
 
17
<refsynopsisdiv><title>Synopsis</title>
 
18
 
 
19
<synopsis>
 
20
 
 
21
 
 
22
 
 
23
#define     <link linkend="GIMPVAR:CAPS">GIMPVAR</link>
 
24
<link linkend="gchar">gchar</link>*      <link linkend="gimp-version">gimp_version</link>                    (void);
 
25
extern      const guint <link linkend="gimp-major-version">gimp_major_version</link>;
 
26
extern      const guint <link linkend="gimp-minor-version">gimp_minor_version</link>;
 
27
extern      const guint <link linkend="gimp-micro-version">gimp_micro_version</link>;
 
28
#define     <link linkend="gimp-get-data">gimp_get_data</link>
 
29
#define     <link linkend="gimp-get-data-size">gimp_get_data_size</link>
 
30
#define     <link linkend="gimp-set-data">gimp_set_data</link>
 
31
<link linkend="void">void</link>        (<link linkend="GimpInitProc">*GimpInitProc</link>)                 (void);
 
32
<link linkend="void">void</link>        (<link linkend="GimpQuitProc">*GimpQuitProc</link>)                 (void);
 
33
<link linkend="void">void</link>        (<link linkend="GimpQueryProc">*GimpQueryProc</link>)                (void);
 
34
<link linkend="void">void</link>        (<link linkend="GimpRunProc">*GimpRunProc</link>)                  (const <link linkend="gchar">gchar</link> *name,
 
35
                                             <link linkend="gint">gint</link> n_params,
 
36
                                             const <link linkend="GimpParam">GimpParam</link> *param,
 
37
                                             <link linkend="gint">gint</link> *n_return_vals,
 
38
                                             <link linkend="GimpParam">GimpParam</link> **return_vals);
 
39
            <link linkend="GimpPlugInInfo">GimpPlugInInfo</link>;
 
40
            <link linkend="GimpParamDef">GimpParamDef</link>;
 
41
            <link linkend="GimpParamRegion">GimpParamRegion</link>;
 
42
union       <link linkend="GimpParamData">GimpParamData</link>;
 
43
            <link linkend="GimpParam">GimpParam</link>;
 
44
#define     <link linkend="MAIN:CAPS">MAIN</link>                            ()
 
45
<link linkend="gint">gint</link>        <link linkend="gimp-main">gimp_main</link>                       (const <link linkend="GimpPlugInInfo">GimpPlugInInfo</link> *info,
 
46
                                             <link linkend="gint">gint</link> argc,
 
47
                                             <link linkend="gchar">gchar</link> *argv[]);
 
48
<link linkend="void">void</link>        <link linkend="gimp-quit">gimp_quit</link>                       (void);
 
49
<link linkend="void">void</link>        <link linkend="gimp-install-procedure">gimp_install_procedure</link>          (const <link linkend="gchar">gchar</link> *name,
 
50
                                             const <link linkend="gchar">gchar</link> *blurb,
 
51
                                             const <link linkend="gchar">gchar</link> *help,
 
52
                                             const <link linkend="gchar">gchar</link> *author,
 
53
                                             const <link linkend="gchar">gchar</link> *copyright,
 
54
                                             const <link linkend="gchar">gchar</link> *date,
 
55
                                             const <link linkend="gchar">gchar</link> *menu_label,
 
56
                                             const <link linkend="gchar">gchar</link> *image_types,
 
57
                                             <link linkend="GimpPDBProcType">GimpPDBProcType</link> type,
 
58
                                             <link linkend="gint">gint</link> n_params,
 
59
                                             <link linkend="gint">gint</link> n_return_vals,
 
60
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *params,
 
61
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *return_vals);
 
62
<link linkend="void">void</link>        <link linkend="gimp-install-temp-proc">gimp_install_temp_proc</link>          (const <link linkend="gchar">gchar</link> *name,
 
63
                                             const <link linkend="gchar">gchar</link> *blurb,
 
64
                                             const <link linkend="gchar">gchar</link> *help,
 
65
                                             const <link linkend="gchar">gchar</link> *author,
 
66
                                             const <link linkend="gchar">gchar</link> *copyright,
 
67
                                             const <link linkend="gchar">gchar</link> *date,
 
68
                                             const <link linkend="gchar">gchar</link> *menu_label,
 
69
                                             const <link linkend="gchar">gchar</link> *image_types,
 
70
                                             <link linkend="GimpPDBProcType">GimpPDBProcType</link> type,
 
71
                                             <link linkend="gint">gint</link> n_params,
 
72
                                             <link linkend="gint">gint</link> n_return_vals,
 
73
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *params,
 
74
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *return_vals,
 
75
                                             <link linkend="GimpRunProc">GimpRunProc</link> run_proc);
 
76
<link linkend="void">void</link>        <link linkend="gimp-uninstall-temp-proc">gimp_uninstall_temp_proc</link>        (const <link linkend="gchar">gchar</link> *name);
 
77
<link linkend="GimpParam">GimpParam</link>*  <link linkend="gimp-run-procedure">gimp_run_procedure</link>              (const <link linkend="gchar">gchar</link> *name,
 
78
                                             <link linkend="gint">gint</link> *n_return_vals,
 
79
                                             ...);
 
80
<link linkend="GimpParam">GimpParam</link>*  <link linkend="gimp-run-procedure2">gimp_run_procedure2</link>             (const <link linkend="gchar">gchar</link> *name,
 
81
                                             <link linkend="gint">gint</link> *n_return_vals,
 
82
                                             <link linkend="gint">gint</link> n_params,
 
83
                                             const <link linkend="GimpParam">GimpParam</link> *params);
 
84
<link linkend="void">void</link>        <link linkend="gimp-destroy-params">gimp_destroy_params</link>             (<link linkend="GimpParam">GimpParam</link> *params,
 
85
                                             <link linkend="gint">gint</link> n_params);
 
86
<link linkend="void">void</link>        <link linkend="gimp-destroy-paramdefs">gimp_destroy_paramdefs</link>          (<link linkend="GimpParamDef">GimpParamDef</link> *paramdefs,
 
87
                                             <link linkend="gint">gint</link> n_params);
 
88
<link linkend="guint">guint</link>       <link linkend="gimp-tile-width">gimp_tile_width</link>                 (void);
 
89
<link linkend="guint">guint</link>       <link linkend="gimp-tile-height">gimp_tile_height</link>                (void);
 
90
<link linkend="gint">gint</link>        <link linkend="gimp-shm-ID">gimp_shm_ID</link>                     (void);
 
91
<link linkend="guchar">guchar</link>*     <link linkend="gimp-shm-addr">gimp_shm_addr</link>                   (void);
 
92
<link linkend="gdouble">gdouble</link>     <link linkend="gimp-gamma">gimp_gamma</link>                      (void);
 
93
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-install-cmap">gimp_install_cmap</link>               (void);
 
94
<link linkend="gint">gint</link>        <link linkend="gimp-min-colors">gimp_min_colors</link>                 (void);
 
95
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-show-tool-tips">gimp_show_tool_tips</link>             (void);
 
96
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-show-help-button">gimp_show_help_button</link>           (void);
 
97
<link linkend="GimpCheckSize">GimpCheckSize</link> <link linkend="gimp-check-size">gimp_check_size</link>               (void);
 
98
<link linkend="GimpCheckType">GimpCheckType</link> <link linkend="gimp-check-type">gimp_check_type</link>               (void);
 
99
<link linkend="gint32">gint32</link>      <link linkend="gimp-default-display">gimp_default_display</link>            (void);
 
100
const <link linkend="gchar">gchar</link>* <link linkend="gimp-wm-class">gimp_wm_class</link>                  (void);
 
101
const <link linkend="gchar">gchar</link>* <link linkend="gimp-display-name">gimp_display_name</link>              (void);
 
102
<link linkend="gint">gint</link>        <link linkend="gimp-monitor-number">gimp_monitor_number</link>             (void);
 
103
const <link linkend="gchar">gchar</link>* <link linkend="gimp-get-progname">gimp_get_progname</link>              (void);
 
104
<link linkend="void">void</link>        <link linkend="gimp-extension-enable">gimp_extension_enable</link>           (void);
 
105
<link linkend="void">void</link>        <link linkend="gimp-extension-ack">gimp_extension_ack</link>              (void);
 
106
<link linkend="void">void</link>        <link linkend="gimp-extension-process">gimp_extension_process</link>          (<link linkend="guint">guint</link> timeout);
 
107
<link linkend="GimpParasite">GimpParasite</link>* <link linkend="gimp-parasite-find">gimp_parasite_find</link>            (const <link linkend="gchar">gchar</link> *name);
 
108
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-parasite-list">gimp_parasite_list</link>              (<link linkend="gint">gint</link> *num_parasites,
 
109
                                             <link linkend="gchar">gchar</link> ***parasites);
 
110
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-parasite-attach">gimp_parasite_attach</link>            (<link linkend="GimpParasite">GimpParasite</link> *parasite);
 
111
<link linkend="gboolean">gboolean</link>    <link linkend="gimp-parasite-detach">gimp_parasite_detach</link>            (const <link linkend="gchar">gchar</link> *name);
 
112
<link linkend="void">void</link>        <link linkend="gimp-attach-new-parasite">gimp_attach_new_parasite</link>        (const <link linkend="gchar">gchar</link> *name,
 
113
                                             <link linkend="gint">gint</link> flags,
 
114
                                             <link linkend="gint">gint</link> size,
 
115
                                             <link linkend="gconstpointer">gconstpointer</link> data);
 
116
</synopsis>
 
117
</refsynopsisdiv>
 
118
 
 
119
 
 
120
 
 
121
 
 
122
 
 
123
 
 
124
 
 
125
 
 
126
 
 
127
<refsect1>
 
128
<title>Description</title>
 
129
<para>
 
130
Main functions needed for building a GIMP plug-in. This header includes
 
131
all other GIMP Library headers.
 
132
 
 
133
</para>
 
134
</refsect1>
 
135
 
 
136
<refsect1>
 
137
<title>Details</title>
 
138
<refsect2>
 
139
<title><anchor id="GIMPVAR:CAPS"/>GIMPVAR</title>
 
140
<indexterm><primary>GIMPVAR</primary></indexterm><programlisting>#define     GIMPVAR</programlisting>
 
141
<para>
 
142
 
 
143
</para></refsect2>
 
144
<refsect2>
 
145
<title><anchor id="gimp-version"/>gimp_version ()</title>
 
146
<indexterm><primary>gimp_version</primary></indexterm><programlisting><link linkend="gchar">gchar</link>*      gimp_version                    (void);</programlisting>
 
147
<para>
 
148
Returns the host gimp version.
 
149
</para>
 
150
<para>
 
151
This procedure returns the version number of the currently running
 
152
gimp.</para>
 
153
<para>
 
154
 
 
155
</para><variablelist role="params">
 
156
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The gimp version.
 
157
</simpara></listitem></varlistentry>
 
158
</variablelist></refsect2>
 
159
<refsect2>
 
160
<title><anchor id="gimp-major-version"/>gimp_major_version</title>
 
161
<indexterm><primary>gimp_major_version</primary></indexterm><programlisting>extern const guint gimp_major_version;
 
162
</programlisting>
 
163
<para>
 
164
 
 
165
</para></refsect2>
 
166
<refsect2>
 
167
<title><anchor id="gimp-minor-version"/>gimp_minor_version</title>
 
168
<indexterm><primary>gimp_minor_version</primary></indexterm><programlisting>extern const guint gimp_minor_version;
 
169
</programlisting>
 
170
<para>
 
171
 
 
172
</para></refsect2>
 
173
<refsect2>
 
174
<title><anchor id="gimp-micro-version"/>gimp_micro_version</title>
 
175
<indexterm><primary>gimp_micro_version</primary></indexterm><programlisting>extern const guint gimp_micro_version;
 
176
</programlisting>
 
177
<para>
 
178
 
 
179
</para></refsect2>
 
180
<refsect2>
 
181
<title><anchor id="gimp-get-data"/>gimp_get_data</title>
 
182
<indexterm><primary>gimp_get_data</primary></indexterm><programlisting>#define gimp_get_data         gimp_procedural_db_get_data
 
183
</programlisting>
 
184
<para>
 
185
 
 
186
</para></refsect2>
 
187
<refsect2>
 
188
<title><anchor id="gimp-get-data-size"/>gimp_get_data_size</title>
 
189
<indexterm><primary>gimp_get_data_size</primary></indexterm><programlisting>#define gimp_get_data_size    gimp_procedural_db_get_data_size
 
190
</programlisting>
 
191
<para>
 
192
 
 
193
</para><variablelist role="params">
 
194
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
 
195
 
 
196
 
 
197
</simpara></listitem></varlistentry>
 
198
</variablelist></refsect2>
 
199
<refsect2>
 
200
<title><anchor id="gimp-set-data"/>gimp_set_data</title>
 
201
<indexterm><primary>gimp_set_data</primary></indexterm><programlisting>#define gimp_set_data         gimp_procedural_db_set_data
 
202
</programlisting>
 
203
<para>
 
204
 
 
205
</para></refsect2>
 
206
<refsect2>
 
207
<title><anchor id="GimpInitProc"/>GimpInitProc ()</title>
 
208
<indexterm><primary>GimpInitProc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GimpInitProc)                 (void);</programlisting>
 
209
<para>
 
210
 
 
211
</para></refsect2>
 
212
<refsect2>
 
213
<title><anchor id="GimpQuitProc"/>GimpQuitProc ()</title>
 
214
<indexterm><primary>GimpQuitProc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GimpQuitProc)                 (void);</programlisting>
 
215
<para>
 
216
 
 
217
</para></refsect2>
 
218
<refsect2>
 
219
<title><anchor id="GimpQueryProc"/>GimpQueryProc ()</title>
 
220
<indexterm><primary>GimpQueryProc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GimpQueryProc)                (void);</programlisting>
 
221
<para>
 
222
 
 
223
</para></refsect2>
 
224
<refsect2>
 
225
<title><anchor id="GimpRunProc"/>GimpRunProc ()</title>
 
226
<indexterm><primary>GimpRunProc</primary></indexterm><programlisting><link linkend="void">void</link>        (*GimpRunProc)                  (const <link linkend="gchar">gchar</link> *name,
 
227
                                             <link linkend="gint">gint</link> n_params,
 
228
                                             const <link linkend="GimpParam">GimpParam</link> *param,
 
229
                                             <link linkend="gint">gint</link> *n_return_vals,
 
230
                                             <link linkend="GimpParam">GimpParam</link> **return_vals);</programlisting>
 
231
<para>
 
232
 
 
233
</para><variablelist role="params">
 
234
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
235
<listitem><simpara>
 
236
</simpara></listitem></varlistentry>
 
237
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
238
<listitem><simpara>
 
239
</simpara></listitem></varlistentry>
 
240
<varlistentry><term><parameter>param</parameter>&nbsp;:</term>
 
241
<listitem><simpara>
 
242
</simpara></listitem></varlistentry>
 
243
<varlistentry><term><parameter>n_return_vals</parameter>&nbsp;:</term>
 
244
<listitem><simpara>
 
245
</simpara></listitem></varlistentry>
 
246
<varlistentry><term><parameter>return_vals</parameter>&nbsp;:</term>
 
247
<listitem><simpara>
 
248
 
 
249
 
 
250
</simpara></listitem></varlistentry>
 
251
</variablelist></refsect2>
 
252
<refsect2>
 
253
<title><anchor id="GimpPlugInInfo"/>GimpPlugInInfo</title>
 
254
<indexterm><primary>GimpPlugInInfo</primary></indexterm><programlisting>typedef struct {
 
255
  /* called when the gimp application initially starts up */
 
256
  GimpInitProc  init_proc;
 
257
 
 
258
  /* called when the gimp application exits */
 
259
  GimpQuitProc  quit_proc;
 
260
 
 
261
  /* called by the gimp so that the plug-in can inform the
 
262
   *  gimp of what it does. (ie. installing a procedure database
 
263
   *  procedure).
 
264
   */
 
265
  GimpQueryProc query_proc;
 
266
 
 
267
  /* called to run a procedure the plug-in installed in the
 
268
   *  procedure database.
 
269
   */
 
270
  GimpRunProc   run_proc;
 
271
} GimpPlugInInfo;
 
272
</programlisting>
 
273
<para>
 
274
 
 
275
</para></refsect2>
 
276
<refsect2>
 
277
<title><anchor id="GimpParamDef"/>GimpParamDef</title>
 
278
<indexterm><primary>GimpParamDef</primary></indexterm><programlisting>typedef struct {
 
279
  GimpPDBArgType  type;
 
280
  gchar          *name;
 
281
  gchar          *description;
 
282
} GimpParamDef;
 
283
</programlisting>
 
284
<para>
 
285
 
 
286
</para></refsect2>
 
287
<refsect2>
 
288
<title><anchor id="GimpParamRegion"/>GimpParamRegion</title>
 
289
<indexterm><primary>GimpParamRegion</primary></indexterm><programlisting>typedef struct {
 
290
  gint32 x;
 
291
  gint32 y;
 
292
  gint32 width;
 
293
  gint32 height;
 
294
} GimpParamRegion;
 
295
</programlisting>
 
296
<para>
 
297
 
 
298
</para></refsect2>
 
299
<refsect2>
 
300
<title><anchor id="GimpParamData"/>union GimpParamData</title>
 
301
<indexterm><primary>GimpParamData</primary></indexterm><programlisting>union GimpParamData
 
302
{
 
303
  gint32            d_int32;
 
304
  gint16            d_int16;
 
305
  gint8             d_int8;
 
306
  gdouble           d_float;
 
307
  gchar            *d_string;
 
308
  gint32           *d_int32array;
 
309
  gint16           *d_int16array;
 
310
  gint8            *d_int8array;
 
311
  gdouble          *d_floatarray;
 
312
  gchar           **d_stringarray;
 
313
  GimpRGB           d_color;
 
314
  GimpParamRegion   d_region;
 
315
  gint32            d_display;
 
316
  gint32            d_image;
 
317
  gint32            d_layer;
 
318
  gint32            d_layer_mask;
 
319
  gint32            d_channel;
 
320
  gint32            d_drawable;
 
321
  gint32            d_selection;
 
322
  gint32            d_boundary;
 
323
  gint32            d_path;
 
324
  gint32            d_unit;
 
325
  GimpParasite      d_parasite;
 
326
  gint32            d_tattoo;
 
327
  GimpPDBStatusType d_status;
 
328
};
 
329
</programlisting>
 
330
<para>
 
331
 
 
332
</para></refsect2>
 
333
<refsect2>
 
334
<title><anchor id="GimpParam"/>GimpParam</title>
 
335
<indexterm><primary>GimpParam</primary></indexterm><programlisting>typedef struct {
 
336
  GimpPDBArgType type;
 
337
  GimpParamData  data;
 
338
} GimpParam;
 
339
</programlisting>
 
340
<para>
 
341
 
 
342
</para></refsect2>
 
343
<refsect2>
 
344
<title><anchor id="MAIN:CAPS"/>MAIN()</title>
 
345
<indexterm><primary>MAIN</primary></indexterm><programlisting>#define     MAIN()</programlisting>
 
346
<para>
 
347
A macro that expands to the appropriate <link linkend="main"><function>main()</function></link> function for the
 
348
platform being compiled for.
 
349
</para>
 
350
<para>
 
351
To use this macro, simply place a line that contains just the code
 
352
<link linkend="MAIN:CAPS"><function>MAIN()</function></link> at the toplevel of your file.  No semicolon should be used.</para>
 
353
<para>
 
354
    
 
355
</para></refsect2>
 
356
<refsect2>
 
357
<title><anchor id="gimp-main"/>gimp_main ()</title>
 
358
<indexterm><primary>gimp_main</primary></indexterm><programlisting><link linkend="gint">gint</link>        gimp_main                       (const <link linkend="GimpPlugInInfo">GimpPlugInInfo</link> *info,
 
359
                                             <link linkend="gint">gint</link> argc,
 
360
                                             <link linkend="gchar">gchar</link> *argv[]);</programlisting>
 
361
<para>
 
362
The main procedure that must be called with the PLUG_IN_INFO structure
 
363
and the 'argc' and 'argv' that are passed to "main".</para>
 
364
<para>
 
365
 
 
366
</para><variablelist role="params">
 
367
<varlistentry><term><parameter>info</parameter>&nbsp;:</term>
 
368
<listitem><simpara> the PLUG_IN_INFO structure
 
369
</simpara></listitem></varlistentry>
 
370
<varlistentry><term><parameter>argc</parameter>&nbsp;:</term>
 
371
<listitem><simpara> the number of arguments
 
372
</simpara></listitem></varlistentry>
 
373
<varlistentry><term><parameter>argv</parameter>&nbsp;:</term>
 
374
<listitem><simpara> the arguments
 
375
</simpara></listitem></varlistentry>
 
376
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
 
377
</simpara></listitem></varlistentry>
 
378
</variablelist></refsect2>
 
379
<refsect2>
 
380
<title><anchor id="gimp-quit"/>gimp_quit ()</title>
 
381
<indexterm><primary>gimp_quit</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_quit                       (void);</programlisting>
 
382
<para>
 
383
Forcefully causes the gimp library to exit and close down its
 
384
connection to main gimp application. This function never returns.</para>
 
385
<para>
 
386
 
 
387
</para></refsect2>
 
388
<refsect2>
 
389
<title><anchor id="gimp-install-procedure"/>gimp_install_procedure ()</title>
 
390
<indexterm><primary>gimp_install_procedure</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_install_procedure          (const <link linkend="gchar">gchar</link> *name,
 
391
                                             const <link linkend="gchar">gchar</link> *blurb,
 
392
                                             const <link linkend="gchar">gchar</link> *help,
 
393
                                             const <link linkend="gchar">gchar</link> *author,
 
394
                                             const <link linkend="gchar">gchar</link> *copyright,
 
395
                                             const <link linkend="gchar">gchar</link> *date,
 
396
                                             const <link linkend="gchar">gchar</link> *menu_label,
 
397
                                             const <link linkend="gchar">gchar</link> *image_types,
 
398
                                             <link linkend="GimpPDBProcType">GimpPDBProcType</link> type,
 
399
                                             <link linkend="gint">gint</link> n_params,
 
400
                                             <link linkend="gint">gint</link> n_return_vals,
 
401
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *params,
 
402
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *return_vals);</programlisting>
 
403
<para>
 
404
Installs a new procedure with the PDB (procedural database).
 
405
</para>
 
406
<para>
 
407
Call this function from within your Plug-In's <link linkend="query"><function>query()</function></link> function for
 
408
each procedure your Plug-In implements.
 
409
</para>
 
410
<para>
 
411
The <parameter>name</parameter> parameter is mandatory and should be unique, or it will
 
412
overwrite an already existing procedure (overwrite procedures only
 
413
if you know what you're doing).
 
414
</para>
 
415
<para>
 
416
The <parameter>blurb</parameter>, <parameter>help</parameter>, <parameter>author</parameter>, <parameter>copyright</parameter> and <parameter>date</parameter> parameters are
 
417
optional but then you shouldn't write procedures without proper
 
418
documentation, should you.
 
419
</para>
 
420
<para>
 
421
<parameter>menu_label</parameter> defines the label that should be used for the
 
422
procedure's menu entry (use <link linkend="NULL:CAPS"><type>NULL</type></link> if the procedure shouldn't have a
 
423
menu entry).  The position where to register in the menu hierarchy
 
424
is choosen using <link linkend="gimp-plugin-menu-register"><function>gimp_plugin_menu_register()</function></link>.  This function also
 
425
still accepts the old (pre-2.2) way of registering a menu entry and
 
426
takes a string in the form "&lt;Domain&gt;/Path/To/My/Menu"
 
427
(e.g. "&lt;Image&gt;/Filters/Render/Useless").
 
428
</para>
 
429
<para>
 
430
<parameter>type</parameter> must be one of <link linkend="GIMP-PLUGIN:CAPS"><type>GIMP_PLUGIN</type></link> or <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link>. Note that
 
431
temporary procedures must be installed using
 
432
<link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link>.
 
433
</para>
 
434
<para>
 
435
NOTE: Unlike the GIMP 1.2 API, <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link> no longer means
 
436
that the procedure's menu prefix is &lt;Toolbox&gt;, but that
 
437
it will install temporary procedures. Therefore, the GIMP core
 
438
will wait until the <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link> procedure has called
 
439
<link linkend="gimp-extension-ack"><function>gimp_extension_ack()</function></link>, which means that the procedure has done
 
440
its initialization, installed its temporary procedures and is
 
441
ready to run.
 
442
</para>
 
443
<para>
 
444
<emphasis>Not calling <link linkend="gimp-extension-ack"><function>gimp_extension_ack()</function></link> from a <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link>
 
445
procedure will cause th GIMP core to lock up.</emphasis>
 
446
</para>
 
447
<para>
 
448
Additionally, a <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link> procedure with no parameters
 
449
(<parameter>n_params</parameter> == 0 and <parameter>params</parameter> == <link linkend="NULL:CAPS"><type>NULL</type></link>) is an "automatic" extension
 
450
that will be automatically started on each GIMP startup.</para>
 
451
<para>
 
452
 
 
453
</para><variablelist role="params">
 
454
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
455
<listitem><simpara>          the procedure's name.
 
456
</simpara></listitem></varlistentry>
 
457
<varlistentry><term><parameter>blurb</parameter>&nbsp;:</term>
 
458
<listitem><simpara>         a short text describing what the procedure does.
 
459
</simpara></listitem></varlistentry>
 
460
<varlistentry><term><parameter>help</parameter>&nbsp;:</term>
 
461
<listitem><simpara>          the help text for the procedure (usually considerably
 
462
                longer than <parameter>blurb</parameter>).
 
463
</simpara></listitem></varlistentry>
 
464
<varlistentry><term><parameter>author</parameter>&nbsp;:</term>
 
465
<listitem><simpara>        the procedure's author(s).
 
466
</simpara></listitem></varlistentry>
 
467
<varlistentry><term><parameter>copyright</parameter>&nbsp;:</term>
 
468
<listitem><simpara>     the procedure's copyright.
 
469
</simpara></listitem></varlistentry>
 
470
<varlistentry><term><parameter>date</parameter>&nbsp;:</term>
 
471
<listitem><simpara>          the date the procedure was added.
 
472
</simpara></listitem></varlistentry>
 
473
<varlistentry><term><parameter>menu_label</parameter>&nbsp;:</term>
 
474
<listitem><simpara>    the label to use for the procedure's menu entry,
 
475
                or <link linkend="NULL:CAPS"><type>NULL</type></link> if the procedure has no menu entry.
 
476
</simpara></listitem></varlistentry>
 
477
<varlistentry><term><parameter>image_types</parameter>&nbsp;:</term>
 
478
<listitem><simpara>   the drawable types the procedure can handle.
 
479
</simpara></listitem></varlistentry>
 
480
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
 
481
<listitem><simpara>          the type of the procedure.
 
482
</simpara></listitem></varlistentry>
 
483
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
484
<listitem><simpara>      the number of parameters the procedure takes.
 
485
</simpara></listitem></varlistentry>
 
486
<varlistentry><term><parameter>n_return_vals</parameter>&nbsp;:</term>
 
487
<listitem><simpara> the number of return values the procedure returns.
 
488
</simpara></listitem></varlistentry>
 
489
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
 
490
<listitem><simpara>        the procedure's parameters.
 
491
</simpara></listitem></varlistentry>
 
492
<varlistentry><term><parameter>return_vals</parameter>&nbsp;:</term>
 
493
<listitem><simpara>   the procedure's return values.
 
494
</simpara></listitem></varlistentry>
 
495
</variablelist></refsect2>
 
496
<refsect2>
 
497
<title><anchor id="gimp-install-temp-proc"/>gimp_install_temp_proc ()</title>
 
498
<indexterm><primary>gimp_install_temp_proc</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_install_temp_proc          (const <link linkend="gchar">gchar</link> *name,
 
499
                                             const <link linkend="gchar">gchar</link> *blurb,
 
500
                                             const <link linkend="gchar">gchar</link> *help,
 
501
                                             const <link linkend="gchar">gchar</link> *author,
 
502
                                             const <link linkend="gchar">gchar</link> *copyright,
 
503
                                             const <link linkend="gchar">gchar</link> *date,
 
504
                                             const <link linkend="gchar">gchar</link> *menu_label,
 
505
                                             const <link linkend="gchar">gchar</link> *image_types,
 
506
                                             <link linkend="GimpPDBProcType">GimpPDBProcType</link> type,
 
507
                                             <link linkend="gint">gint</link> n_params,
 
508
                                             <link linkend="gint">gint</link> n_return_vals,
 
509
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *params,
 
510
                                             const <link linkend="GimpParamDef">GimpParamDef</link> *return_vals,
 
511
                                             <link linkend="GimpRunProc">GimpRunProc</link> run_proc);</programlisting>
 
512
<para>
 
513
Installs a new temporary procedure with the PDB (procedural database).
 
514
</para>
 
515
<para>
 
516
A temporary procedure is a procedure which is only available while
 
517
one of your Plug-In's "real" procedures is running.
 
518
</para>
 
519
<para>
 
520
See <link linkend="gimp-install-procedure"><function>gimp_install_procedure()</function></link> for most details.
 
521
</para>
 
522
<para>
 
523
<parameter>type</parameter> <emphasis>must</emphasis> be <link linkend="GIMP-TEMPORARY:CAPS"><type>GIMP_TEMPORARY</type></link> or the function
 
524
will fail.
 
525
</para>
 
526
<para>
 
527
<parameter>run_proc</parameter> is the function which will be called to execute the
 
528
procedure.
 
529
</para>
 
530
<para>
 
531
NOTE: Normally, Plug-In communication is triggered by the Plug-In
 
532
and the GIMP core only responds to the Plug-In's requests. You must
 
533
explicitely enable receiving of temporary procedure run requests
 
534
using either <link linkend="gimp-extension-enable"><function>gimp_extension_enable()</function></link> or
 
535
<link linkend="gimp-extension-process"><function>gimp_extension_process()</function></link>. See this functions' documentation for
 
536
details.</para>
 
537
<para>
 
538
 
 
539
</para><variablelist role="params">
 
540
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
541
<listitem><simpara>          the procedure's name.
 
542
</simpara></listitem></varlistentry>
 
543
<varlistentry><term><parameter>blurb</parameter>&nbsp;:</term>
 
544
<listitem><simpara>         a short text describing what the procedure does.
 
545
</simpara></listitem></varlistentry>
 
546
<varlistentry><term><parameter>help</parameter>&nbsp;:</term>
 
547
<listitem><simpara>          the help text for the procedure (usually considerably
 
548
                longer than <parameter>blurb</parameter>).
 
549
</simpara></listitem></varlistentry>
 
550
<varlistentry><term><parameter>author</parameter>&nbsp;:</term>
 
551
<listitem><simpara>        the procedure's author(s).
 
552
</simpara></listitem></varlistentry>
 
553
<varlistentry><term><parameter>copyright</parameter>&nbsp;:</term>
 
554
<listitem><simpara>     the procedure's copyright.
 
555
</simpara></listitem></varlistentry>
 
556
<varlistentry><term><parameter>date</parameter>&nbsp;:</term>
 
557
<listitem><simpara>          the date the procedure was added.
 
558
</simpara></listitem></varlistentry>
 
559
<varlistentry><term><parameter>menu_label</parameter>&nbsp;:</term>
 
560
<listitem><simpara>    the procedure's menu label, or <link linkend="NULL:CAPS"><type>NULL</type></link> if the procedure has
 
561
                no menu entry.
 
562
</simpara></listitem></varlistentry>
 
563
<varlistentry><term><parameter>image_types</parameter>&nbsp;:</term>
 
564
<listitem><simpara>   the drawable types the procedure can handle.
 
565
</simpara></listitem></varlistentry>
 
566
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
 
567
<listitem><simpara>          the type of the procedure.
 
568
</simpara></listitem></varlistentry>
 
569
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
570
<listitem><simpara>      the number of parameters the procedure takes.
 
571
</simpara></listitem></varlistentry>
 
572
<varlistentry><term><parameter>n_return_vals</parameter>&nbsp;:</term>
 
573
<listitem><simpara> the number of return values the procedure returns.
 
574
</simpara></listitem></varlistentry>
 
575
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
 
576
<listitem><simpara>        the procedure's parameters.
 
577
</simpara></listitem></varlistentry>
 
578
<varlistentry><term><parameter>return_vals</parameter>&nbsp;:</term>
 
579
<listitem><simpara>   the procedure's return values.
 
580
</simpara></listitem></varlistentry>
 
581
<varlistentry><term><parameter>run_proc</parameter>&nbsp;:</term>
 
582
<listitem><simpara>      the function to call for executing the procedure.
 
583
</simpara></listitem></varlistentry>
 
584
</variablelist></refsect2>
 
585
<refsect2>
 
586
<title><anchor id="gimp-uninstall-temp-proc"/>gimp_uninstall_temp_proc ()</title>
 
587
<indexterm><primary>gimp_uninstall_temp_proc</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_uninstall_temp_proc        (const <link linkend="gchar">gchar</link> *name);</programlisting>
 
588
<para>
 
589
Uninstalls a temporary procedure which has previously been
 
590
installed using <link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link>.</para>
 
591
<para>
 
592
 
 
593
</para><variablelist role="params">
 
594
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
595
<listitem><simpara> the procedure's name
 
596
</simpara></listitem></varlistentry>
 
597
</variablelist></refsect2>
 
598
<refsect2>
 
599
<title><anchor id="gimp-run-procedure"/>gimp_run_procedure ()</title>
 
600
<indexterm><primary>gimp_run_procedure</primary></indexterm><programlisting><link linkend="GimpParam">GimpParam</link>*  gimp_run_procedure              (const <link linkend="gchar">gchar</link> *name,
 
601
                                             <link linkend="gint">gint</link> *n_return_vals,
 
602
                                             ...);</programlisting>
 
603
<para>
 
604
This function calls a GIMP procedure and returns its return values.
 
605
</para>
 
606
<para>
 
607
The procedure's parameters are given by a va_list in the format
 
608
(type, value, type, value) and must be terminated by <link linkend="GIMP-PDB-END:CAPS"><type>GIMP_PDB_END</type></link>.
 
609
</para>
 
610
<para>
 
611
This function converts the va_list of parameters into an array
 
612
and passes them to <link linkend="gimp-run-procedure2"><function>gimp_run_procedure2()</function></link>.</para>
 
613
<para>
 
614
 
 
615
</para><variablelist role="params">
 
616
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
617
<listitem><simpara>          the name of the procedure to run
 
618
</simpara></listitem></varlistentry>
 
619
<varlistentry><term><parameter>n_return_vals</parameter>&nbsp;:</term>
 
620
<listitem><simpara> return location for the number of return values
 
621
</simpara></listitem></varlistentry>
 
622
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
 
623
<listitem><simpara>       list of procedure parameters
 
624
</simpara></listitem></varlistentry>
 
625
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the procedure's return values.
 
626
</simpara></listitem></varlistentry>
 
627
</variablelist></refsect2>
 
628
<refsect2>
 
629
<title><anchor id="gimp-run-procedure2"/>gimp_run_procedure2 ()</title>
 
630
<indexterm><primary>gimp_run_procedure2</primary></indexterm><programlisting><link linkend="GimpParam">GimpParam</link>*  gimp_run_procedure2             (const <link linkend="gchar">gchar</link> *name,
 
631
                                             <link linkend="gint">gint</link> *n_return_vals,
 
632
                                             <link linkend="gint">gint</link> n_params,
 
633
                                             const <link linkend="GimpParam">GimpParam</link> *params);</programlisting>
 
634
<para>
 
635
This function calls a GIMP procedure and returns its return values.</para>
 
636
<para>
 
637
 
 
638
</para><variablelist role="params">
 
639
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
640
<listitem><simpara>          the name of the procedure to run
 
641
</simpara></listitem></varlistentry>
 
642
<varlistentry><term><parameter>n_return_vals</parameter>&nbsp;:</term>
 
643
<listitem><simpara> return location for the number of return values
 
644
</simpara></listitem></varlistentry>
 
645
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
646
<listitem><simpara>      the number of parameters the procedure takes.
 
647
</simpara></listitem></varlistentry>
 
648
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
 
649
<listitem><simpara>        the procedure's parameters array.
 
650
</simpara></listitem></varlistentry>
 
651
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the procedure's return values.
 
652
</simpara></listitem></varlistentry>
 
653
</variablelist></refsect2>
 
654
<refsect2>
 
655
<title><anchor id="gimp-destroy-params"/>gimp_destroy_params ()</title>
 
656
<indexterm><primary>gimp_destroy_params</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_destroy_params             (<link linkend="GimpParam">GimpParam</link> *params,
 
657
                                             <link linkend="gint">gint</link> n_params);</programlisting>
 
658
<para>
 
659
Destroys a <link linkend="GimpParam"><type>GimpParam</type></link> array as returned by <link linkend="gimp-run-procedure"><function>gimp_run_procedure()</function></link></para>
 
660
<para>
 
661
 
 
662
</para><variablelist role="params">
 
663
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
 
664
<listitem><simpara>   the <link linkend="GimpParam"><type>GimpParam</type></link> array to destroy
 
665
</simpara></listitem></varlistentry>
 
666
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
667
<listitem><simpara> the number of elements in the array
 
668
</simpara></listitem></varlistentry>
 
669
</variablelist></refsect2>
 
670
<refsect2>
 
671
<title><anchor id="gimp-destroy-paramdefs"/>gimp_destroy_paramdefs ()</title>
 
672
<indexterm><primary>gimp_destroy_paramdefs</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_destroy_paramdefs          (<link linkend="GimpParamDef">GimpParamDef</link> *paramdefs,
 
673
                                             <link linkend="gint">gint</link> n_params);</programlisting>
 
674
<para>
 
675
Destroys a <link linkend="GimpParamDef"><type>GimpParamDef</type></link> array as returned by <link linkend="gimp-query-procedure"><function>gimp_query_procedure()</function></link></para>
 
676
<para>
 
677
 
 
678
</para><variablelist role="params">
 
679
<varlistentry><term><parameter>paramdefs</parameter>&nbsp;:</term>
 
680
<listitem><simpara> the <link linkend="GimpParamDef"><type>GimpParamDef</type></link> array to destroy
 
681
</simpara></listitem></varlistentry>
 
682
<varlistentry><term><parameter>n_params</parameter>&nbsp;:</term>
 
683
<listitem><simpara>  the number of elements in the array
 
684
</simpara></listitem></varlistentry>
 
685
</variablelist></refsect2>
 
686
<refsect2>
 
687
<title><anchor id="gimp-tile-width"/>gimp_tile_width ()</title>
 
688
<indexterm><primary>gimp_tile_width</primary></indexterm><programlisting><link linkend="guint">guint</link>       gimp_tile_width                 (void);</programlisting>
 
689
<para>
 
690
Returns the tile_width the GIMP is using. This is a constant value
 
691
given at Plug-In config time.</para>
 
692
<para>
 
693
 
 
694
</para><variablelist role="params">
 
695
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the tile_width
 
696
</simpara></listitem></varlistentry>
 
697
</variablelist></refsect2>
 
698
<refsect2>
 
699
<title><anchor id="gimp-tile-height"/>gimp_tile_height ()</title>
 
700
<indexterm><primary>gimp_tile_height</primary></indexterm><programlisting><link linkend="guint">guint</link>       gimp_tile_height                (void);</programlisting>
 
701
<para>
 
702
Returns the tile_height the GIMP is using. This is a constant value
 
703
given at Plug-In config time.</para>
 
704
<para>
 
705
 
 
706
</para><variablelist role="params">
 
707
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the tile_height
 
708
</simpara></listitem></varlistentry>
 
709
</variablelist></refsect2>
 
710
<refsect2>
 
711
<title><anchor id="gimp-shm-ID"/>gimp_shm_ID ()</title>
 
712
<indexterm><primary>gimp_shm_ID</primary></indexterm><programlisting><link linkend="gint">gint</link>        gimp_shm_ID                     (void);</programlisting>
 
713
<para>
 
714
Returns the shared memory ID used for passing tile data between the GIMP
 
715
core and the Plug-In. This is a constant value
 
716
given at Plug-In config time.</para>
 
717
<para>
 
718
 
 
719
</para><variablelist role="params">
 
720
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the shared memory ID
 
721
</simpara></listitem></varlistentry>
 
722
</variablelist></refsect2>
 
723
<refsect2>
 
724
<title><anchor id="gimp-shm-addr"/>gimp_shm_addr ()</title>
 
725
<indexterm><primary>gimp_shm_addr</primary></indexterm><programlisting><link linkend="guchar">guchar</link>*     gimp_shm_addr                   (void);</programlisting>
 
726
<para>
 
727
Returns the address of the shared memory segment used for passing
 
728
tile data between the GIMP core and the Plug-In. This is a constant
 
729
value given at Plug-In config time.</para>
 
730
<para>
 
731
 
 
732
</para><variablelist role="params">
 
733
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the shared memory address
 
734
</simpara></listitem></varlistentry>
 
735
</variablelist></refsect2>
 
736
<refsect2>
 
737
<title><anchor id="gimp-gamma"/>gimp_gamma ()</title>
 
738
<indexterm><primary>gimp_gamma</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>     gimp_gamma                      (void);</programlisting>
 
739
<para>
 
740
Returns the global gamma value the GIMP and all its Plug-Ins should
 
741
use. This is a constant value given at Plug-In config time.
 
742
</para>
 
743
<para>
 
744
NOTE: this feature is unimplemented.</para>
 
745
<para>
 
746
 
 
747
</para><variablelist role="params">
 
748
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the gamma value
 
749
</simpara></listitem></varlistentry>
 
750
</variablelist></refsect2>
 
751
<refsect2>
 
752
<title><anchor id="gimp-install-cmap"/>gimp_install_cmap ()</title>
 
753
<indexterm><primary>gimp_install_cmap</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_install_cmap               (void);</programlisting>
 
754
<para>
 
755
Returns whether or not the Plug-In should allocate an own colormap
 
756
when running on an 8 bit display. This is a constant value given at
 
757
Plug-In config time.
 
758
</para>
 
759
<para>
 
760
See also: <link linkend="gimp-min-colors"><function>gimp_min_colors()</function></link></para>
 
761
<para>
 
762
 
 
763
</para><variablelist role="params">
 
764
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the install_cmap boolean
 
765
</simpara></listitem></varlistentry>
 
766
</variablelist></refsect2>
 
767
<refsect2>
 
768
<title><anchor id="gimp-min-colors"/>gimp_min_colors ()</title>
 
769
<indexterm><primary>gimp_min_colors</primary></indexterm><programlisting><link linkend="gint">gint</link>        gimp_min_colors                 (void);</programlisting>
 
770
<para>
 
771
Returns the minimum number of colors to use when allocating an own
 
772
colormap on 8 bit displays. This is a constant value given at
 
773
Plug-In config time.
 
774
</para>
 
775
<para>
 
776
See also: <link linkend="gimp-install-cmap"><function>gimp_install_cmap()</function></link></para>
 
777
<para>
 
778
 
 
779
</para><variablelist role="params">
 
780
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the minimum number of colors to allocate
 
781
</simpara></listitem></varlistentry>
 
782
</variablelist></refsect2>
 
783
<refsect2>
 
784
<title><anchor id="gimp-show-tool-tips"/>gimp_show_tool_tips ()</title>
 
785
<indexterm><primary>gimp_show_tool_tips</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_show_tool_tips             (void);</programlisting>
 
786
<para>
 
787
Returns whether or not the Plug-In should show tooltips. This is a
 
788
constant value given at Plug-In config time.</para>
 
789
<para>
 
790
 
 
791
</para><variablelist role="params">
 
792
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the show_tool_tips boolean
 
793
</simpara></listitem></varlistentry>
 
794
</variablelist></refsect2>
 
795
<refsect2>
 
796
<title><anchor id="gimp-show-help-button"/>gimp_show_help_button ()</title>
 
797
<indexterm role="GIMP 2.2"><primary>gimp_show_help_button</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_show_help_button           (void);</programlisting>
 
798
<para>
 
799
Returns whether or not GimpDialog should automatically add a help
 
800
button if help_func and help_id are given.</para>
 
801
<para>
 
802
 
 
803
</para><variablelist role="params">
 
804
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the show_help_button boolean
 
805
 
 
806
</simpara></listitem></varlistentry>
 
807
</variablelist><para>Since  GIMP 2.2
 
808
</para></refsect2>
 
809
<refsect2>
 
810
<title><anchor id="gimp-check-size"/>gimp_check_size ()</title>
 
811
<indexterm role="GIMP 2.2"><primary>gimp_check_size</primary></indexterm><programlisting><link linkend="GimpCheckSize">GimpCheckSize</link> gimp_check_size               (void);</programlisting>
 
812
<para>
 
813
Returns the size of the checkerboard to be used in previews.
 
814
This is a constant value given at Plug-In config time.</para>
 
815
<para>
 
816
 
 
817
</para><variablelist role="params">
 
818
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the check_size value
 
819
 
 
820
</simpara></listitem></varlistentry>
 
821
</variablelist><para>Since  GIMP 2.2
 
822
</para></refsect2>
 
823
<refsect2>
 
824
<title><anchor id="gimp-check-type"/>gimp_check_type ()</title>
 
825
<indexterm role="GIMP 2.2"><primary>gimp_check_type</primary></indexterm><programlisting><link linkend="GimpCheckType">GimpCheckType</link> gimp_check_type               (void);</programlisting>
 
826
<para>
 
827
Returns the type of the checkerboard to be used in previews.
 
828
This is a constant value given at Plug-In config time.</para>
 
829
<para>
 
830
 
 
831
</para><variablelist role="params">
 
832
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the check_type value
 
833
 
 
834
</simpara></listitem></varlistentry>
 
835
</variablelist><para>Since  GIMP 2.2
 
836
</para></refsect2>
 
837
<refsect2>
 
838
<title><anchor id="gimp-default-display"/>gimp_default_display ()</title>
 
839
<indexterm><primary>gimp_default_display</primary></indexterm><programlisting><link linkend="gint32">gint32</link>      gimp_default_display            (void);</programlisting>
 
840
<para>
 
841
Returns the default display ID. This corresponds to the display the
 
842
running procedure's menu entry was invoked from. This is a
 
843
constant value given at Plug-In config time.</para>
 
844
<para>
 
845
 
 
846
</para><variablelist role="params">
 
847
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the default display ID
 
848
</simpara></listitem></varlistentry>
 
849
</variablelist></refsect2>
 
850
<refsect2>
 
851
<title><anchor id="gimp-wm-class"/>gimp_wm_class ()</title>
 
852
<indexterm><primary>gimp_wm_class</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gimp_wm_class                  (void);</programlisting>
 
853
<para>
 
854
Returns the window manager class to be used for plug-in windows.
 
855
This is a constant value given at Plug-In config time.</para>
 
856
<para>
 
857
 
 
858
</para><variablelist role="params">
 
859
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the window manager class
 
860
</simpara></listitem></varlistentry>
 
861
</variablelist></refsect2>
 
862
<refsect2>
 
863
<title><anchor id="gimp-display-name"/>gimp_display_name ()</title>
 
864
<indexterm><primary>gimp_display_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gimp_display_name              (void);</programlisting>
 
865
<para>
 
866
Returns the display to be used for plug-in windows.
 
867
This is a constant value given at Plug-In config time.</para>
 
868
<para>
 
869
 
 
870
</para><variablelist role="params">
 
871
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the display name
 
872
</simpara></listitem></varlistentry>
 
873
</variablelist></refsect2>
 
874
<refsect2>
 
875
<title><anchor id="gimp-monitor-number"/>gimp_monitor_number ()</title>
 
876
<indexterm><primary>gimp_monitor_number</primary></indexterm><programlisting><link linkend="gint">gint</link>        gimp_monitor_number             (void);</programlisting>
 
877
<para>
 
878
Returns the monitor number to be used for plug-in windows.
 
879
This is a constant value given at Plug-In config time.</para>
 
880
<para>
 
881
 
 
882
</para><variablelist role="params">
 
883
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the monitor number
 
884
</simpara></listitem></varlistentry>
 
885
</variablelist></refsect2>
 
886
<refsect2>
 
887
<title><anchor id="gimp-get-progname"/>gimp_get_progname ()</title>
 
888
<indexterm><primary>gimp_get_progname</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link>* gimp_get_progname              (void);</programlisting>
 
889
<para>
 
890
Returns the Plug-In's executable name.</para>
 
891
<para>
 
892
 
 
893
</para><variablelist role="params">
 
894
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the executable name
 
895
</simpara></listitem></varlistentry>
 
896
</variablelist></refsect2>
 
897
<refsect2>
 
898
<title><anchor id="gimp-extension-enable"/>gimp_extension_enable ()</title>
 
899
<indexterm><primary>gimp_extension_enable</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_extension_enable           (void);</programlisting>
 
900
<para>
 
901
Enables asnychronous processing of messages from the main GIMP
 
902
application.
 
903
</para>
 
904
<para>
 
905
Normally, a plug-in is not called by the GIMP except for the call
 
906
to the procedure it implements. All subsequent communication is
 
907
triggered by the plug-in and all messages sent from the GIMP to the
 
908
plug-in are just answers to requests the plug-in made.
 
909
</para>
 
910
<para>
 
911
If the plug-in however registered temporary procedures using
 
912
<link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link>, it needs to be able to receive requests
 
913
to execute them. Usually this will be done by running
 
914
<link linkend="gimp-extension-process"><function>gimp_extension_process()</function></link> in an endless loop.
 
915
</para>
 
916
<para>
 
917
If the plug-in cannot use <link linkend="gimp-extension-process"><function>gimp_extension_process()</function></link>, i.e. if it has
 
918
a GUI and is hanging around in a <link linkend="GMainLoop"><type>GMainLoop</type></link>, it must call
 
919
<link linkend="gimp-extension-enable"><function>gimp_extension_enable()</function></link>.
 
920
</para>
 
921
<para>
 
922
Note that the plug-in does not need to be a <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link> to
 
923
register temporary procedures.
 
924
</para>
 
925
<para>
 
926
See also: <link linkend="gimp-install-procedure"><function>gimp_install_procedure()</function></link>, <link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link></para>
 
927
<para>
 
928
 
 
929
</para></refsect2>
 
930
<refsect2>
 
931
<title><anchor id="gimp-extension-ack"/>gimp_extension_ack ()</title>
 
932
<indexterm><primary>gimp_extension_ack</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_extension_ack              (void);</programlisting>
 
933
<para>
 
934
Notify the main GIMP application that the extension has been properly
 
935
initialized and is ready to run.
 
936
</para>
 
937
<para>
 
938
This function <emphasis>must</emphasis> be called from every
 
939
procedure that was registered as <link linkend="GIMP-EXTENSION:CAPS"><type>GIMP_EXTENSION</type></link>.
 
940
</para>
 
941
<para>
 
942
Subsequently, extensions can process temporary procedure run
 
943
requests using either <link linkend="gimp-extension-enable"><function>gimp_extension_enable()</function></link> or
 
944
<link linkend="gimp-extension-process"><function>gimp_extension_process()</function></link>.
 
945
</para>
 
946
<para>
 
947
See also: <link linkend="gimp-install-procedure"><function>gimp_install_procedure()</function></link>, <link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link></para>
 
948
<para>
 
949
 
 
950
</para></refsect2>
 
951
<refsect2>
 
952
<title><anchor id="gimp-extension-process"/>gimp_extension_process ()</title>
 
953
<indexterm><primary>gimp_extension_process</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_extension_process          (<link linkend="guint">guint</link> timeout);</programlisting>
 
954
<para>
 
955
Processes one message sent by the GIMP and returns.
 
956
</para>
 
957
<para>
 
958
Call this function in an endless loop after calling
 
959
<link linkend="gimp-extension-ack"><function>gimp_extension_ack()</function></link> to process requests for running temporary
 
960
procedures.
 
961
</para>
 
962
<para>
 
963
See <link linkend="gimp-extension-enable"><function>gimp_extension_enable()</function></link> for an asynchronous way of doing the
 
964
same if running an endless loop is not an option.
 
965
</para>
 
966
<para>
 
967
See also: <link linkend="gimp-install-procedure"><function>gimp_install_procedure()</function></link>, <link linkend="gimp-install-temp-proc"><function>gimp_install_temp_proc()</function></link></para>
 
968
<para>
 
969
 
 
970
</para><variablelist role="params">
 
971
<varlistentry><term><parameter>timeout</parameter>&nbsp;:</term>
 
972
<listitem><simpara> The timeout (in ms) to use for the <link linkend="select"><function>select()</function></link> call.
 
973
</simpara></listitem></varlistentry>
 
974
</variablelist></refsect2>
 
975
<refsect2>
 
976
<title><anchor id="gimp-parasite-find"/>gimp_parasite_find ()</title>
 
977
<indexterm><primary>gimp_parasite_find</primary></indexterm><programlisting><link linkend="GimpParasite">GimpParasite</link>* gimp_parasite_find            (const <link linkend="gchar">gchar</link> *name);</programlisting>
 
978
<para>
 
979
Finds the named parasite.
 
980
</para>
 
981
<para>
 
982
Finds and returns the named parasite that was previously attached to
 
983
the gimp.</para>
 
984
<para>
 
985
 
 
986
</para><variablelist role="params">
 
987
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
988
<listitem><simpara> The name of the parasite to find.
 
989
</simpara></listitem></varlistentry>
 
990
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The found parasite.
 
991
</simpara></listitem></varlistentry>
 
992
</variablelist></refsect2>
 
993
<refsect2>
 
994
<title><anchor id="gimp-parasite-list"/>gimp_parasite_list ()</title>
 
995
<indexterm><primary>gimp_parasite_list</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_parasite_list              (<link linkend="gint">gint</link> *num_parasites,
 
996
                                             <link linkend="gchar">gchar</link> ***parasites);</programlisting>
 
997
<para>
 
998
List all parasites.
 
999
</para>
 
1000
<para>
 
1001
Returns a list of all currently attached parasites.</para>
 
1002
<para>
 
1003
 
 
1004
</para><variablelist role="params">
 
1005
<varlistentry><term><parameter>num_parasites</parameter>&nbsp;:</term>
 
1006
<listitem><simpara> The number of attached parasites.
 
1007
</simpara></listitem></varlistentry>
 
1008
<varlistentry><term><parameter>parasites</parameter>&nbsp;:</term>
 
1009
<listitem><simpara> The names of currently attached parasites.
 
1010
</simpara></listitem></varlistentry>
 
1011
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success.
 
1012
</simpara></listitem></varlistentry>
 
1013
</variablelist></refsect2>
 
1014
<refsect2>
 
1015
<title><anchor id="gimp-parasite-attach"/>gimp_parasite_attach ()</title>
 
1016
<indexterm><primary>gimp_parasite_attach</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_parasite_attach            (<link linkend="GimpParasite">GimpParasite</link> *parasite);</programlisting>
 
1017
<para>
 
1018
Add a parasite to the gimp.
 
1019
</para>
 
1020
<para>
 
1021
This procedure attaches a parasite to the gimp. It has no return
 
1022
values.</para>
 
1023
<para>
 
1024
 
 
1025
</para><variablelist role="params">
 
1026
<varlistentry><term><parameter>parasite</parameter>&nbsp;:</term>
 
1027
<listitem><simpara> The parasite to attach to the gimp.
 
1028
</simpara></listitem></varlistentry>
 
1029
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success.
 
1030
</simpara></listitem></varlistentry>
 
1031
</variablelist></refsect2>
 
1032
<refsect2>
 
1033
<title><anchor id="gimp-parasite-detach"/>gimp_parasite_detach ()</title>
 
1034
<indexterm><primary>gimp_parasite_detach</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    gimp_parasite_detach            (const <link linkend="gchar">gchar</link> *name);</programlisting>
 
1035
<para>
 
1036
Removes a parasite from the gimp.
 
1037
</para>
 
1038
<para>
 
1039
This procedure detaches a parasite from the gimp. It has no return
 
1040
values.</para>
 
1041
<para>
 
1042
 
 
1043
</para><variablelist role="params">
 
1044
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
1045
<listitem><simpara> The name of the parasite to detach from the gimp.
 
1046
</simpara></listitem></varlistentry>
 
1047
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success.
 
1048
</simpara></listitem></varlistentry>
 
1049
</variablelist></refsect2>
 
1050
<refsect2>
 
1051
<title><anchor id="gimp-attach-new-parasite"/>gimp_attach_new_parasite ()</title>
 
1052
<indexterm><primary>gimp_attach_new_parasite</primary></indexterm><programlisting><link linkend="void">void</link>        gimp_attach_new_parasite        (const <link linkend="gchar">gchar</link> *name,
 
1053
                                             <link linkend="gint">gint</link> flags,
 
1054
                                             <link linkend="gint">gint</link> size,
 
1055
                                             <link linkend="gconstpointer">gconstpointer</link> data);</programlisting>
 
1056
<para>
 
1057
Convenience function that creates a parasite and attaches it
 
1058
to the GIMP.
 
1059
</para>
 
1060
<para>
 
1061
See Also: <link linkend="gimp-parasite-attach"><function>gimp_parasite_attach()</function></link></para>
 
1062
<para>
 
1063
 
 
1064
</para><variablelist role="params">
 
1065
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
 
1066
<listitem><simpara> the name of the <link linkend="GimpParasite"><type>GimpParasite</type></link> to create and attach.
 
1067
</simpara></listitem></varlistentry>
 
1068
<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
 
1069
<listitem><simpara> the flags set on the <link linkend="GimpParasite"><type>GimpParasite</type></link>.
 
1070
</simpara></listitem></varlistentry>
 
1071
<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
 
1072
<listitem><simpara> the size of the parasite data in bytes.
 
1073
</simpara></listitem></varlistentry>
 
1074
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
 
1075
<listitem><simpara> a pointer to the data attached with the <link linkend="GimpParasite"><type>GimpParasite</type></link>.
 
1076
</simpara></listitem></varlistentry>
 
1077
</variablelist></refsect2>
 
1078
 
 
1079
</refsect1>
 
1080
 
 
1081
 
 
1082
 
 
1083
 
 
1084
</refentry>