qskinny/skins/material/QskMaterialSkinFactory.h

44 lines
1.1 KiB
C++

/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
* This file may be used under the terms of the 3-clause BSD License
*****************************************************************************/
#ifndef QSK_MATERIAL_SKIN_FACTORY_H
#define QSK_MATERIAL_SKIN_FACTORY_H
#include "QskMaterialGlobal.h"
#include <QskRgbPalette.h>
#include <QskSkinFactory.h>
class QSK_MATERIAL_EXPORT QskMaterialSkinFactory : public QskSkinFactory
{
Q_OBJECT
Q_PLUGIN_METADATA( IID QskSkinFactoryIID FILE "metadata.json" )
Q_INTERFACES( QskSkinFactory )
public:
QskMaterialSkinFactory( QObject* parent = nullptr );
~QskMaterialSkinFactory() override;
enum PaletteType
{
Primary,
Secondary,
Tertiary,
Error,
Neutral,
NeutralVariant,
NumPaletteTypes
};
QStringList skinNames() const override;
QskSkin* createSkin( const QString& skinName ) override;
private:
QskRgbPalette m_palettes[ NumPaletteTypes ];
};
#endif