mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
44 lines
898 B
Swift
44 lines
898 B
Swift
//
|
|
// AlbumCoverButton.swift
|
|
// Persephone
|
|
//
|
|
// Created by Daniel Barber on 2019/6/28.
|
|
// Copyright © 2019 Dan Barber. All rights reserved.
|
|
//
|
|
|
|
import AppKit
|
|
|
|
class AlbumCoverButton: NSButton {
|
|
var dragging = false
|
|
var deltaX: CGFloat = 0
|
|
var deltaY: CGFloat = 0
|
|
|
|
override func mouseDown(with event: NSEvent) {
|
|
nextResponder?.mouseDown(with: event)
|
|
}
|
|
|
|
override func mouseDragged(with event: NSEvent) {
|
|
deltaX = deltaX + event.deltaX
|
|
deltaY = deltaY + event.deltaY
|
|
|
|
if (deltaX > 5 || deltaX < -5 || deltaY > 5 || deltaY < -5) {
|
|
dragging = true
|
|
}
|
|
|
|
nextResponder?.mouseDragged(with: event)
|
|
}
|
|
|
|
override func mouseUp(with event: NSEvent) {
|
|
deltaX = 0
|
|
deltaY = 0
|
|
|
|
if dragging {
|
|
dragging = false
|
|
nextResponder?.mouseUp(with: event)
|
|
} else {
|
|
super.mouseDown(with: event)
|
|
super.mouseUp(with: event)
|
|
}
|
|
}
|
|
}
|