MonitorControl/MonitorControl/Objects/SliderHandler.swift
Guillaume Broder 036a29d4bc
🎉 1.0
- Code rework
- Native OSD
- Change default shortcuts for problems with apps
- Codesign app

Signed-off-by: Guillaume Broder <iamnotheoneyouseek@gmail.com>
2017-09-24 15:25:46 +02:00

37 lines
793 B
Swift

//
// SliderHandler.swift
// MonitorControl
//
// Created by Guillaume BRODER on 9/17/2017.
// MIT Licensed. 2017.
//
import Cocoa
class SliderHandler: NSObject {
var display : Display
var command : Int32 = 0
public init(display: Display, command: Int32) {
self.display = display
self.command = command
}
@objc func valueChanged(slider: NSSlider) {
let snapInterval = 25
let snapThreshold = 3
var value = slider.integerValue
let closest = (value + snapInterval / 2) / snapInterval * snapInterval
if abs(closest - value) <= snapThreshold {
value = closest
slider.integerValue = value
}
Utils.ddcctl(monitor: display.id, command: command, value: value)
prefs.setValue(value, forKey: "\(command)-\(display.serial)")
prefs.synchronize()
}
}