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

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
 
[[Mac OS X Lion]]から利用できるようになったフルスクリーン表示を[[MonoMac]]から利用する方法を示す。
 
[[Mac OS X Lion]]から利用できるようになったフルスクリーン表示を[[MonoMac]]から利用する方法を示す。
  
[[OpenGL]]などで使われる「フルスクリーンモード」とは別物なので注意すること。
+
==概要==
OpenGLのフルスクリーンモードでは[[GPU]]への低レベルアクセスができる代わりに[[Cocoa]]がほぼ機能しなくなるが、フルスクリーン表示はあくまでウインドウを全画面表示しているだけ[[Cocoa]]も問題なく使える。
+
[[Mac OS X Lion]]から利用できるようになったフルスクリーン表示の使い方を示す。
 +
もともとフルスクリーン表示はタイトルバーの右上にあるアイコンで行ったが、[[Mac OS X 10.10 Yosemite]]からは緑ボタンがウインドウ最大化(最適化)からフルスクリーンに変更されウザいアレである。
 +
*[[OS X 10.10 Yosemite/緑ボタンでフルスクリーンになるのを最大化に変更する]]
 +
 
 +
ここでいうフルスクリーン表示は[[OpenGL]]などで使われる「フルスクリーンモード」とは別物なので注意すること。OpenGLのフルスクリーンモードでは[[GPU]]への低レベルアクセスができる代わりに[[Cocoa]]がほぼ機能しなくなるが、フルスクリーン表示はあくまでウインドウを全画面表示しているだけであり[[Cocoa]]も問題なく使える。
  
 
== 方法1 xibファイルで設定しておく ==
 
== 方法1 xibファイルで設定しておく ==
51行目: 55行目:
 
*[[MonoMac]]
 
*[[MonoMac]]
 
*[[Mac OS X]]
 
*[[Mac OS X]]
 +
*[[OS X 10.10 Yosemite/緑ボタンでフルスクリーンになるのを最大化に変更する]]
 +
*[[Xamarin.Mac/Retina Displayか判別する‎]]
  
 
== 参考文献 ==
 
== 参考文献 ==

2015年6月5日 (金) 01:49時点における最新版

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

概要[編集 | ソースを編集]

Mac OS X Lionから利用できるようになったフルスクリーン表示の使い方を示す。 もともとフルスクリーン表示はタイトルバーの右上にあるアイコンで行ったが、Mac OS X 10.10 Yosemiteからは緑ボタンがウインドウ最大化(最適化)からフルスクリーンに変更されウザいアレである。

ここでいうフルスクリーン表示は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);
        }
    }
}

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]