ggr.txt 2.6 KB
Newer Older
1 2 3
    The .ggr file format.

GGR files are used to store GIMP gradients.  A gradient consists of a
4
series of consecutive *segments* spanning the range from 0.0 to 1.0.  Each
5 6 7 8 9 10 11
segment has the following attributes:

Left Endpoint coordinate: (double)
Left Endpoint color (RGBA color)
Right Endpoint coordinate (double)
Right Endpoint color (RGBA color)
Midpoint coordinate (double)
12 13 14 15 16
Blending function (enum; values are:
                   0 = "linear"
                   1 = "curved"
                   2 = "sinusoidal"
                   3 = "spherical (increasing)"
17 18
                   4 = "spherical (decreasing)"
                   5 = "step")
19 20 21 22 23 24 25 26 27 28
Coloring type (enum; values are:
               0 = "RGB"
               1 = "HSV CCW"
               2 = "HSV CW")
Left and right Endpoint Color type (enum; values are:
                                    0 = "fixed"
                                    1 = "foreground",
                                    2 = "foreground transparent"
                                    3 = "background",
                                    4 = "background transparent")
29 30 31 32 33 34 35 36 37


A GGR file is an ASCII file structured as follows:

Line 1: "GIMP Gradient"
Line 2: "Name: " followed by the name of the gradient
Line 3: the number of segments 

The remaining lines consist of segment specifications.  There must be
38 39
one line for each segment.  Each line contains 15 numbers -- the first
11 are floats, the remaining 4 are ints.  Here is what each field
40 41 42 43 44 45 46 47 48 49 50 51 52 53
encodes:

Field      Meaning
  0          Left endpoint coordinate
  1          Midpoint coordinate 
  2          Right endpoint coordinate
  3          Left endpoint R
  4          Left endpoint G
  5          Left endpoint B
  6          Left endpoint A
  7          Right endpoint R
  8          Right endpoint G
  9          Right endpoint B
 10          Right endpoint A
54 55 56 57
 11          Blending function type
 12          Coloring type
 13          Left endpoint color type
 14          Right endpoint color type
58 59 60 61

The left endpoint coordinate of each segment must equal the right
endpoint coordinate of the preceding segment.

62
Note 1: This is a description of the *new* gradient file format.  In
63 64
earlier versions of GIMP a different format was used.

65 66 67
Note 2: In GIMP versions prior to 2.3.11 the file format didn't contain
the color types of the endpoints, thus it was impossible to get the
behavior of the special "FG to BG" etc. gradients in custom gradients.
68

69
Note 3: Starting with version 2.1, GIMP now has the ability to load
70 71 72 73
gradients in SVG gradient format, if the file is placed in the user's
personal "gradients" directory, or some other location in the
gradients search path.