差分

ナビゲーションに移動 検索に移動

MonoMac/フルスクリーン表示に対応する

2,367 バイト追加, 2013年11月5日 (火) 03:11
ページの作成:「Mac OS X Lionから利用できるようになったフルスクリーン表示をMonoMacから利用する方法を示す。 OpenGLなどで使われる...」
[[Mac OS X Lion]]から利用できるようになったフルスクリーン表示を[[MonoMac]]から利用する方法を示す。

[[OpenGL]]などで使われる「フルスクリーンモード」とは別物なので注意すること。
OpenGLのフルスクリーンモードでは[[GPU]]への低レベルアクセスができる代わりに[[Cocoa]]がほぼ機能しなくなるが、フルスクリーン表示はあくまでウインドウを全画面表示しているだけ[[Cocoa]]も問題なく使える。

== 方法1 xibファイルで設定しておく ==
# MainWindow.xibファイルを開く。
# Attributes inspectorタブを開く。
# Full Screenセレクトボックスの値を「Unsupported」から「Primary Window」に変更する。
# おしまい

== 方法2 プログラムから制御する ==
# MonoMac.AppKit.NSWindowクラスのCollectionBehaviorプロパティにフラグを立てるとリアルタイムで反映される。
#* NSWindowCollectionBehavior列挙体には色々なフラグがあるので暇な人は他にも色々試してみよう。
<source lang="csharp">
using System;
using System.Collections.Generic;
using System.Linq;
using MonoMac.Foundation;
using MonoMac.AppKit;

namespace TestFullScreenView
{
public partial class MainWindowController : MonoMac.AppKit.NSWindowController
{
// 〜〜〜中略〜〜〜

// 何かキーを押したらフルスクリーン表示ボタン(右上に出るやつ)をオンオフするサンプル
public override void KeyUp(NSEvent theEvent)
{
bool isFullScreenIconEnabled = (this.Window.CollectionBehavior & NSWindowCollectionBehavior.FullScreenPrimary)
== NSWindowCollectionBehavior.FullScreenPrimary;
if (isFullScreenIconEnabled)
{
// フルスクリーン表示を無効化する
this.Window.CollectionBehavior &= ~NSWindowCollectionBehavior.FullScreenPrimary;
}
else
{
// フルスクリーン表示を友好化する
this.Window.CollectionBehavior |= NSWindowCollectionBehavior.FullScreenPrimary;
}

base.KeyUp(theEvent);
}
}
}
</source>

== 関連項目 ==
* [[MonoMac]]

== 参考文献 ==
{{reflist}}

{{stub}}
匿名利用者

案内メニュー