EXControlButton.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // EXControlButton.h
  3. // cocos2d_libs
  4. //
  5. // Created by ZhengSong on 2020/4/14.
  6. //
  7. #ifndef EXControlButton_h
  8. #define EXControlButton_h
  9. #include "CCControl.h"
  10. NS_CC_EXT_BEGIN
  11. class EXControlButton : public Control{
  12. public:
  13. static EXControlButton* create();
  14. virtual void setHighlighted(bool enabled) override;
  15. bool isPushed() const { return _isPushed; }
  16. // Overrides
  17. virtual bool onTouchBegan(Touch *touch, Event *event) override;
  18. virtual void onTouchMoved(Touch *touch, Event *event) override;
  19. virtual void onTouchEnded(Touch *touch, Event *event) override;
  20. virtual void onTouchCancelled(Touch *touch, Event *event) override;
  21. void setContentSize(const Size& size)override;
  22. CC_CONSTRUCTOR_ACCESS:
  23. EXControlButton();
  24. virtual bool init() override;
  25. protected:
  26. bool _isPushed;
  27. /** The preferred size of the button, if label is larger it will be expanded. */
  28. CC_PROPERTY_PASS_BY_REF(Size, _preferredSize, PreferredSize);
  29. /** Adjust the button zooming on touchdown. Default value is YES. */
  30. CC_PROPERTY(bool, _zoomOnTouchDown, ZoomOnTouchDown);
  31. /** Scale ratio button on touchdown. Default value 1.1f */
  32. CC_SYNTHESIZE(float, _scaleRatio, ScaleRatio);
  33. private:
  34. CC_DISALLOW_COPY_AND_ASSIGN(EXControlButton);
  35. };
  36. NS_CC_EXT_END
  37. #endif /* EXControlButton_h */