Pencil2D  ff90c0872e88be3bf81c548cd60f01983012ec49
Pencil2D is an animation software for both bitmap and vector graphics. It is free, multi-platform, and open source.
 All Classes Functions
colormanager.cpp
1 /*
2 
3 Pencil - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2017 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 #include "colormanager.h"
19 
20 #include "object.h"
21 #include "editor.h"
22 
23 
24 ColorManager::ColorManager( QObject* parent ) : BaseManager( parent )
25 {
26 }
27 
28 ColorManager::~ColorManager()
29 {
30 }
31 
32 bool ColorManager::init()
33 {
34  return true;
35 }
36 
37 Status ColorManager::load( Object* o )
38 {
39  mCurrentFrontColor = o->data()->getCurrentColor();
40  return Status::OK;
41 }
42 
43 Status ColorManager::save( Object* o )
44 {
45  o->data()->setCurrentColor( mCurrentFrontColor );
46  return Status::OK;
47 }
48 
49 QColor ColorManager::frontColor()
50 {
51  return editor()->object()->getColour( mCurrentColorIndex ).colour;
52 }
53 
54 void ColorManager::setColorNumber( int n )
55 {
56  Q_ASSERT( n >= 0 );
57 
58  mCurrentColorIndex = n;
59 
60  QColor currentColor = editor()->object()->getColour( mCurrentColorIndex ).colour;
61  emit colorNumberChanged(mCurrentColorIndex);
62  emit colorChanged(currentColor);
63 }
64 
65 void ColorManager::setColor(const QColor& newColor)
66 {
67  QColor currentColor = editor()->object()->getColour( mCurrentColorIndex ).colour;
68  if (currentColor != newColor)
69  {
70  editor()->object()->setColour( mCurrentColorIndex, newColor );
71  emit colorChanged(newColor);
72 
73  qDebug("Pick Color(R=%d, G=%d, B=%d, A=%d)", newColor.red(), newColor.green(), newColor.blue(), newColor.alpha());
74  }
75 }
76 
77 int ColorManager::frontColorNumber()
78 {
79  return mCurrentColorIndex;
80 }
Definition: object.h:71