| @@ -145,40 +145,34 @@ class View: NSView, CALayerDelegate { · 144 unmodified lines |
| 145 | 145 | } |
| 146 | 146 | |
| 147 | 147 | override func mouseDown(with event: NSEvent) { |
| 148 | | − if input?.mouseEnabled() ?? true { |
| 149 | | − signalMouseDown(event) |
| 150 | | − } |
| 148 | + hasMouseDown = true |
| 149 | + input?.processMouse(event: event) |
| 151 | 150 | } |
| 152 | 151 | |
| 153 | 152 | override func mouseUp(with event: NSEvent) { |
| 154 | | − if input?.mouseEnabled() ?? true { |
| 155 | | − signalMouseUp(event) |
| 156 | | − } |
| 153 | + hasMouseDown = false |
| 157 | 154 | common.window?.isMoving = false |
| 155 | + input?.processMouse(event: event) |
| 158 | 156 | } |
| 159 | 157 | |
| 160 | 158 | override func rightMouseDown(with event: NSEvent) { |
| 161 | | − if input?.mouseEnabled() ?? true { |
| 162 | | − signalMouseDown(event) |
| 163 | | − } |
| 159 | + hasMouseDown = true |
| 160 | + input?.processMouse(event: event) |
| 164 | 161 | } |
| 165 | 162 | |
| 166 | 163 | override func rightMouseUp(with event: NSEvent) { |
| 167 | | − if input?.mouseEnabled() ?? true { |
| 168 | | − signalMouseUp(event) |
| 169 | | − } |
| 164 | + hasMouseDown = false |
| 165 | + input?.processMouse(event: event) |
| 170 | 166 | } |
| 171 | 167 | |
| 172 | 168 | override func otherMouseDown(with event: NSEvent) { |
| 173 | | − if input?.mouseEnabled() ?? true { |
| 174 | | − signalMouseDown(event) |
| 175 | | − } |
| 169 | + hasMouseDown = true |
| 170 | + input?.processMouse(event: event) |
| 176 | 171 | } |
| 177 | 172 | |
| 178 | 173 | override func otherMouseUp(with event: NSEvent) { |
| 179 | | − if input?.mouseEnabled() ?? true { |
| 180 | | − signalMouseUp(event) |
| 181 | | − } |
| 174 | + hasMouseDown = false |
| 175 | + input?.processMouse(event: event) |
| 182 | 176 | } |
| 183 | 177 | |
| 184 | 178 | override func magnify(with event: NSEvent) { |
| @@ -188,23 +182,6 @@ class View: NSView, CALayerDelegate { · 3 unmodified lines |
| 188 | 182 | common.window?.addWindowScale(Double(event.magnification)) |
| 189 | 183 | } |
| 190 | 184 | |
| 191 | | − func signalMouseDown(_ event: NSEvent) { |
| 192 | | − signalMouseEvent(event, MP_KEY_STATE_DOWN) |
| 193 | | − if event.clickCount > 1 { |
| 194 | | − signalMouseEvent(event, MP_KEY_STATE_UP) |
| 195 | | − } |
| 196 | | − } |
| 197 | | − |
| 198 | | − func signalMouseUp(_ event: NSEvent) { |
| 199 | | − signalMouseEvent(event, MP_KEY_STATE_UP) |
| 200 | | − } |
| 201 | | − |
| 202 | | − func signalMouseEvent(_ event: NSEvent, _ state: UInt32) { |
| 203 | | − hasMouseDown = state == MP_KEY_STATE_DOWN |
| 204 | | − let mpkey = getMpvButton(event) |
| 205 | | − input?.put(key: (mpkey | Int32(state)), modifiers: event.modifierFlags) |
| 206 | | − } |
| 207 | | − |
| 208 | 185 | func signalMouseMovement(_ event: NSEvent) { |
| 209 | 186 | var point = convert(event.locationInWindow, from: nil) |
| 210 | 187 | point = convertToBacking(point) |
| @@ -283,16 +260,4 @@ class View: NSView, CALayerDelegate { · 72 unmodified lines |
| 283 | 260 | guard let window = common.window else { return false } |
| 284 | 261 | return !hasMouseDown && containsMouseLocation() && window.isKeyWindow |
| 285 | 262 | } |
| 286 | | − |
| 287 | | − func getMpvButton(_ event: NSEvent) -> Int32 { |
| 288 | | − let buttonNumber = event.buttonNumber |
| 289 | | − switch (buttonNumber) { |
| 290 | | − case 0: return SWIFT_MBTN_LEFT |
| 291 | | − case 1: return SWIFT_MBTN_RIGHT |
| 292 | | − case 2: return SWIFT_MBTN_MID |
| 293 | | − case 3: return SWIFT_MBTN_BACK |
| 294 | | − case 4: return SWIFT_MBTN_FORWARD |
| 295 | | − default: return SWIFT_MBTN9 + Int32(buttonNumber - 5) |
| 296 | | − } |
| 297 | | − } |
| 298 | 263 | } |