1 /*************************************************************************** 2 * Copyright (C) 2005-2019 by the FIFE team * 3 * http://www.fifengine.net * 4 * This file is part of FIFE. * 5 * * 6 * FIFE is free software; you can redistribute it and/or * 7 * modify it under the terms of the GNU Lesser General Public * 8 * License as published by the Free Software Foundation; either * 9 * version 2.1 of the License, or (at your option) any later version. * 10 * * 11 * This library 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 GNU * 14 * Lesser General Public License for more details. * 15 * * 16 * You should have received a copy of the GNU Lesser General Public * 17 * License along with this library; if not, write to the * 18 * Free Software Foundation, Inc., * 19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 20 ***************************************************************************/ 21 22 %module fife 23 %{ 24 #include "view/rendererbase.h" 25 %} 26 27 namespace FIFE { 28 class Camera; 29 class Layer; 30 class Instance; 31 class Map; 32 33 class RendererBase { 34 public: 35 RendererBase(); 36 virtual ~RendererBase(); 37 virtual std::string getName() = 0; getPipelinePosition()38 int32_t getPipelinePosition() { return m_position; } 39 void setPipelinePosition(int32_t position); 40 void setEnabled(bool enabled); 41 bool isEnabled(); 42 void addActiveLayer(Layer* layer); 43 void removeActiveLayer(Layer* layer); 44 void clearActiveLayers(); 45 void activateAllLayers(Map* map); getActiveLayers()46 std::list<Layer*> getActiveLayers() const {return m_active_layers;} 47 }; 48 49 class IRendererContainer { 50 public: ~IRendererContainer()51 virtual ~IRendererContainer() {} 52 virtual RendererBase* getRenderer(const std::string& renderername) = 0; 53 }; 54 55 } 56