PolyUIVScrollBar.h 892 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * PolyUIVScrollBar.h
  3. * Poly
  4. *
  5. * Created by Ivan Safrin on 3/25/10.
  6. * Copyright 2010 Ivan Safrin. All rights reserved.
  7. *
  8. */
  9. #pragma once
  10. #include "PolyGlobals.h"
  11. #include "PolyUIBox.h"
  12. namespace Polycode {
  13. class _PolyExport UIVScrollBar : public ScreenEntity {
  14. public:
  15. UIVScrollBar(Number width, Number height, Number initialRatio);
  16. ~UIVScrollBar();
  17. void Update();
  18. Number getScrollValue();
  19. void handleEvent(Event *event);
  20. void Resize(int newHeight);
  21. void onMouseWheelDown(Number x, Number y);
  22. void onMouseWheelUp(Number x, Number y);
  23. void scrollUpOneTick();
  24. void scrollDownOneTick();
  25. Number minHandleSize;
  26. void setHandleRatio(Number newRatio);
  27. private:
  28. Number padding;
  29. Number scrollValue;
  30. Number lastPositionY;
  31. Number scrollHandleHeight;
  32. Number dragRectHeight;
  33. UIBox *bgBox;
  34. UIBox *handleBox;
  35. };
  36. }