Manual_Input.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // Copyright (c) 2008-2023 the Urho3D project
  2. // License: MIT
  3. #pragma once
  4. #include "../Input/Input.h"
  5. namespace Urho3D
  6. {
  7. // bool Input::SaveGestures(Serializer& dest) | File: ../Input/Input.h
  8. template <class T> bool Input_SaveGestures_File(File* file, T* ptr)
  9. {
  10. return file && ptr->SaveGestures(*file);
  11. }
  12. // bool Input::SaveGestures(Serializer& dest) | File: ../Input/Input.h
  13. template <class T> bool Input_SaveGestures_VectorBuffer(VectorBuffer& buffer, T* ptr)
  14. {
  15. return ptr->SaveGestures(buffer);
  16. }
  17. // bool Input::SaveGesture(Serializer& dest, unsigned gestureID) | File: ../Input/Input.h
  18. template <class T> bool Input_SaveGesture_File_uint(File* file, unsigned gestureID, T* ptr)
  19. {
  20. return file && ptr->SaveGesture(*file, gestureID);
  21. }
  22. // bool Input::SaveGesture(Serializer& dest, unsigned gestureID) | File: ../Input/Input.h
  23. template <class T> bool Input_SaveGesture_VectorBuffer_uint(VectorBuffer& buffer, unsigned gestureID, T* ptr)
  24. {
  25. return ptr->SaveGesture(buffer, gestureID);
  26. }
  27. // unsigned Input::LoadGestures(Deserializer& source) | File: ../Input/Input.h
  28. template <class T> unsigned Input_LoadGestures_File(File* file, T* ptr)
  29. {
  30. return file ? ptr->LoadGestures(*file) : 0;
  31. }
  32. // unsigned Input::LoadGestures(Deserializer& source) | File: ../Input/Input.h
  33. template <class T> unsigned Input_LoadGestures_VectorBuffer(VectorBuffer& buffer, T* ptr)
  34. {
  35. return ptr->LoadGestures(buffer);
  36. }
  37. // void Input::SetMouseGrabbed(bool grab, bool suppressEvent = false) | File: ../Input/Input.h
  38. template <class T> void Input_SetMouseGrabbed(bool enable, T* ptr)
  39. {
  40. ptr->SetMouseGrabbed(enable, false);
  41. }
  42. // void Input::SetMouseMode(MouseMode mode, bool suppressEvent = false) | File: ../Input/Input.h
  43. template <class T> void Input_SetMouseMode(MouseMode mode, T* ptr)
  44. {
  45. ptr->SetMouseMode(mode, false);
  46. }
  47. // void Input::SetMouseVisible(bool enable, bool suppressEvent = false) | File: ../Input/Input.h
  48. template <class T> void Input_SetMouseVisible(bool enable, T* ptr)
  49. {
  50. ptr->SetMouseVisible(enable, false);
  51. }
  52. #define REGISTER_MEMBERS_MANUAL_PART_Input() \
  53. /* bool Input::SaveGestures(Serializer& dest) | File: ../Input/Input.h */ \
  54. engine->RegisterObjectMethod(className, "bool SaveGestures(File@+)", AS_FUNCTION_OBJLAST(Input_SaveGestures_File<T>), AS_CALL_CDECL_OBJLAST); \
  55. engine->RegisterObjectMethod(className, "bool SaveGestures(VectorBuffer&)", AS_FUNCTION_OBJLAST(Input_SaveGestures_VectorBuffer<T>), AS_CALL_CDECL_OBJLAST); \
  56. \
  57. /* bool Input::SaveGesture(Serializer& dest, unsigned gestureID) | File: ../Input/Input.h */ \
  58. engine->RegisterObjectMethod(className, "bool SaveGesture(File@+, uint)", AS_FUNCTION_OBJLAST(Input_SaveGesture_File_uint<T>), AS_CALL_CDECL_OBJLAST); \
  59. engine->RegisterObjectMethod(className, "bool SaveGesture(VectorBuffer&, uint)", AS_FUNCTION_OBJLAST(Input_SaveGesture_VectorBuffer_uint<T>), AS_CALL_CDECL_OBJLAST); \
  60. \
  61. /* unsigned Input::LoadGestures(Deserializer& source) | File: ../Input/Input.h */ \
  62. engine->RegisterObjectMethod(className, "uint LoadGestures(File@+)", AS_FUNCTION_OBJLAST(Input_LoadGestures_File<T>), AS_CALL_CDECL_OBJLAST); \
  63. engine->RegisterObjectMethod(className, "uint LoadGestures(VectorBuffer&)", AS_FUNCTION_OBJLAST(Input_LoadGestures_VectorBuffer<T>), AS_CALL_CDECL_OBJLAST); \
  64. \
  65. /* void Input::SetMouseGrabbed(bool grab, bool suppressEvent = false) | File: ../Input/Input.h */ \
  66. engine->RegisterObjectMethod(className, "void set_mouseGrabbed(bool)", AS_FUNCTION_OBJLAST(Input_SetMouseGrabbed<T>), AS_CALL_CDECL_OBJLAST); \
  67. \
  68. /* void Input::SetMouseMode(MouseMode mode, bool suppressEvent = false) | File: ../Input/Input.h */ \
  69. engine->RegisterObjectMethod(className, "void set_mouseMode(MouseMode)", AS_FUNCTION_OBJLAST(Input_SetMouseMode<T>), AS_CALL_CDECL_OBJLAST); \
  70. \
  71. /* void Input::SetMouseVisible(bool enable, bool suppressEvent = false) | File: ../Input/Input.h */ \
  72. engine->RegisterObjectMethod(className, "void set_mouseVisible(bool)", AS_FUNCTION_OBJLAST(Input_SetMouseVisible<T>), AS_CALL_CDECL_OBJLAST);
  73. }