00001 /* 00002 * ExNihilo 3D Engine 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (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. See the 00012 * GNU Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 * 00018 * Please read AUTHORS file !!! 00019 * 00020 * 00021 */ 00022 00023 #include "ExCWindowButtonSwitch.h" 00024 //-------------------------------- 00025 // Constructor // Destructor 00026 //-------------------------------- 00027 ExCWindowButtonSwitch::ExCWindowButtonSwitch(void) 00028 { 00029 Guard(ExCWindowButtonSwitch::ExCWindowButtonSwitch(void)) 00030 Init(); 00031 UnGuard 00032 } 00033 00034 ExCWindowButtonSwitch::ExCWindowButtonSwitch(ExCVec2D Size,ExCVec2D Position) 00035 { 00036 Guard(ExCWindowButtonSwitch::ExCWindowButtonSwitch(ExCVec2D Size,ExCVec2D Position)) 00037 Init(); 00038 SetPosition(Position); 00039 SetOldPosition(Position); 00040 SetWindowSize(Size); 00041 SetOldWindowSize(Size); 00042 UnGuard 00043 } 00044 00045 ExCWindowButtonSwitch::~ExCWindowButtonSwitch(void) 00046 { 00047 } 00048 //-------------------------------- 00049 // Methode 00050 //-------------------------------- 00051 void ExCWindowButtonSwitch::Init(void) 00052 { 00053 Guard(void ExCWindowButtonSwitch::Init(void)) 00054 ExCWindowObject::Init(); 00055 SetName("ExCWindowButtonSwitch"); 00056 SetType(typeid(this).name()); 00057 ShowWindowTitle(true); 00058 m_StateButton=true; 00059 UnGuard 00060 } 00061 00062 void ExCWindowButtonSwitch::Draw(void) 00063 { 00064 Guard(void ExCWindowButtonSwitch::Draw(void)) 00065 ExCWindowObject::Draw(); 00066 UnGuard 00067 } 00068 00069 ExCAction ExCWindowButtonSwitch::InputCommand(ExCCommand Command) 00070 { 00071 Guard(ExCAction ExCWindowButtonSwitch::InputCommand(ExCCommand Command)) 00072 //std::cout<<"ExCWindowButtonSwitch::Input Command window:"<<Command.m_Command<<std::endl; 00073 for(unsigned int i=0;i<m_VecCommandAction.size();i++) 00074 { 00075 if(m_VecCommandAction.at(i).first.m_Command==Command.m_Command) 00076 { 00077 SwitchValue(); 00078 return m_VecCommandAction.at(i).second; 00079 } 00080 } 00081 return NOTHING; 00082 UnGuard 00083 } 00084 00085 ExCAction ExCWindowButtonSwitch::InputAction(ExCAction Action) 00086 { 00087 Guard(ExCAction ExCWindowButtonSwitch::InputAction(ExCAction Action)) 00088 return NOTHING; 00089 UnGuard 00090 } 00091 00092 void ExCWindowButtonSwitch::SwitchValue(void) 00093 { 00094 Guard(void ExCWindowButtonSwitch::SwitchValue(void)) 00095 ExCWindowButton *ValueSource; 00096 if (m_StateButton) 00097 { 00098 ValueSource=m_Butt1; 00099 m_StateButton=false; 00100 }else 00101 { 00102 ValueSource=m_Butt2; 00103 m_StateButton=true; 00104 } 00105 //Title 00106 m_ShowWindowTitle=ValueSource->IsShowWindowTitle(); 00107 m_WindowTitle=ValueSource->GetWindowTitle(); 00108 m_WindowOldTitle=ValueSource->GetWindowOldTitle(); 00109 m_WindowTitleColor=ValueSource->GetWindowTitleColor(); 00110 //Color and blending 00111 m_Blending=ValueSource->IsBackroundBlending(); 00112 m_BackroundBlending=ValueSource->GetBackroundBlending(); 00113 m_BackroundColor=ValueSource->GetBackroundColor(); 00114 //Border 00115 m_BorderColor=ValueSource->GetBorderColor(); 00116 m_BorderSize=ValueSource->GetBorderSize(); 00117 m_ShowBorder=ValueSource->GetShowBorder(); 00118 //Texturing 00119 m_BackroundIsTexturing1=ValueSource->IsBackroundTexturing1(); 00120 m_BackroundTexture1=ValueSource->GetBackroundTexture1(); 00121 m_BackroundIsTexturing2=ValueSource->IsBackroundTexturing2(); 00122 m_BackroundTexture2=ValueSource->GetBackroundTexture2(); 00123 m_TextureIsMouving=ValueSource->IsTextureIsMouving(); 00124 m_TextureMouvingVec=ValueSource->GetTextureMouvingVec(); 00125 00126 m_VecCommandAction=ValueSource->GetVecActionCommand(); 00127 UnGuard 00128 }