1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-29 00:29:28 +00:00

An overridden getter looks more like this in Swift.

This commit is contained in:
Thomas Harte 2016-06-23 21:09:34 -04:00
parent 2bd71e7e9b
commit b8728285e7
4 changed files with 26 additions and 18 deletions

View File

@ -11,8 +11,10 @@ import Cocoa
class Atari2600Document: MachineDocument {
private var atari2600 = CSAtari2600()
override func machine() -> CSMachine? {
return atari2600
override var machine: CSMachine! {
get {
return atari2600
}
}
// MARK: NSDocument overrides

View File

@ -12,8 +12,10 @@ import AudioToolbox
class ElectronDocument: MachineDocument {
private lazy var electron = CSElectron()
override func machine() -> CSMachine! {
return electron
override var machine: CSMachine! {
get {
return electron
}
}
override func aspectRatio() -> NSSize {

View File

@ -20,8 +20,10 @@ class MachineDocument:
{
lazy var actionLock = NSLock()
lazy var drawLock = NSLock()
func machine() -> CSMachine! {
return nil
var machine: CSMachine! {
get {
return nil
}
}
func aspectRatio() -> NSSize {
@ -54,11 +56,11 @@ class MachineDocument:
let displayAspectRatio = self.aspectRatio()
aController.window?.contentAspectRatio = displayAspectRatio
openGLView.performWithGLContext({
self.machine().setView(self.openGLView, aspectRatio: Float(displayAspectRatio.width / displayAspectRatio.height))
self.machine.setView(self.openGLView, aspectRatio: Float(displayAspectRatio.width / displayAspectRatio.height))
})
setupClockRate()
self.machine().delegate = self
self.machine.delegate = self
}
func machineDidChangeClockRate(machine: CSMachine!) {
@ -68,15 +70,15 @@ class MachineDocument:
private func setupClockRate() {
// establish and provide the audio queue, taking advice as to an appropriate sampling rate
let maximumSamplingRate = CSAudioQueue.preferredSamplingRate()
let selectedSamplingRate = self.machine().idealSamplingRateFromRange(NSRange(location: 0, length: NSInteger(maximumSamplingRate)))
let selectedSamplingRate = self.machine.idealSamplingRateFromRange(NSRange(location: 0, length: NSInteger(maximumSamplingRate)))
if selectedSamplingRate > 0 {
audioQueue = CSAudioQueue(samplingRate: Float64(selectedSamplingRate))
audioQueue.delegate = self
self.machine().audioQueue = self.audioQueue
self.machine().setAudioSamplingRate(selectedSamplingRate, bufferSize:audioQueue.bufferSize / 2)
self.machine.audioQueue = self.audioQueue
self.machine.setAudioSamplingRate(selectedSamplingRate, bufferSize:audioQueue.bufferSize / 2)
}
self.bestEffortUpdater.clockRate = self.machine().clockRate
self.bestEffortUpdater.clockRate = self.machine.clockRate
}
override func close() {
@ -94,7 +96,7 @@ class MachineDocument:
func paste(sender: AnyObject!) {
let pasteboard = NSPasteboard.generalPasteboard()
if let string = pasteboard.stringForType(NSPasteboardTypeString) {
self.machine().paste(string)
self.machine.paste(string)
}
}
@ -106,7 +108,7 @@ class MachineDocument:
func runForNumberOfCycles(numberOfCycles: Int32) {
let cyclesToRunFor = min(numberOfCycles, Int32(bestEffortUpdater.clockRate / 10))
if actionLock.tryLock() {
self.machine().runForNumberOfCycles(cyclesToRunFor)
self.machine.runForNumberOfCycles(cyclesToRunFor)
actionLock.unlock()
}
}
@ -129,7 +131,7 @@ class MachineDocument:
final func openGLView(view: CSOpenGLView, drawViewOnlyIfDirty onlyIfDirty: Bool) {
bestEffortUpdater.update()
if drawLock.tryLock() {
self.machine().drawViewForPixelSize(view.backingSize, onlyIfDirty: onlyIfDirty)
self.machine.drawViewForPixelSize(view.backingSize, onlyIfDirty: onlyIfDirty)
drawLock.unlock()
}
}
@ -141,7 +143,7 @@ class MachineDocument:
// MARK: Key forwarding
private func withKeyboardMachine(action: (CSKeyboardMachine) -> ()) {
if let keyboardMachine = self.machine() as? CSKeyboardMachine {
if let keyboardMachine = self.machine as? CSKeyboardMachine {
action(keyboardMachine)
}
}

View File

@ -11,8 +11,10 @@ import Foundation
class Vic20Document: MachineDocument {
private lazy var vic20 = CSVic20()
override func machine() -> CSMachine! {
return vic20
override var machine: CSMachine! {
get {
return vic20
}
}
// MARK: NSDocument overrides