00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright © 2000-2002 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General License for more details. 00018 00019 You should have received a copy of the GNU Lesser General License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 #include "OgreStableHeaders.h" 00026 00027 #include "OgreString.h" 00028 #include "OgreMouseEvent.h" 00029 #include "OgreStringConverter.h" 00030 #include "OgrePositionTarget.h" 00031 00032 namespace Ogre { 00033 00034 MouseEvent::MouseEvent(PositionTarget* source, int id, int whichButton, Real when, int modifiers, 00035 Real x, Real y, Real z, int clickCount) : 00036 InputEvent(source, id, when, modifiers), 00037 mX(x),mY(y),mZ(z), 00038 mRelX(0), mRelY(0), mRelZ(0), 00039 mButtonID(whichButton), 00040 mClickCount(clickCount) 00041 { 00042 } 00043 00044 MouseEvent::MouseEvent(PositionTarget* source, int id, int whichButton, Real when, int modifiers, 00045 Real x, Real y, Real z, 00046 Real relx, Real rely, Real relz, 00047 int clickCount) : 00048 InputEvent(source, id, when, modifiers), 00049 mX(x), mY(y), mZ(z), 00050 mRelX(relx), mRelY(rely), mRelZ(relz), 00051 mButtonID(whichButton), 00052 mClickCount(clickCount) 00053 { 00054 } 00055 00056 00062 int MouseEvent::getClickCount() { 00063 return mClickCount; 00064 } 00065 00073 Real MouseEvent::getX() const { 00074 return mX; 00075 } 00083 Real MouseEvent::getY() const { 00084 return mY; 00085 } 00086 00094 Real MouseEvent::getZ() const { 00095 return mZ; 00096 } 00097 int MouseEvent::getButtonID() const 00098 { 00099 return mButtonID; 00100 00101 } 00102 00109 String MouseEvent::paramString() const { 00110 String typeStr; 00111 switch(mId) { 00112 case ME_MOUSE_PRESSED: 00113 typeStr = "MOUSE_PRESSED"; 00114 break; 00115 case ME_MOUSE_RELEASED: 00116 typeStr = "MOUSE_RELEASED"; 00117 break; 00118 case ME_MOUSE_CLICKED: 00119 typeStr = "MOUSE_CLICKED"; 00120 break; 00121 case ME_MOUSE_ENTERED: 00122 typeStr = "MOUSE_ENTERED"; 00123 break; 00124 case ME_MOUSE_EXITED: 00125 typeStr = "MOUSE_EXITED"; 00126 break; 00127 case ME_MOUSE_MOVED: 00128 typeStr = "MOUSE_MOVED"; 00129 break; 00130 case ME_MOUSE_DRAGGED: 00131 typeStr = "MOUSE_DRAGGED"; 00132 break; 00133 case ME_MOUSE_DRAGENTERED: 00134 typeStr = "MOUSE_DRAGENTERED"; 00135 break; 00136 case ME_MOUSE_DRAGEXITED: 00137 typeStr = "MOUSE_DRAGEXITED"; 00138 break; 00139 case ME_MOUSE_DRAGDROPPED: 00140 typeStr = "MOUSE_DRAGDROPPED"; 00141 break; 00142 case ME_MOUSE_DRAGMOVED: 00143 typeStr = "MOUSE_DRAGMOVED"; 00144 break; 00145 default: 00146 typeStr = "unknown type"; 00147 } 00148 return typeStr + ",("+StringConverter::toString(mX)+","+StringConverter::toString(mY)+")"+ ",mods="+StringConverter::toString(getModifiers())+ 00149 ",clickCount="+StringConverter::toString(mClickCount); 00150 } 00151 00159 void MouseEvent::translatePoint(Real x, Real y) { 00160 mX += x; 00161 mY += y; 00162 } 00163 00164 } 00165
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:22:27 2004