mirror of
https://github.com/MonitorControl/MonitorControl.git
synced 2026-05-15 14:15:55 -06:00
- Code rework - Native OSD - Change default shortcuts for problems with apps - Codesign app Signed-off-by: Guillaume Broder <iamnotheoneyouseek@gmail.com>
37 lines
793 B
Swift
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()
|
|
}
|
|
}
|