macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

supportedWindowDepths

INDEX>AppKit>NSScreen

スクリーンでサポートされる色深度を返します

Objective-C

@property(readonly) const NSWindowDepth *supportedWindowDepths

Swift

var supportedWindowDepths: UnsafePointer<NSWindowDepth> { get }

解説

スクリーンでサポートされる色深度を返します。
何ビットであるかを知るためにNSWindow.Depth.bitsPerPixelを使用します。

返り値

色深度の配列
Objective-C

@property(readonly) const NSWindowDepth *supportedWindowDepths

Swift

var supportedWindowDepths: UnsafePointer<NSWindowDepth> { get }

引数

フレームワーク

ApplicationKit

クラス

NSScreen

使用可能

10.0

参照

更新時のバージョン

OS X 10.14.5
Swift4.0

関連記事(外部サイト)

developer.apple.com


例文

//1895041668とか整数が返ってくるので、あとで何か必要
#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{


NSLog([NSString stringWithFormat:@"%d",[[NSScreen mainScreen] supportedWindowDepths ]]);

}

@end

Swift4.0

    @IBAction func function007(_ sender: Any) {
        let screenArray : [AnyObject] = NSScreen.screens
        for value in screenArray {
            let supportedWindowDepths : UnsafePointer<NSWindow.Depth> = value.supportedWindowDepths

            let depth : NSWindow.Depth = supportedWindowDepths.pointee
            //print(depth.rawValue)
            
            let depthbpp : Int = depth.bitsPerPixel
            print("supported window depths = \(depthbpp) bit")
        }
    }

Swift

    //NSWindow mainScreen()
    //NSWindow deepestScreen()
    //NSWindow screens()
    //NSWindow supportedWindowDepths()
    @IBAction func function001(sender: AnyObject) {
        let theScreen : NSScreen = NSScreen.mainScreen()!
        NSLog("main screen size=  (%.2f✕%.2f)",
                                    Float(theScreen.frame.size.width),
                                    Float(theScreen.frame.size.height) )
        //-> main screen size=  (1366.00✕768.00)
        
        let deepestScreen : NSScreen = NSScreen.deepestScreen()!
        NSLog("deepestScreen screen depth= %d", NSBitsPerPixelFromDepth(deepestScreen.depth) )
        //-> deepestScreen screen depth= 24
        

        
        let supportedWindowDepths : UnsafePointer<NSWindowDepth> = theScreen.supportedWindowDepths
        
        NSLog("supportedWindowDepths = %d", NSBitsPerPixelFromDepth( supportedWindowDepths[0]) )
        //-> supportedWindowDepths = 8
        
        let screenArray : [AnyObject] = NSScreen.screens()!
        for value in screenArray {
            NSLog("screen size=  (%.2f✕%.2f)",
                Float(value.frame.size.width),
                Float(value.frame.size.height) )
        }
        //-> screen size=  (1366.00✕768.00)
        //-> screen size=  (1920.00✕1080.00)

        
        var window : NSWindow
        = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0),
            styleMask: NSTitledWindowMask
                | NSClosableWindowMask
                | NSMiniaturizableWindowMask
                | NSResizableWindowMask,
            backing: .Buffered,
            defer: false,
            screen: theScreen )
        windowArray.addObject(window) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        window.center()//ウインドウをスクリーンの中心に
        window.title = "ウインドウタイトル"//タイトル設定
        window.orderFront(self)//前面に
        window.makeKeyAndOrderFront(self)//表示
    }