KX_BlenderInputDevice.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * ***** BEGIN GPL LICENSE BLOCK *****
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation; either version 2
  7. * of the License, or (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software Foundation,
  16. * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  17. *
  18. * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  19. * All rights reserved.
  20. *
  21. * The Original Code is: all of this file.
  22. *
  23. * Contributor(s): none yet.
  24. *
  25. * ***** END GPL LICENSE BLOCK *****
  26. */
  27. /** \file KX_BlenderInputDevice.h
  28. * \ingroup blroutines
  29. */
  30. #ifndef __KX_BLENDERINPUTDEVICE_H__
  31. #define __KX_BLENDERINPUTDEVICE_H__
  32. #ifdef _MSC_VER
  33. # pragma warning(disable:4786) // shut off 255 char limit debug template warning
  34. #endif
  35. #include <map>
  36. #include "wm_event_types.h"
  37. #include "WM_types.h"
  38. #include "SCA_IInputDevice.h"
  39. #include "BL_BlenderDataConversion.h"
  40. #ifdef WITH_CXX_GUARDEDALLOC
  41. #include "MEM_guardedalloc.h"
  42. #endif
  43. /**
  44. * Base Class for Blender specific inputdevices.
  45. * Blender specific inputdevices are used when the gameengine is running in embedded mode instead of standalone mode.
  46. */
  47. class BL_BlenderInputDevice : public SCA_IInputDevice
  48. {
  49. public:
  50. BL_BlenderInputDevice()
  51. {
  52. }
  53. virtual ~BL_BlenderInputDevice()
  54. {
  55. }
  56. KX_EnumInputs ToNative(unsigned short incode) {
  57. return ConvertKeyCode(incode);
  58. }
  59. virtual bool IsPressed(SCA_IInputDevice::KX_EnumInputs inputcode)=0;
  60. // virtual const SCA_InputEvent& GetEventValue(SCA_IInputDevice::KX_EnumInputs inputcode)=0;
  61. virtual bool ConvertBlenderEvent(unsigned short incode, short val, unsigned int unicode)=0;
  62. #ifdef WITH_CXX_GUARDEDALLOC
  63. MEM_CXX_CLASS_ALLOC_FUNCS("GE:BL_BlenderInputDevice")
  64. #endif
  65. };
  66. #endif /* __KX_BLENDERINPUTDEVICE_H__ */