OsuVRUIButton.h 861 B

12345678910111213141516171819202122232425262728293031
  1. //================ Copyright (c) 2017, PG, All rights reserved. =================//
  2. //
  3. // Purpose: a simple empty VR button
  4. //
  5. // $NoKeywords: $osuvrbt
  6. //===============================================================================//
  7. #ifndef OSUVRUIBUTTON_H
  8. #define OSUVRUIBUTTON_H
  9. #include "OsuVRUIElement.h"
  10. class OsuVRUIButton : public OsuVRUIElement {
  11. public:
  12. OsuVRUIButton(OsuVR *vr, float x, float y, float width, float height);
  13. virtual void drawVR(Graphics *g, Matrix4 &mvp);
  14. virtual void update(Vector2 cursorPos);
  15. typedef fastdelegate::FastDelegate0<> ButtonClickVoidCallback;
  16. void setClickCallback(ButtonClickVoidCallback clickCallback) { m_clickVoidCallback = clickCallback; }
  17. protected:
  18. virtual void onClicked();
  19. private:
  20. bool m_bClickCheck;
  21. ButtonClickVoidCallback m_clickVoidCallback;
  22. };
  23. #endif