summaryrefslogtreecommitdiffstats
path: root/devel-docs/ggr.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
commit5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch)
treecbffb45144febf451e54061db2b21395faf94bfe /devel-docs/ggr.txt
parentInitial commit. (diff)
downloadgimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz
gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devel-docs/ggr.txt')
-rw-r--r--devel-docs/ggr.txt73
1 files changed, 73 insertions, 0 deletions
diff --git a/devel-docs/ggr.txt b/devel-docs/ggr.txt
new file mode 100644
index 0000000..86ad15f
--- /dev/null
+++ b/devel-docs/ggr.txt
@@ -0,0 +1,73 @@
+ The .ggr file format.
+
+GGR files are used to store GIMP gradients. A gradient consists of a
+series of consecutive *segments* spanning the range from 0.0 to 1.0. Each
+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)
+Blending function (enum; values are:
+ 0 = "linear"
+ 1 = "curved"
+ 2 = "sinusoidal"
+ 3 = "spherical (increasing)"
+ 4 = "spherical (decreasing)"
+ 5 = "step")
+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")
+
+
+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
+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
+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
+ 11 Blending function type
+ 12 Coloring type
+ 13 Left endpoint color type
+ 14 Right endpoint color type
+
+The left endpoint coordinate of each segment must equal the right
+endpoint coordinate of the preceding segment.
+
+Note 1: This is a description of the *new* gradient file format. In
+earlier versions of GIMP a different format was used.
+
+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.
+
+Note 3: Starting with version 2.1, GIMP now has the ability to load
+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.
+