/* libzzinet
 *
 * This program is distributed under the GNU General Public License, version 2.
 * A copy of this license is included with this source.
 *
 * Copyright 2000-2006, Toni Thomsson <toni@tonjac.org> 
*/

#ifndef zz_image_color_h
#define zz_image_color_h

#include <zz_export.h>

/*
    Description:
    GIF färg

    Library:
    libgd.a libzzinet.a (HPUX) libgd.lib libzzinet.lib (win32)

    Platform:
    HPUX, win32

    Author:
    Toni Thomsson, toni@tonjac.org
*/
class ZZ_API CzzImageColor
{
public:

    /*
        Description:
        Skapar en färg

        Remarks:
        Defaultkonstruktor = svart färg
    */
    CzzImageColor( void );

    /*
        Remarks:
        Skapar en färg mha. RGB
    */
    CzzImageColor( int r, int g, int b );

    /*
        Remarks:
        Kopieringskonstruktor
    */
    CzzImageColor( const CzzImageColor& obj );
    
    // Description: Tilldelningsoperator
    const CzzImageColor& operator=( const CzzImageColor& obj );

    // Description: Destruktor
    virtual ~CzzImageColor();

    // Description: Andel röd (RGB)
    int getRed( void ) const;

    // Description: Andel grön (RGB)
    int getGreen( void ) const;

    // Description: Andel blå (RGB)
    int getBlue( void ) const;

    // Description: vit färg
    static CzzImageColor white( void );

    // Description: svart färg
    static CzzImageColor black( void );

    // Description: blå färg
    static CzzImageColor blue( void );

    // Description: röd färg
    static CzzImageColor red( void );

    // Description: grön färg
    static CzzImageColor green( void );

    // Description: gul färg    
    static CzzImageColor yellow( void );
    
private:
    int m_R;
    int m_G;
    int m_B;
};

#endif // zz_image_color_h