CmOSCursorImpl.cpp 668 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "X11/CmOSCursorImpl.h"
  2. // TODO - Not tested and will not work until I properly test it on a mac system!
  3. namespace CamelotEngine
  4. {
  5. OSCursor()
  6. {
  7. }
  8. Int2 OSCursor::getPosition()
  9. {
  10. NSPoint mouseLoc;
  11. mouseLoc = [NSEvent mouseLocation];
  12. return Int2(mouseLoc.x, mouseLoc.y);
  13. }
  14. void OSCursor::setPosition(const Int2& pos)
  15. {
  16. CGPoint globalPoint = CGPointMake(pos.x, pos.y);
  17. CGWarpMouseCursorPosition(globalPoint);
  18. }
  19. void OSCursor::hide()
  20. {
  21. [NSCursor hide];
  22. CGAssociateMouseAndMouseCursorPosition(false);
  23. }
  24. void OSCursor::show()
  25. {
  26. [NSCursor unhide];
  27. CGAssociateMouseAndMouseCursorPosition(true);
  28. }
  29. }