「MonoMac/フルスクリーン表示に対応する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「Mac OS X Lionから利用できるようになったフルスクリーン表示をMonoMacから利用する方法を示す。 OpenGLなどで使われる...」)
 
49行目: 49行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[MonoMac]]
+
*[[MonoMac]]
 +
*[[Mac OS X]]
  
 
== 参考文献 ==
 
== 参考文献 ==
55行目: 56行目:
  
 
{{stub}}
 
{{stub}}
 +
 +
[[category:MonoMac]]

2014年10月23日 (木) 14:03時点における版

Mac OS X Lionから利用できるようになったフルスクリーン表示をMonoMacから利用する方法を示す。

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

方法1 xibファイルで設定しておく

  1. MainWindow.xibファイルを開く。
  2. Attributes inspectorタブを開く。
  3. Full Screenセレクトボックスの値を「Unsupported」から「Primary Window」に変更する。
  4. おしまい

方法2 プログラムから制御する

  1. MonoMac.AppKit.NSWindowクラスのCollectionBehaviorプロパティにフラグを立てるとリアルタイムで反映される。
    • NSWindowCollectionBehavior列挙体には色々なフラグがあるので暇な人は他にも色々試してみよう。
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);
        }
    }
}

関連項目

参考文献