「Xamarin.MacでNSOpenGLViewをRetina Displayに対応させる」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
[[Xamarin.Mac]]のNSOpenGLViewを[[Retina Display]]に対応させる。 | [[Xamarin.Mac]]のNSOpenGLViewを[[Retina Display]]に対応させる。 | ||
− | == 実装1 == | + | ==実装1== |
− | === NSOpenGLViewを貼る === | + | ===NSOpenGLViewを貼る=== |
Interface Builder でNSOpenGLViewを継承したカスタムコントロールを貼る。 | Interface Builder でNSOpenGLViewを継承したカスタムコントロールを貼る。 | ||
既にあるものをRetina対応させる場合は読み飛ばしてよい。 | 既にあるものをRetina対応させる場合は読み飛ばしてよい。 | ||
− | * | + | *[[Xamarin.Mac/NSOpenGLViewを使う]]も参照。 |
− | === Retina対応を有効にする === | + | ===Retina対応を有効にする=== |
Interface Builder のアトリビュートインスペクターで「Support Hi-Res Backing」の項目にチェックを入れる。 | Interface Builder のアトリビュートインスペクターで「Support Hi-Res Backing」の項目にチェックを入れる。 | ||
これでNSOpenGLViewはRetinaに対応する。 | これでNSOpenGLViewはRetinaに対応する。 | ||
[[ファイル:NSOpenGLView Hi-Resolution-Backing.png|none]] | [[ファイル:NSOpenGLView Hi-Resolution-Backing.png|none]] | ||
− | === Retinaを考慮して描画する === | + | ===Retinaを考慮して描画する=== |
Retinaを有効にした場合はRetinaを考慮せず描画処理を行うとグダグダになるので注意しよう。 | Retinaを有効にした場合はRetinaを考慮せず描画処理を行うとグダグダになるので注意しよう。 | ||
− | + | 図形への影響は小さいが文字列の場合はさらに悲惨なことになるので特に注意すること。 | |
この例ではConvertRectToBackingメソッドとGL.Viewportでサイズをあわせている。 | この例ではConvertRectToBackingメソッドとGL.Viewportでサイズをあわせている。 |