GIMP Script-fu

Check-in [1d3eeebbcb]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updated docs.
Timelines: family | ancestors | descendants | both | schemey-fu
Files: files | file ages | folders
SHA1:1d3eeebbcb98a593ce634efb04c574b6eda154ba
User & Date: saul 2015-05-26 06:40:30
Context
2015-07-09
12:03
Added a new mode to get-layers which includes fundaments for nested groups. Leaf check-in: db8f2ac5bf user: saul tags: trunk
2015-05-26
06:40
Updated docs. Leaf check-in: 1d3eeebbcb user: saul tags: schemey-fu
2015-05-24
16:29
Update get-layers to support modes 0, 1, and 2. check-in: fd3793f503 user: saul tags: schemey-fu
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to doc/schemey-fu-manual.txt.

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
...
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
...
169
170
171
172
173
174
175
176






177
178
179
180
181
182
183

    (Vectors::stroke-new-from-points path 
                                     VECTORS-STROKE-TYPE-BEZIER  
                                     '(34 5 40 10 42 15 54 15 41 20 68 24)
                                     1)
      ==> stroke-id
      
Note that this transformation of counted arrays only applies to GIMP internal
procedures; plug-ins with counted array parameters (such as 'plug-in-film') need to be handled in the traditional manner. Fortunately, there are very few instances where this is a concern.

NAMESPACES

By now you've probably realized that Schemey-fu functions follow the naming convention of "Namespace::function", which consistly maps to the corresponding PDB procedure's name.

Within the PDB, procedures are divided up into different namespaces with the namespace supplied as a prefix in the procedure name. The main top-level namespaces are 'gimp', 'file', 'script-fu', and 'plug-in'. Schemey-fu is mostly limited to the procedures within the 'gimp' namespace. The 'gimp' namespace itself generally follows the naming convention of gimp-object-action, where the object might be an image, a layer, a tool, or somesuch.

................................................................................
        Reverse the order of the characters in a string.
    Fu::string-trim (str [pred])
        Per SRFI-13 without optional start/end.
        Skip over initial characters matching the 'pred'. 
        'pred' can be either a procedure or a char; if 
        not supplied, pred defaults to #\space.
    Fu::string-pad (str n [char])
       Per SRFI-13 without start/end (also does not truncate str).
       Prepends enough 'char's to string to fill field of size 'n'
       If not supplied, 'char' is #\space.
    Fu::string-delete (pred str)
        Per SRFI-13 without optional start/end.
        Remove all chars from a string that match 'pred'
        'pred' can be either a procedure or a char.

    Fu::progression (start end [num-elements [growth]])
        Return a list of N elements from start to end with either
................................................................................
        Merge sort a list based on compare? Optimal for longer lists (> 50 items)
        Example:
          (Fu::msort < '(30 20 50 40 10)) ==> (10 20 30 40 50)
          
    Fu::get-bounds (drawables)
        Accepts either the ID of a single drawable or a list of drawable IDs. 
        If a list then the bounds of all drawables in the list is returned.
    






    Fu::calc-fontsize (text font width height)
        Calculate the largest size of the given font that will fit within 
        the given dimensions.

USEFUL MACROS
   
   Schemey-fu also provides some useful macros. These do not follow the 







<
|







 







|
|
|







 







|
>
>
>
>
>
>







49
50
51
52
53
54
55

56
57
58
59
60
61
62
63
...
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
...
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188

    (Vectors::stroke-new-from-points path 
                                     VECTORS-STROKE-TYPE-BEZIER  
                                     '(34 5 40 10 42 15 54 15 41 20 68 24)
                                     1)
      ==> stroke-id
      

Note that this transformation of counted arrays only applies to GIMP internal procedures; plug-ins with counted array parameters (such as 'plug-in-film') need to be handled in the traditional manner. Fortunately, there are very few instances where this is a concern.

NAMESPACES

By now you've probably realized that Schemey-fu functions follow the naming convention of "Namespace::function", which consistly maps to the corresponding PDB procedure's name.

Within the PDB, procedures are divided up into different namespaces with the namespace supplied as a prefix in the procedure name. The main top-level namespaces are 'gimp', 'file', 'script-fu', and 'plug-in'. Schemey-fu is mostly limited to the procedures within the 'gimp' namespace. The 'gimp' namespace itself generally follows the naming convention of gimp-object-action, where the object might be an image, a layer, a tool, or somesuch.

................................................................................
        Reverse the order of the characters in a string.
    Fu::string-trim (str [pred])
        Per SRFI-13 without optional start/end.
        Skip over initial characters matching the 'pred'. 
        'pred' can be either a procedure or a char; if 
        not supplied, pred defaults to #\space.
    Fu::string-pad (str n [char])
        Per SRFI-13 without start/end (also does not truncate str).
        Prepends enough 'char's to string to fill field of size 'n'
        If not supplied, 'char' is #\space.
    Fu::string-delete (pred str)
        Per SRFI-13 without optional start/end.
        Remove all chars from a string that match 'pred'
        'pred' can be either a procedure or a char.

    Fu::progression (start end [num-elements [growth]])
        Return a list of N elements from start to end with either
................................................................................
        Merge sort a list based on compare? Optimal for longer lists (> 50 items)
        Example:
          (Fu::msort < '(30 20 50 40 10)) ==> (10 20 30 40 50)
          
    Fu::get-bounds (drawables)
        Accepts either the ID of a single drawable or a list of drawable IDs. 
        If a list then the bounds of all drawables in the list is returned.

    Fu::grow-while (pred? . args)
        Returns the largest integer that satisfies the 'pred?' function.
        The 'pred?' function should accept a single "size" argument
        and return #t if the size fits the criteria. (Se Fu::calc-fontsize
        for an example of usage.)

    Fu::calc-fontsize (text font width height)
        Calculate the largest size of the given font that will fit within 
        the given dimensions.

USEFUL MACROS
   
   Schemey-fu also provides some useful macros. These do not follow the