JUCEでデバイスの回転を検知する
JUCEでiOS向けアプリを書いていて、デバイスの回転(orientation change)を検知する方法。
前提
Projucerを使ってアプリ/プラグインのプロジェクトを作っている。
検知方法
まず、起動した時のサイズをチェック。
auto r = juce::Desktop::getInstance().getDisplays().getPrimaryDisplay()->totalArea;
setSize (r.getWidth(), r.getHeight());
これでデバイスのスクリーンサイズがわかる。iPad Pro 9.7inchなら1024x768か768x1024が返ってくる。このサイズでeditorのサイズをセットしておく。
その後、デバイスを回転するたびにAudioProcessorEditorクラスのresized()が呼ばれる。widthとheightが入れ替わるので、それに応じて自分のeditorを調整。ただし、Projucerのプロジェクト設定でチェックしてないScreen Orientationの時は呼ばれない。デフォルトでは180度(ポートレートの逆さま)はチェックが外れてるので、これが必要な時は自分でチェックしておくこと。iPhoneとiPadで設定は別々。この設定はそのままXcodeのTARGETS>General>Deployment Infoに反映されてる。
Author And Source
この問題について(JUCEでデバイスの回転を検知する), 我々は、より多くの情報をここで見つけました https://qiita.com/ring2/items/7b0f58c589b5d9117c61著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .