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_RENDERER_H 20 #define _DE_RENDERER_H 21 22 class deChannelManager; 23 class deViewManager; 24 class deLayerProcessor; 25 class deLayerStack; 26 #include "size.h" 27 #include "rendered_image.h" 28 #include "mutex.h" 29 30 class deRenderer 31 { 32 private: 33 deRenderedImage renderedImage; 34 deSize size; 35 deChannelManager& channelManager; 36 deMutex mutex; 37 38 unsigned char* getCurrentImageData(); 39 40 public: 41 deRenderer(deChannelManager& _channelManager); 42 virtual ~deRenderer(); 43 44 bool render(deCanvas& canvas); 45 bool prepareImage(const deViewManager& viewManager, deLayerProcessor& layerProcessor, deLayerStack& layerStack); 46 }; 47 48 #endif 49