123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594 |
- GIMP Documentation
- outline of basic information for manual/tutorial
- Main sections:
- Introduction
- what is the gimp?
- a brief history -> current release
- what is it used for?
- what isn't it used for?
- Setup
- acquisition
- ftp sites: main, alternatives (sunsite, ftp.x.org, linux distributions)
- discussion of online resources such as homepage and homepages
- of various contributors
- binary vs. source distributions
- installation
- if binary, make install
- if source, make config, give details of compilation, make, make install
- gimp library directory/personal gimp directories
- gimprc
- location of default gimprc
- the various gimprc options (descriptions for each & default values)
- discussion of tiles/swap
- what are tiles?
- why are they useful to the gimp?
- what are reasonable settings for the tile cache size?
- what is the gimp swapfile/tmp directory?
- where should it be? (on /tmp or in ~/.gimp)
- discussion of color resolutions
- what are color resolutions?
- how do you find out which color resolutions are available to you?
- what color resolutions does the gimp require?
- why does the gimp "dither" in 8-bit color?
- why do the colormaps change between grayscale and color in 8-bit
- why don't indexed images use their own palette?
- discuss other alternatives for viewing images under X windows (xv)
- the color cube resource: how can the shades of color be controlled in 8-bit?
- discussion of fonts (type1/truetype/bitmap/standard X11)
- how are fonts used in the gimp? (gimp requires X to render them)
- what fonts can X render? (type1/bitmap)
- what fonts come standard with X?
- where can more fonts be obtained?
- Images
- the toolbox
- foreground
- background
- changing the colors/color select dialog
- main menu
- tool descriptor field
- new
- gimp works on "images" which are defined by a width, height, depth,
- a selection mask, a set of layers, and a set of auxillary channels
- image types: what are the options?
- what are the image types used for
- why can't an indexed image be created?
- why are indexed images a pain?
- how should indexed images be dealt with?
- a short example of "new" command
- image menus
- scrollbars
- rulers (options for hiding/showing rulers)
- ruler units (in gimprc) {pixels, inches, centimeters}
- concepts of layers
- bucket fill the new layer
- add a layer, blend it
- transparency
- what is it?
- how is it used?
- how can its appearance be controlled? (via preference dialog/gimprc)
- what file formats support it?
- undo/redo
- multiple (can be set via gimprc and preferences)
- on a per-image basis
- loading/saving
- loading and saving of images is accomplished through plug-ins
- most load/save plug-ins have no knowledge of the full set of
- attributes which the gimp needs for an image. In fact, most are
- limited to saving only 1 layer, and in some cases, an alpha channel
- such plug-ins are limited by their respective file formats (jpeg, tiff, etc)
- these plug-ins will save only the active layer of an image
- the xcf file format, however, can save all pertinent information about
- an image so that it can be stored and retrieved in full
- viewing
- viewing an image can be efficiently accomplished through a variety of features
- the image can be zoomed in or out with the magnify tool and the zoom
- hot-keys and menu-items
- the zoomed image can be panned using the scrollbars at the sides of the image
- or the middle mouse button
- <possibly discuss the navigator here, if implemented>
- multiple views can be created to view the image at different zoom ratios
- the image window can be expanded to reveal hidden areas
- and if necessary, the shrink wrap hot-key/menu-item can be invoked
- to limit the window borders to the image extents.
- the "always resize" option of the magnify tool and the gimprc can
- be enabled to cause the window to resize appropriately for each successive zoom
- resizing/scaling
- images can be resized or scaled
- resizing involves changing the width and height of the image by either
- cropping or adding area to its contents
- scaling involves actually changing the contents of the image, either
- "stretching" or "compressing" the layers and channels to fit to the
- new size
- Selections
- introduction
- what are selections?
- so is a selection just another channel? (what makes it special)
- how can selections be created?
- why are selections useful--they constrain operations by
- allowing regions of an image to be specified
- denoted by a boundary of marching ants--speed controlled in gimprc file
- selection mask extends over entire image
- if a layer in the image covers only part of the image extents, then
- the parts of the selection boundary which lie outside the active layer will be
- drawn, but will not march.
- brief description of selection tools
- pointer to channels section for information on how to "paint" selections
- <possibility of "quit edit" mode for masks here>
- common operations on selections
- feathering -- like a gaussian blur (can also be done with selection tools)
- bordering -- description of the algorithm
- sharpen -- gives all points of the selection values of 0 or 255
- invert -- gives each point of the selection the value = (255 - value)
- stroke -- uses the current brush and foreground color and "strokes"
- the outline of the current selection
- clear -- if there is a selection, this clears the selected area of the active layer.
- if the active layer has an alpha channel, this clears to transparent.
- if not, this clears to the background color.
- if there is no selection, this affects the entire image
- fill -- similar to clear, except that it always fills to the background
- color.
- Tools
- what are tools?
- typically activated from toolbox, hot keys or menu items
- only one active at a time
- discussion of context sensitive cursors
- the tools dialog
- what is it?
- double clicking on the tool icon
- selecting from the dialogs menu
- what are the common features of their usage:
- always invoked with the left mouse button, and can be cancelled
- by pressing the right mouse button before you release the left
- shift, control keys are often used to modify the behavior of the current
- tool
- selection tools
- rectangular: creates rectangular regions of selection which can be
- added, subtracted, or used to replace the current selection.
- holding down the shift and control keys constrains the region to a square
- elliptical: creates elliptical selections similar to rectangular. holding the
- shift and control keys creates circles. this selection tool has an antialiasing
- option which is on by default and creates selections which appear smoother
- but contain intermediate selection values. that is, there are points in the
- selection which aren't completely "on" or "off".
- freehand: can create any kind of selections, but requires a steady hand
- possibility here for the (dynadraw option for much smoother input). when
- the left mouse button is released, the created polygon is closed automatically.
- there is an antialiasing option for this tool which produces smoother selections.
- bezier: the bezier selection tool can be used to create either polygonal or curved
- regions of selection. There are typically two stages to bezier selection. the first
- involves placing bezier control points. control points are point which the final
- curve will be constrained to pass through. these should be placed on the edges
- of the boundary which is desired. no selection can be made until a final control
- point is place atop the first control point. a selection can be made by clicking
- in the interior of the polygon. each control point has two additional points which
- control the curve segment which passes through. these two additional points can
- be manipulated by dragging on the control point. holding down shift while
- dragging constrains the movement to just one of the additional control points.
- holding down the "control" key while dragging one of the original control points
- translates that point. the bezier tool has an antialiasing feature which is useful
- for producing smooth output.
- fuzzy: the fuzzy selection tool is invoked by left-clicking in a region of interest
- it works using a seed fill algorithm and expands outwards from the initial point
- to adjacent pixels with similar color. its expansion is limited by a threshold
- parameter which limits the acceptable difference between neighboring pixels.
- this tool also contains an antialias option which, depending on the underlying
- image, can produce smoother selections. this tool also has an option "sample merged"
- which specifies that the underlying pixel information is to be taken from the image
- as it appears to the user, and not just from the active layer or channel
- holding down the left mouse button and dragging allows the threshold parameter
- to be dynamically adjusted. moving the mouse left or up decreases the threshold;
- moving the mouse right or down, increases.
- intelligent scissors: take the stuff i wrote a long time ago
- by-color: this tool is invoked not through the toolbox, but through the menus
- it selects in a manner similar to the fuzzy selection tool, except that it searches the
- entire image for pixels of color similar to the initial point, instead of doing a seed
- fill.
- give an explanation of the by-color-select dialog and its uses
- for all selection tools, the produced region replaces the current selection by default
- however, holding down shift will "add" the new selection to the current
- holding down control will "subtract" the new selection from the current
- all selection tools and the move tool will translate the current selection if
- the "alt" key is depressed.
- magnify: allows easy zooming on portions of the image. a mouse click centers
- at the mouse click and zooms in one step. a shift-click centers at the
- mouse position and zooms out one step
- clicking and dragging with the mouse highlights an approximate
- rectangular area which will be fitted as closely as possible to the
- size of the window.
- move tool: primarily deals with layer translation including floating selections
- can be used to move selections when the "alt" key is depressed
- crop: crops through all layers, channels and selection mask
- <possibly an option for cropping only the current layer>
- operation of cropping extents (dragging vs expanding/contracting)
- transform tools:
- discussion about the method of operation of transform tools
- they float the current selection if there is one and transform the contents
- if there is no current selection mask, they simply transform the active layer
- if there is no selection mask and a channel is active, they have no effect
- with the exception of the flip tools, all transforming tools pop up a dialog
- box which gives information on the current transformation.
- with the exception of the flip tools, all transformations can be done with
- or without smoothing. smoothing results in a better final result, but
- takes additional time and can possibly introduce intermediate shades
- of the original colors to the final product. Smoothing cannot be used
- with indexed images.
- the degree (quality) of the smoothing algorithm can either be linear
- or cubic. cubic takes substantially more time but yields superior results.
- the degree of smoothing can be set as an option in the gimprc file.
- flip horz: flips horizontally
- flip vert: flips vertically
- rotate: rotates. shift constrains the angle of rotation to 5 degree intervals
- scale: scales. shift constrains the current height. control constrains the
- current width. shift-control constrains the original aspect ratio
- shear: shears. the direction of the shear (either horizontal or vertical)
- is determined by the direction the mouse is first dragged in
- perspective: allows the rectangular region to be mapped into any arbitrary
- quadrilateral. the corners of the rectangle can be dragged to any new locations
- and the resulting region is the mapping of the rectangle into the new quadrilateral
- bucket fill: if there is a selection, fills inside the selection bounds. if there is no selection,
- executes a seed fill from the point the mouse was initially clicked in. in the case of
- no selection, an antialiasing parameter may be set which can yield better
- results in the final fill. This option is similar to the one for the fuzzy selection tool.
- the bucket fill tool fills an area with the foreground color. If the shift key is depressed
- then the background color is used as the fill color.
- patterns are used in conjunction with the bucket tool and are tiled to fill the
- area. pattern dialog allows the selection of an active pattern
- the behavior of the bucket fill tool can be selected from the tools dialog
- to specify either pattern filling or color filling.
- the pattern dialog can be displayed from the dialogs submenu
- patterns are found in the directories listed in the gimprc
- new patterns can be defined by saving an image in one of the searched
- directories in the gimp pattern format.
- the list of directories can be reparsed at any time with the refresh button
- description of paint modes--tie in to paint tools/blend (they all use them too)
- bucket fills can also be done with a specified opacity which controls how the
- paint being applied from the tool interacts with the existing image
- blend: blend typically works by filling from the foreground to the background color
- the tool is activated by clicking and dragging in the desired direction and
- then releasing. while dragging, a rubber-banded line will appear which
- has different meanings depending on the current blending mode
- there are a number of different blend modes including
- linear: perpendicular lines to the drag line from foreground to background
- bilinear: perpendicular lines to the drag line from foreground to background
- in both directions
- radial: concentric circles outwards from the starting of the drag line to the end
- square: concentric squares outwards starting with FG and ending with BG
- conical (asymmetric): cone with rays extending outwards from the
- drag line's starting point. length of drag line has no meaning
- conical (symmetric): cone of rays goes from fg to bg in both directions
- shapeburst (angular, spherical, dimpled): shapeburst assigns a color
- to pixels somewhere between fg and bg depending on how
- far the pixel is from the nearest edge of the selection
- blend, like bucket fill has both a paint mode and an opacity
- blend does not necessarily work between the foreground and background
- colors. the gradient editor can be used to construct arbitrarily complex fades
- between as many colors as desired.
- complete description of gradient editor
- maybe a note about how all of the blend modes assign a value between 0 and 1
- for each considered pixel and in the case of a simple blend, this corresponds to
- a color intermediate to bg and fg. in the case of a custom blend, it corresponds
- to a point on the collection of segments defined in the gradient editor.
- blends can be done in RGB space, HSV space, and from the fg color to transparent
- painting tools
- all painting tools are applied using the left mouse button and dragging
- paint is then applied as though the mouse cursor were a paintbrush
- applied paint can be blended with the underlying image using a number
- of different modes (as in bucket fill/blend)
- normal: the color being applied is independent of the existing image
- addition: the color is added to the existing
- subtract: color is subtracted
- multiply: color is multiplied, result is always darker
- screen: inverse of multiply, result is always lighter
- color only: hue and saturation of color are used, existing lightness kept
- hue only: only hue of color is used
- value only: only value is used
- saturation only: only saturation is used
- behind: color is applied "behind the existing image" meaning that
- painting only affects parts of the image which have some
- transparency
- lighten only: color is applied only if its value exceeds existing
- darken only: color is applied only if its value doesn't exceed existing
- whatever sort of paint the painting tool is applying (this can even be "erasing"
- paint, in the case of the eraser tool), the application is limited by a brush mask.
- a brush mask is a grayscale image which determines the amount of paint to
- apply at each stroke.
- there are a number of brush masks that come with the gimp
- brush masks are found from a list of directories specified in the gimprc
- brush masks can be created by saving a grayscale image with the gimp brush
- file loader/saver
- brush masks can be selected using the brush dialog which is invoked from
- the dialogs submenu.
- complete description of the brush dialog
- set paint mode
- paint opacity
- brush name, width, height, appearance
- brush spacing
- refresh feature for researching the brush paths
- when using indexed images, all brush masks are converted from grayscale
- to black and white so that additional colors are not introduced into the image
- the paint tools are as follows:
- paintbrush: applies the foreground color. a fade out parameter can be
- set in pixels which specifies how long a stroke can be before it begins to fade
- to transparency
- pencil: similar to paintbrush, but it uses non-antialiased brush masks for
- precise work which requires absolute pixel accuracy
- eraser: the eraser tool does not apply paint, but removes it. if an image has
- an alpha channel, paint is removed in favor of transparency. if an image does
- not have an alpha channel, the eraser tool is similar to the paintbrush, but
- paints in the background color.
- airbrush: the airbrush tool paints in the foreground color, but unlike the
- paintbrush which is constrained to apply an even coating of paint during
- a single stroke, the airbrush can apply as much paint as desired. a pressure
- parameter controls how quickly paint is applied, and a rate parameter controls
- how quickly paint is applied when the mouse is stationary.
- clone: the clone tool works by transfering paint from a source to a specified
- destination. the source can either be an image or a pattern. the type of source
- is selected through the clone tool dialog. if the source is an image, the actual
- source coordinates can be specified by shift clicking the mouse
- at the appropriate location. then, when painting, the image at the
- source coordinates is effectively copied from the source to the destination.
- cloning from image to image automatically adjusts between the different
- image types (ie grayscale-> RGB, RGB->indexed). The RGB->indexed
- conversion is complicated and can slow down the operation of the tool
- at times. when cloning from image to image, the source and destination
- can either be the same image or different images. if the clone source type
- is a pattern, the active pattern is used as a source of pixels to paint to the
- destination. the active pattern is selected the same way as with bucket fills.
- convolve: convolving can involve either sharpening or blurring. a
- pressure parameter in the convolve dialog allows the degree of sharpening
- and blurring to be set.
- Floating Selections
- floating selections are temporary layers which are "floating" above another layer
- or channel. only one floating selection at a time may exist in an image. floating selections
- appear in layers dialog as a temporary icon, but can be treated in many respects
- like a normal layer in the image (ie, opacity, combination mode)
- can't be raised or lowered, given layer masks, etc.
- created by pasting, floating a selection
- introduce concept of global edit buffer
- the edit/copy command saves region inside current selection
- the edit/cut command save region inside current selection and extracts
- the contents from the active drawable. if the layer has an alpha channel, extraction
- yields transparent pixels. otherwise, extraction yields the background color.
- if there is no selection, edit/cut copies and removes the entire layer or channel
- edit/paste copies the contents of the global edit buffer into an image.
- this stage automatically takes care of any conversions between image types
- when the contents of the global edit buffer are pasted, any current selection
- is removed
- edit/paste has a special option "paste into" which does not remove the current selection
- the appearance of floating selections--marching ants
- if there is a selection with a floating selection, the boundary of the selection does not march
- the selection mask acts as a mask when compositing the floating selection to the image. that is:
- any areas of the floating selection which lie within the selection mask are visible,
- while any areas which lie without the selection mask are masked out.
- if edit/paste or select/float are invoked while a floating selection exists, the current
- floating selection is "anchored" to the image
- the floating selection can be anchored at any time (which simply means it is composited
- permanently with the image) by clicking outside its boundary, or by invoking select/anchor
- the move tool translates floating selection exactly as it translates layers
- assuming no selection exists, transform tools transform the entire floating selection,
- yielding a new one.
- named buffers allow multiple edit buffers which can be recalled by name
- Layers
- introduction
- layers are the basic building block of images
- when a new image is created, a default layer is created
- layers can have any extents relative to the image
- image is like a frame, layers are cellophane overlays
- layers have transparency, except for the bottommost layer, which doesn't necessarily
- layers are composited with composite modes and opacities to form the final image
- layers allow separate elements of an image to remain independent
- for a final image, layers are composited into a final image
- the layers dialog (blending mode, opacity, ordering, visibility, activation, attributes)
- the layers dialog controls the layer compositing
- the active layer is the one which is highlighted
- when a tool is used, the active layer is the one affected
- the active layer can be set by clicking in the list box item
- the option menu controls the blending mode, (list all modes, uses)
- the opacity slider allows the overall transparency of a layer to be set
- each layer item has two icons on the left
- the first is a small eye, which controls the visibility of a layer
- the visibility allows layers to be hidden for clarity
- the second is a fleur, which controls layer "linkage"
- layer linkage is a feature which allows multiple layers to
- be translated simultaneously with the active layer
- layer list items are highlighted when active and their order in the
- list denotes the composite order. composition proceeds from bottom to top
- layer select feature
- like the windows 3.1 task manager
- shift-tab switches between layers
- works like a stack. last visited layer is the next to pop up
- layer previews
- the size of layer previews in the layer selector and the layers dialog
- can be controlled via the gimprc with the preview size setting
- smaller preview sizes are often not quicker to calculate, but do require
- less memory and allow more layers to be displayed simultaneously
- set layer preview size to "none" for efficiency
- merging
- layers are merged by combining the visible layers
- can be constrained by: image size, bottommost layer, or expanded as necessary
- flattening
- flattening is similar to merging, but removes transparency, and limits to image size
- delete
- removes the active layer
- duplicate
- makes a duplicate of the active layer, new layer is inserted above the active layer
- new
- new layer: specify size, name
- resizing
- layer can be resized so that additional border space is available, or the
- layer's contents can be cropped.
- dialog allows the contents of the layer to be positioned within the new layer
- scaling
- the layer is scaled to a new size
- lowering/raising
- allows the layers to be reordered
- preserve transparency
- an option which restricts all paint operations so that they have
- no affect on the transparency of the layer
- layer masks (all the modes of operation)
- layer masks are additional alpha channels for layers.
- they are essentially grayscale images with the same extents as the layer
- a layer is limited to at most one
- they allow independent localized changes to transparency
- control-click in the layer mask preview toggles the activation
- this creates a red border around the layer mask preview
- shift-click makes the layer mask visible instead of the layer
- this creates a green border around the layer mask preview
- to toggle between editing the layer mask or the layer itself, click the previews
- a border denotes which is currently active
- layer mask creation
- a layer mask is created for the active layer by selecting the layer mask menu item
- the initial layer mask can be completely white (all areas of the layer will be visible)
- completely black (the entire layer is invisible)
- or set initially to the layer's alpha channel (useful for some effects)
- layer mask application
- choosing the layer mask apply menu item removes the layer mask
- a choice is given between apply or discard.
- apply causes the layer mask to be composited with the layer's alpha channel
- discard removes the layer mask as though it never existed
- layer mask restrictions
- cannot transform a layer with a layer mask
- layer masks cannot be given to floating selection layers
- layer alpha to selection operation
- the select/layer alpha command causes a layer's alpha channel to be
- used as the basis for the image's selection mask
- Channels
- introduction
- the two kinds of channels (image components, auxillary channels)
- selection masks are channels
- image components
- for each type of image, the components are the independent
- channels. for RGB: red, green, blue. grayscale and indexed have 1 component
- alpha channels of images are not considered a component for the purposes of
- discussing channels
- auxillary channels
- auxillary channels are not involved with the image.
- they are used for storing selection masks and editing them as though
- they were images.
- they can be made visible by giving them a color and opacity.
- they are then composited on top of the layers composite
- interaction between active layer/active channel(s)
- any combination of image components may be active at a given
- time. the activation of image components acts to constrain the
- application of paint to the active layer.
- if a layer is active, no auxillary channels can be active
- if an auxillary channel is active, no layers are active, and the
- image components are insensitized
- the channels dialog
- invoked from the dialogs menu.
- for each image, the image components are displayed first
- auxillary channels are then displayed
- each item has one icon on the left of a small eye and controls the
- visibility of the channel or component
- new
- creates a new auxillary channel
- image components cannot be created
- duplicate
- duplicates the current channel. this can be done for image
- components and auxillary channel. the result is an auxillary channel
- delete
- deletes the active auxillary channel
- image components cannot be deleted
- double clicking an aux channel list item allows it's attributes to be edited
- auxillary channel attributes include name and composite color & opacity
- Image Correction
- image correction deals with changing the characteristics of whole regions of an image
- image correction tools operate on the contents of the current selection or the entire layer
- if there is no selection
- hue/saturation
- allows adjustment of hue saturation--more on this
- brightness/contrast
- more on this stuff
- levels
- histogram
- curves
- maybe by 1.0!
- color balance
- slider controls the relative color shift
- Plug-ins
- introduction (why are they cool, what are they)
- how they work
- registration
- interface
- effects
- extensions
- file loaders/savers
- Very Large Images
- tiles
- tile size is compiled into the gimp
- tiles can be used to distribute gimp processing
- tiles can be used for quick loading of images at varying resolutions
- tiles are a nice mechanism for dealing with images >> physical memory size
- performance issues (getting the most out of GIMP)
- compositing is time consumptive--hiding layers when possible is a good idea
- viewing only a small portion of the image at 1:1 makes redisplays after
- big edits much faster
- tile cache size should be set as high as possible, but should still be
- sufficiently small that the system does not swap processes.
- tile cache swap should be located on a partition with sufficient space
- <give approximate rules of thumb here>
- programming issues and approaches (plug-ins, extending GIMP)
- plug-ins can use put, get-pixel abstractions
- for efficiency, actual tiles should be dealt with
- in both plug-ins and GIMP programming, the pixel regions are useful for
- programming algorithms with tiles.
- register_regions, process_regions
- get_row, set_row
- get_col, set_col
- get_area, set_area
- Scripting--The Procedural Database
- introduction
- scripting is extremely useful for automating image creation or common editing functions
- there is no specific scripting language for the GIMP, instead procedural database
- this way, there are no limits to what can be done with GIMP functionality: imagine
- remote process servers which crunch through CPU intensive imaging tasks and return
- data. the flow of image information is controlled through the interface to the pdb.
- the procedural database
- all procedures which handle the GIMP's functionality are registered here
- all plug-ins and extensions must register themselves with the main database
- once registered, plug-ins & extensions can call other plug-ins or internal gimp procs.
- procedural database contains information on each procedure including:
- blurb, help, author, copyright, input & output arguments (with descriptions)
- all procedures are blocking
- internal procedures
- internal procedures constitute the inner workings of the main application.
- images, channels, layers, etc. can be created here and the functionality
- of almost all the tools can be accessed through internal procedures
- in fact, the entire plug-in interface simplifies calls to internal procedures
- <give header file location for internal procedures>
- <data structures for arguments, procedure definition>
- <give call here for registering>
- <invocation procedures>
- <short example>
- plug-ins/extensions
- plug-ins and extensions are expected to register themselves in the
- procedural database upon initialization which occurs if the executable
- is found by the gimp in an appropriate directory.
- once registered, a plug-in or extension can be accessed in the same
- way as every other procedure.
- <registration example--all plug-ins must do this>
- <plug-in interface to procedural database>
- interface documentation
- can be automatically generated with procedural_db_dump call.
- then an elisp script creates a tex info file.
- registering a procedure with full information is important for these docs
- available scripting extensions
- give a list--probably will contain something for the siod interpreter
- siod-scheme in one defun
- all procedures in pdb are queried, scheme wrappers are auto-generated
|