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