00001 /************************************************************************/ 00002 /* Ex Nihlo Engine by Hermanns Christophe */ 00003 /************************************************************************/ 00004 /* This program is free software; you can redistribute it and/or */ 00005 /* modify it under the terms of the GNU General Public License */ 00006 /* as published by the Free Software Foundation; either version 2 */ 00007 /* of the License, or (at your option) any later version. */ 00008 /* */ 00009 /* This program is distributed in the hope that it will be useful, */ 00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ 00012 /* */ 00013 /* See the GNU General Public License for more details. */ 00014 /* */ 00015 /* You should have received a copy of the GNU General Public License */ 00016 /* along with this program; if not, write to the Free Software */ 00017 /* Foundation, Inc., 59 Temple Place - Suite 330, */ 00018 /* Boston, MA 02111-1307, USA. */ 00019 /* */ 00020 /* If you use a important part of this code please send me a mail */ 00021 /* I just want to see where my code go thks :) */ 00022 /************************************************************************/ 00023 00024 /************************************************************************/ 00025 /* Contact */ 00026 /************************************************************************/ 00027 /* ExNihilo Website :www.ploksoftware.org */ 00028 /* */ 00029 /* Hermanns Christophe ExNihilo creator and main programmer */ 00030 /* */ 00031 /* Mail : Data@ploksoftware.org */ 00032 /* ICQ : 8030901 */ 00033 /* MSN Messenger : Data_7@hotmail.com */ 00034 /* */ 00035 /* Benjamin Michotte Linux port, webmaster */ 00036 /* */ 00037 /* Mail :binny@ploksoftware.org */ 00038 /* */ 00039 /************************************************************************/ 00040 00041 /************************************************************************/ 00042 /* File Description */ 00043 /************************************************************************/ 00044 /* File Name :ExManagerSpecialEffect.h */ 00045 /* */ 00046 /* Star Date :10/15/2002 */ 00047 /* */ 00048 /* Last Update : 00049 * $Id: 00050 * 00051 */ 00052 00053 #ifndef __EXMANAGERSPECIALEFFECT_H__ 00054 #define __EXMANAGERSPECIALEFFECT_H__ 00055 //-------------------------------- 00056 // File to include 00057 //-------------------------------- 00058 #include "ExDefine.h" 00059 #include "ExMath.h" 00060 #include "ExNihiloNameSpace.h" 00061 #include "ExManager.h" 00062 //-------------------------------- 00063 #define NON_EFFECT 0 00064 #define FADE_TO_WHITE 1 00065 #define WITHE_TO_FADE 2 00066 #define FADE_TO_BLACK 3 00067 #define BLACK_TO_FADE 4 00068 //-------------------------------- 00069 class ExManagerSpecialEffect : public ExManager 00070 { 00071 private: 00072 //-------------------------------- 00073 // Variable 00074 //-------------------------------- 00075 bool m_Antialliasing; 00076 bool m_MotionBlur; 00077 bool m_MotionBlurTexture; 00078 uint TextureMotionBlur; 00079 00080 int m_effect; 00081 float m_CouterEffect; 00082 //-------------------------------- 00083 // Singleton creation 00084 //-------------------------------- 00085 static bool m_flag; 00086 static ExManagerSpecialEffect *m_instance; 00087 ExManagerSpecialEffect(void); 00088 ~ExManagerSpecialEffect(void); 00089 //-------------------------------- 00090 public: 00091 static ExManagerSpecialEffect* CreateSingleton(void); 00092 //-------------------------------- 00093 // Methode 00094 //-------------------------------- 00095 void Reset(void); 00096 00097 void SetAntialliasingState(bool state); 00098 inline void SetMotionBlurState(bool state){m_MotionBlur=state;} 00099 inline bool GetAntialliasingState(void){return m_Antialliasing;} 00100 inline bool GetMotionBlurState(void){return m_MotionBlur;} 00101 00102 void MotionBlur(void); 00103 void CapturForMotionBlur(void); 00104 void Specialeffect(void); 00105 void SetSpecialEffect(int effect); 00106 //-------------------------------- 00107 // Operator 00108 //-------------------------------- 00109 //-------------------------------- 00110 // friends 00111 //-------------------------------- 00112 }; 00113 #endif //__EXMANAGERANIMATION_H__