-
Notifications
You must be signed in to change notification settings - Fork 0
/
displayres.swift
27 lines (23 loc) · 1.04 KB
/
displayres.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import Foundation
import CoreGraphics
var displayConfig: CGDisplayConfigRef = nil
let mainDisplayID = CGMainDisplayID()
var displayMode = CGDisplayCopyDisplayMode(mainDisplayID) // .takeRetainedValue()
var width = CGDisplayModeGetWidth(displayMode)
var height = CGDisplayModeGetHeight(displayMode)
print("current size: \(width)x\(height)")
print("available sizes:")
var modes = CGDisplayCopyAllDisplayModes(mainDisplayID, nil) // .takeRetainedValue()
let modesCount = CFArrayGetCount(modes) - 1
for i in 0...modesCount {
var mode: CGDisplayModeRef = unsafeBitCast(CFArrayGetValueAtIndex(modes, i), CGDisplayModeRef.self)
var width = CGDisplayModeGetWidth(mode)
var height = CGDisplayModeGetHeight(mode)
print("\t\(i) : \(width)x\(height)")
if ( i == 1 ) {
var config: CGDisplayConfigRef = nil
CGConfigureDisplayWithDisplayMode(config, mainDisplayID, mode, nil)
//CGCompleteDisplayConfiguration(config, kCGConfigureForSession )
CGCompleteDisplayConfiguration(config.memory, CGConfigureOption.ForSession)
}
}