Goals
-----

This section describes how brushes are organized in the repository and how to make them available for you to use in GIMP (GNU Image Manipulation Program).

Description
-----------

A brush is a pixmap or set of pixmaps used for painting through an image manipulation program like GIMP.  Inside the repository, we've organized brushes in common brushes and theme-specific brushes.  In both cases, brushes are initially created in .xcf format and later exported to any of the brush formats recognized by GIMP (e.g., .gbr or .gih) using the same name of its source file.

1. Common brushes       2. Theme-specific brushes
----------------------  -----------------------------------------------------------
trunk/Identity/Brushes  trunk/Identity/Themes/Motifs/THEMENAME/THEMEVERSION/Brushes
|-- Xcf                 |-- Xcf
|   |-- 1.xcf           |   |-- 1.xcf
|   |-- 2.xcf           |   |-- 2.xcf
|   `-- 3.xcf           |   `-- 3.xcf
|-- 1.gbr               |-- 1.gbr
|-- 2.gih               |-- 2.gih
`-- 3.gbr               `-- 3.gbr
Figure: Brush file format and directory structure.

In order for both common brushes and theme-specific brushes to be loaded by GIMP, related .gbr and .gih brush files need to be stored under ~/.gimp-2.2/brushes directory. This location is out of CentOS Artwork Repository and provides no version control by itself. This way, brushes aren't exported to this location but into the repository directory structure which is versioned. Later, we create symbolic links in ~/.gimp-2.2/brushes to connect file brushes inside the repository and, this way, provide the configuration needed by GIMP to use the brush files produced inside the repository.

     Warning When brushes are added to or removed from the repository, you need to update your working copy and all information related to brushes inside your workstation (e.g., brush links in ~/.gimp-2.2/brushes and the Brushes panel in GIMP).  Otherwise, you may end up with broken links or brushes in the repository that wouldn't be available for you to use in GIMP.

Inside the repository, common brushes and theme-specific brushes are created individually in different locations, but they all are linked from one unique location (i.e., ~/.gimp-2.2/brushes).  This configuration may provoke brush overlapping if a name convenction is not implemented correctly.  In that sake, file names used for brushes inside the repository must be unique, no matter where they be.

As file name convenction inside the repository, brushes are named using lowercase letters, numbers, minus characters and dot characters, only.  Additionally, when links are built, we use one suffix for those brushes retrived from trunk/Identity/Brushes and another suffix for those brushes retrivided from theme-specific directories.  Using both the brush file name and the suffix information,  it is possible to build unique names for links under ~/.gimp-2.2/brushes directory, scalably.

trunk/Identity/Brushes
|-- 1.gbr (file) <-- ~/.gimp-2.2/brushes/centos-1.gbr (link)
|-- 2.gbr (file) <-- ~/.gimp-2.2/brushes/centos-2.gbr (link)
`-- 3.gbr (file) <-- ~/.gimp-2.2/brushes/centos-3.gbr (link)
Figure: Common brushes path relation.

trunk/Identity/Themes/Motifs/THEMENAME/THEMEVERSION/Brushes
|-- 1.gbr (file) <-- ~/.gimp-2.2/brushes/centos-THEMENAME-THEMEVERSION-1.gbr (link)
|-- 2.gbr (file) <-- ~/.gimp-2.2/brushes/centos-THEMENAME-THEMEVERSION-2.gbr (link)
`-- 3.gbr (file) <-- ~/.gimp-2.2/brushes/centos-THEMENAME-THEMEVERSION-3.gbr (link)
Figure: Theme-specific brushes path relation.

Brushes produced with GIMP has a description field associated that is shown in the Brushes panel of GIMP.  This description is set when the brush is created as .xcf file and can be updated when it is exported either to .gbr or .gih format. It wouldn't be too useful to have two or more brushes using the same description so, we also make description of brush files unique, too. In that sake, we use the same name schema used to name brush links as description but without including the file extension (e.g., if we have the centos-flame-3.gbr brush, its description would be centos-flame-3).

Usage
-----

The way you use brushes is up to your creativeness. However, the way brushes are made available needs to be standardized. That's the reason of organizing brushes in common brushes and theme-specific brushes.

Common brushes
--------------

Common brushes exist to organize brushes that can be used anywhere inside the repository. Inside the repository, common brushes under trunk/Identity/Brushes are mainly used to hold brand information related to The CentOS Project (e.g., symbols, logos, trademarks, etc.).

Common brushes are always made available under ~/.gimp-2.2/brushes directory after preparing the repository (see Directories trunk Scripts Functions Prepare).

Theme-specific brushes
----------------------

Theme-specific brushes exist to organize brushes that can be used inside specific artistic motifs only. Inside the repository, theme-specific brushes are stored in a directory named Brushes which is stored in the first directory level under the artistic motif directory structure. Each artistic motif inside the repository has its own Brushes directory and uses it to store brushes that can be considered auxiliars to that artistic motif construction.

Theme-specific brushes aren't made available under ~/.gimp-2.2/brushes directory after preparing the repository. In order to make theme-specific brushes available under ~/.gimp-2.2./brushes it is required to activate/deactivate them using the theme functionality of centos-art.sh script.

See also
--------

  * The Gimp Manual (file:///usr/share/gimp/2.0/help/en/index.html), specifically the section related to Brushes (file:///usr/share/gimp/2.0/help/en/gimp-concepts-brushes.html).