1 /*
2     delaboratory - color correction utility
3     Copyright (C) 2011 Jacek Poplawski
4 
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef _DE_CURVES_LAYER_H
20 #define _DE_CURVES_LAYER_H
21 
22 #include "layer_with_blending.h"
23 #include "curve.h"
24 
25 class dePropertyCurves;
26 
27 class deCurvesLayer:public deLayerWithBlending
28 {
29     private:
30         dePropertyCurves* getPropertyCurves();
31 
32     protected:
getType()33         virtual std::string getType() const {return "curves";};
34 
35     public:
36         deCurvesLayer(deColorSpace _colorSpace, int _sourceLayer, deLayerStack& _layerStack, deChannelManager& _channelManager);
37         virtual ~deCurvesLayer();
38 
39         virtual bool isChannelNeutral(int index);
40 
41         virtual bool updateMainImageSingleChannel(int i);
42 
getActionName()43         virtual std::string getActionName() {return "curves";};
44 
45         virtual void executeOperation(const std::string& operation);
46 
47 
48 };
49 
50 #endif
51