Metadata-Version: 2.1
Name: colortools
Version: 0.1.2
Summary: A short description for your project.
Home-page: UNKNOWN
Author: Fábio Macêdo Mendes
Author-email: fabiomacedomendes@gmail.com
License: UNKNOWN
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: python-boilerplate ; extra == 'dev'

The :mod:`colortools` defines a :cls:`Color` object that can be used to
represent and manipulate colors in various contexts. It was created with the
:mod:`FGAme` game engine, but it can also be used in other contexts such as
arts and web applications.

Colors can be initialized from the RGB/RGBA components, in which each component
is in the 0-255 range.

>>> w1 = Color(255, 255, 255)
>>> w2 = Color(255, 255, 255, 255)
>>> w1 == w2
True

The constructor also accepts color names, hex strings or hex numbers.

>>> Color('white') == Color('#FFF') == Color(0xffffff) == Color(255, 255, 255)
True

All names in CSS3.0 are accepted (see the complete list `here<http://www.w3.org/TR/css3-color/#svg-color>`).
It is worth noting that although the *G* in RGB stands for green, the color
with a full green value is called *lime*, while "green" is **#008000** rather than
**#00FF00**.

Usage and API
-------------

Color objects are immutable and behave like a tuple of 4 values.

>>> list(Color('green'))
[0, 80, 0, 255]

It also exposes several different representations of a color using the
appropriate attribute.

>>> blue = Color('blue')
>>> blue.rbg
(255, 0, 0)

>>> blue.rgbf
(1.0, 0.0, 0.0)

>>> blue.rgbu
16711680

Color objects also implement a few useful transformations

>>> blue.darken(0.1)  # darken by 10%
Color(229, 0, 0)

