1 /* 2 3 Pencil2D - Traditional Animation Software 4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon 5 Copyright (C) 2012-2020 Matthew Chiawen Chang 6 7 This program is free software; you can redistribute it and/or 8 modify it under the terms of the GNU General Public License 9 as published by the Free Software Foundation; version 2 of the License. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 */ 17 18 #ifndef COLORMANAGER_H 19 #define COLORMANAGER_H 20 21 #include <QColor> 22 #include "basemanager.h" 23 24 25 26 class ColorManager : public BaseManager 27 { 28 Q_OBJECT 29 public: 30 explicit ColorManager(Editor* editor); 31 ~ColorManager() override; 32 33 bool init() override; 34 Status load(Object*) override; 35 Status save(Object*) override; 36 void workingLayerChanged(Layer*) override; 37 38 QColor frontColor(); 39 int frontColorNumber(); 40 void setColor(const QColor& color); 41 void setColorNumber(int n); 42 43 signals: 44 void colorChanged(QColor, int); // new color and color index 45 void colorNumberChanged(int); 46 47 private: 48 QColor mCurrentFrontColor{ 33, 33, 33, 255 }; 49 int mCurrentColorIndex = 0; 50 bool mIsWorkingOnVectorLayer = false; 51 }; 52 53 #endif // COLORMANAGER_H 54