2019-06-20 12:02:28 +02:00
|
|
|
/******************************************************************************
|
|
|
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
|
|
|
* This file may be used under the terms of the 3-clause BSD License
|
|
|
|
*****************************************************************************/
|
|
|
|
|
2017-10-17 17:29:02 +02:00
|
|
|
#include "Palette.h"
|
|
|
|
#include <QskRgbValue.h>
|
|
|
|
|
|
|
|
#define RGB( color, weight ) color ## weight
|
|
|
|
|
|
|
|
#define RGBTABLE( c ) \
|
|
|
|
{ \
|
|
|
|
RGB( c, 50 ), RGB( c, 100 ), RGB( c, 200 ), RGB( c, 300 ), RGB( c, 400 ), \
|
|
|
|
RGB( c, 500 ), RGB( c, 600 ), RGB( c, 700 ), RGB( c, 800 ), RGB( c, 900 ) \
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace
|
|
|
|
{
|
|
|
|
class StandardPalette : public Palette
|
|
|
|
{
|
2018-08-03 08:15:28 +02:00
|
|
|
public:
|
2017-10-17 17:29:02 +02:00
|
|
|
StandardPalette( int index )
|
|
|
|
{
|
|
|
|
using namespace QskRgbValue;
|
|
|
|
|
2018-08-03 08:15:28 +02:00
|
|
|
static QRgb table[][ Palette::NumWeights ] =
|
2017-10-17 17:29:02 +02:00
|
|
|
{
|
|
|
|
RGBTABLE( Red ),
|
|
|
|
RGBTABLE( Pink ),
|
|
|
|
RGBTABLE( Purple ),
|
|
|
|
RGBTABLE( DeepPurple ),
|
|
|
|
RGBTABLE( Indigo ),
|
|
|
|
RGBTABLE( Blue ),
|
|
|
|
RGBTABLE( LightBlue ),
|
|
|
|
RGBTABLE( Cyan ),
|
|
|
|
RGBTABLE( Teal ),
|
|
|
|
RGBTABLE( Green ),
|
2018-08-03 08:15:28 +02:00
|
|
|
RGBTABLE( LightGreen ),
|
2017-10-17 17:29:02 +02:00
|
|
|
RGBTABLE( Lime ),
|
|
|
|
RGBTABLE( Yellow ),
|
|
|
|
RGBTABLE( Amber ),
|
|
|
|
RGBTABLE( Orange ),
|
|
|
|
RGBTABLE( DeepOrange ),
|
|
|
|
RGBTABLE( Brown ),
|
|
|
|
RGBTABLE( Grey ),
|
|
|
|
RGBTABLE( BlueGrey ),
|
|
|
|
};
|
|
|
|
|
2018-08-03 08:15:28 +02:00
|
|
|
const int count = sizeof( table ) / sizeof( table[ 0 ] );
|
2017-10-17 17:29:02 +02:00
|
|
|
m_rgb = table[ qBound( 0, index, count ) ];
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
Palette Palette::palette( Color color )
|
|
|
|
{
|
|
|
|
return StandardPalette( static_cast< int >( color ) );
|
|
|
|
}
|