00001 00010 /* Copyright, 2004 Werewolf 00011 * 00012 * This file is part of Werewolf. 00013 * Werewolf is free software; you can redistribute it and/or modify 00014 * it under the terms of the GNU General Public License as published by 00015 * the Free Software Foundation; either version 2, or (at your option) 00016 * any later version. 00017 00018 * Werewolf is distributed in the hope that it will be useful, but 00019 * WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00021 * General Public License for more details. 00022 00023 * You should have received a copy of the GNU General Public License 00024 * along with Werewolf; see the file COPYING. If not, write to the 00025 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00026 * MA 02111-1307, USA. 00027 */ 00028 00029 #ifndef __C3DTASK_H__ 00030 #define __C3DTASK_H__ 00031 00032 // 00033 // System Includes 00034 // 00035 00036 // 00037 // NeL Includes 00038 // 00039 #include <nel/3d/u_scene.h> 00040 #include <nel/3d/u_instance.h> 00041 #include <nel/3d/u_text_context.h> 00042 #include <nel/3d/u_texture.h> 00043 #include <nel/misc/rgba.h> 00044 00045 // 00046 // Werewolf Includes 00047 // 00048 #include "wwcommon/ITask.h" 00049 #include "wwcommon/ISingleton.h" 00050 #include "wwcommon/CGenericObjectPool.h" 00051 00052 // 00053 // Class 00054 // 00055 00056 namespace WWCLIENT { 00057 00058 class C3DTask : public WWCOMMON::ISingleton<C3DTask>, public WWCOMMON::ITask { 00059 public: 00067 virtual void init(); 00068 00077 virtual void update(); 00078 00090 virtual void render(); 00091 virtual void release(); 00092 virtual std::string name(); 00093 00094 NL3D::UDriver &driver() const; 00095 NL3D::UScene &scene() const; 00096 NL3D::UTextContext &textContext() const; 00097 00105 void captureCursor(bool b); 00106 00113 void clear(); 00114 00122 void clearColor(NLMISC::CRGBA color); 00123 00124 uint16 getScreenWidth(); 00125 uint16 getScreenHeight(); 00126 00127 private: 00135 NL3D::UDriver *m_Driver; 00136 00142 NL3D::UTextContext *m_TextContext; 00143 00149 NL3D::UScene *m_Scene; 00150 00151 uint16 m_ScreenWidth; 00152 uint16 m_ScreenHeight; 00153 NLMISC::CRGBA m_AmbientColor; 00154 NLMISC::CRGBA m_ClearColor; 00155 }; 00156 00157 }; // END NAMESPACE WWCLIENT 00158 00159 #endif // __C3DTASK_H__
1.6.1