Core Graphics >     CGConfigureDisplayMirrorOfDisplay(_:_:_:)
関数
CGConfigureDisplayMirrorOfDisplay(_:_:_:)
ミラーリングセットの構成を変更します。
宣言
パラメータ
configRef | CGBeginDisplayConfiguration(_:) を呼び出して取得したディスプレイ構成。 |
display | ミラーリングセットに追加するべきディスプレイの ID。 |
masterDisplay | ミラーリングセット内のディスプレイ、またはディスプレイミラーリングへの kCGNullDirectDisplay。メインディスプレイを指定するには、CGMainDisplayID() を使用して下さい。 |
戻り値
結果コード。Core Graphics のデータ型と定数 を参照してください。
議論
ディスプレイミラーリングとディスプレイマット生成は、デバイスドライバの裁量で、ハードウェア(推奨) またはソフトウェアのいずれかで実装されます。
- ハードウエアミラーリング
- ソフトウェアミラーリング
ハードウェアミラーリングを有効にすると、すべての描画がプライマリディスプレイに向けられます。CGDisplayPrimaryDisplay(_:) を参照してください。
デバイスドライバがハードウェアマット生成を選択した場合、アクティブな描画可能領域を反映するために、ディスプレイの境界と行バイトの値が調整されます。
ミラーリングのこの形式では、ミラーリングセット内の各ディスプレイに同じ内容が描画されます。ウィンドウシステムを使用するアプリケーションは、ウィンドウシステムがウィンドウコンテンツを適切なディスプレイに流し込む面倒を見るため、ミラーリングを心配する必要はありません。
ディスプレイキャプチャの場合と同様に、ディスプレイに直接描画するアプリケーションでは、ソフトウェアミラーセット内のすべてのミラーされたディスプレイに同じコンテンツを描画するのを確認しなければなりません。フルスクリーンの OpenGL コンテキスト(ウィンドウを介して描画しない) を使用してソフトウェアでミラー化されたディスプレイに描画する場合、各ディスプレイに対して共有する OpenGL コンテキストを作成し、各ディスプレイに対して再レンダリングする必要があります。
CGGetActiveDisplayList(_:_:_:) 関数を使用して、どのディスプレイがアクティブか、描画可能かを判断できます。これにより、アプリケーションは自動的に現在のディスプレイの正しい表示を行います。