UnusualButton.h 979 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright aXiuShen. All Rights Reserved.
  2. #pragma once
  3. #include "Widgets/Input/SButton.h"
  4. #include "Engine/Texture2D.h"
  5. namespace syt {
  6. class SUnusualButton : public SButton
  7. {
  8. public:
  9. SUnusualButton();
  10. ~SUnusualButton();
  11. virtual FReply OnMouseButtonDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
  12. virtual FReply OnMouseButtonDoubleClick(const FGeometry& InMyGeometry, const FPointerEvent& InMouseEvent) override;
  13. virtual FReply OnMouseButtonUp(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
  14. virtual FReply OnMouseMove(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
  15. virtual FCursorReply OnCursorQuery(const FGeometry& MyGeometry, const FPointerEvent& CursorEvent) const override;
  16. virtual TSharedPtr<IToolTip> GetToolTip() override;
  17. protected:
  18. UTexture2D* GetHitTexture();
  19. UTexture2D* LoadTexture(const FString& ImagePath);
  20. private:
  21. UTexture2D* HitTexutre;
  22. };
  23. }