diff options
Diffstat (limited to '')
-rw-r--r-- | devel-docs/gbr.txt | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/devel-docs/gbr.txt b/devel-docs/gbr.txt new file mode 100644 index 0000000..702c4e1 --- /dev/null +++ b/devel-docs/gbr.txt @@ -0,0 +1,75 @@ +The GIMP Paintbrush File Format Version 1 (.gbr) +------------------------------------------------ + +Based on examples and code, it seems that v1 is like v2, but it is +lacking bytes 20 - 27 (no magic or spacing info), and thus having +as last header field: + +Bytes 20 - (header_size - 1): + Type: char * + Value: undefined encoding string - name of brush + +GBR v1 is deprecated and should never be used to save new brushes. + + + +The GIMP Paintbrush File Format Version 2 (.gbr) +------------------------------------------------ + +HEADER +------ + +Bytes 0 - 3: header_size: + Type: 32 bit unsigned int + Value: size of brush header (28) + length of brush name + +Bytes 4 - 7: version + Type: 32 bit unsigned int + Value: The file format version. + +Bytes 8 - 11: width + Type: 32 bit unsigned int + Value: Brush width + +Bytes 12 - 15: height + Type: 32 bit unsigned int + Value: Brush height + +Bytes 16 - 19: bytes + Type: 32 bit unsigned int + Value: Colour depth of brush. + 1 = greyscale, 4 = RGBA + +Bytes 20 - 23: magic_number + Type: 32 bit unsigned int + Value: GIMP brush magic number. + ('G' << 24) + ('I' << 16) + ('M' << 8) + 'P' + +Bytes 24 - 27: spacing + Type: 32 bit unsigned int + Value: Default spacing to be used for brush. Percentage + of brush width. + +Bytes 28 - (header_size - 1): + Type: char * + Value: UTF-8 string - name of brush + + +BODY +---- + Size: width * height * bytes + Type: uchar * + Value: Pixel values (row-first) for brush + + + +The GIMP Paintbrush File Format Version 3 (.gbr) +------------------------------------------------ + +This changed GIMP brush format was introduced by the FilmGimp or +CinePaint developers without notifying the GIMP developers. We've +added support for reading these brushes. The format is very similar +to version 2 but uses the bytes field as a data format identifier. +It seems the only format identifier in use is 18 which corresponds +to 16bit floats. If you encounter brushes with a different data +format, please let the GIMP developers know. |