VMDisplayMetalViewController+Touch.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // Copyright © 2020 osy. All rights reserved.
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. //
  16. #import "VMDisplayMetalViewController.h"
  17. #import "CSInput.h"
  18. typedef NS_ENUM(NSInteger, VMGestureType) {
  19. VMGestureTypeNone,
  20. VMGestureTypeDragCursor,
  21. VMGestureTypeRightClick,
  22. VMGestureTypeMoveScreen,
  23. VMGestureTypeMouseWheel,
  24. VMGestureTypeMax
  25. };
  26. typedef NS_ENUM(NSInteger, VMMouseType) {
  27. VMMouseTypeRelative,
  28. VMMouseTypeAbsolute,
  29. VMMouseTypeAbsoluteHideCursor,
  30. VMMouseTypeMax
  31. };
  32. NS_ASSUME_NONNULL_BEGIN
  33. @interface VMDisplayMetalViewController (Gestures) <UIGestureRecognizerDelegate>
  34. @property (nonatomic, readonly) CSInputButton mouseButtonDown;
  35. @property (nonatomic, readonly) VMMouseType touchMouseType;
  36. @property (nonatomic, readonly) VMMouseType pencilMouseType;
  37. @property (nonatomic, readonly) VMMouseType indirectMouseType;
  38. - (void)initTouch;
  39. - (CGPoint)clipCursorToDisplay:(CGPoint)pos;
  40. - (CGPoint)moveMouseAbsolute:(CGPoint)location;
  41. - (CGPoint)moveMouseRelative:(CGPoint)translation;
  42. - (CGPoint)moveMouseScroll:(CGPoint)translation;
  43. - (void)scrollWithInertia:(UIPanGestureRecognizer *)sender;
  44. - (void)mouseClick:(CSInputButton)button location:(CGPoint)location;
  45. @end
  46. NS_ASSUME_NONNULL_END