「Xamarin.Mac/NSViewの座標系を左下原点から左上原点に変更する」の版間の差分

編集の要約なし
編集の要約なし
3行目: 3行目:
[[エクセル]]のグラフなども基本はこれである。
[[エクセル]]のグラフなども基本はこれである。


しかし[[コンピューター]]の世界ではなぜか古くから「左上が原点で下方向が+Yで右方向が+X」という座標系が一般的となっている。
しかし[[コンピューター]]および[[コンピューター・グラフィックス]]の世界ではなぜか古くから「左上が原点で下方向が+Yで右方向が+X」という座標系が一般的となっている。
PC-9801のGRAMもWindowsのGDIもDirectXも皆これである。
[[PC-9801]]の[[GRAM]]も[[Windows]]の[[GDI]]も[[DirectX]]も皆これである。
このためWindowsなどからアプリを移植する際にこの点を考慮しないでコピペすると逆さま表示になる。
このため[[Windows]]などから[[アプリ]]を[[移植]]する際にこの点を考慮しないで[[コピペ]]すると逆さま表示になる。


しかし根本の[[ソースコード]]が壮大すぎて手を入れるのが難しい場合もある。
しかし根本の[[ソースコード]]が壮大すぎて手を入れるのが難しい場合もある。
そういうときはNSViewのIsFlippedプロパティをオーバーライドして常に「true」を返すようにすればよい。
そういうときはNSViewのIsFlippedプロパティをオーバーライドして常に「true」を返すようにすればよい。
この設定は、NSGraphcis系のみならず、CoreGraphicsにも反映される。
この設定は、NSGraphcis系のみならず、[[CoreGraphics]]にも反映される。


<source lang="csharp">
<source lang="csharp">