SDL2 - Откриване на таблет спрямо телефон или размер на екрана

В SDL2 -- има ли добър начин за откриване на таблет спрямо телефон или определяне на размера на екрана (физически размер на екрана --- инчове/см/и т.н.)?

Искам да открия малки екрани и да увелича размерите на бутоните.

Търся начина SDL2 да направя това, за предпочитане, тъй като няма значение дали устройството е Android/iPhone/и т.н.


person B. Nadolson    schedule 17.09.2015    source източник


Отговори (1)


Вижте тази SDL2 функция: https://wiki.libsdl.org/SDL_GetDisplayDPI

Като получите разделителната способност и физическите DPI, можете да получите размера на екрана в инчове.

Конкретният ви въпрос се обсъжда в техния инструмент за проследяване на грешки тук:

https://bugzilla.libsdl.org/show_bug.cgi?id=2473

Има някои по-стари SO въпроси, които излязоха с празни ръце: iOS получава физически размер на екрана програмно?

person Chris Beck    schedule 17.09.2015
comment
Благодаря! Точно това е API, което търсих, но не можах да намеря. API изглежда много нов, сигурен съм, че мога да кодирам около ограничението на iOS, което има [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone и т.н. - person B. Nadolson; 18.09.2015
comment
Да, не знаех, че съществува, докато не го потърсих -- внимавайте обаче, в документите пише, че работи само ако е налична информация за dpi, така че може да се наложи да имате някакъв резервен план или нещо подобно - person Chris Beck; 18.09.2015
comment
Използвал съм SDL от няколко години. В последно време (т.е. SDL2) те са много ориентирани напред. И често има приятни изненади в дневниците на промените (например брилянтен блокиращ MessageBox за Android - писането на блокираща кутия за съобщения за Android е голям кошмар и Android се огъва, за да го направи практически невъзможно). Но като много бързо развиващи се проекти, документацията е оскъдна, особено на кървящия ръб. Освен това е 10 пъти по-лесно да намерите отговори в StackOverflow, отколкото във форумите на SDL2. - person B. Nadolson; 18.09.2015
comment
Хм, получавам грешка Тази операция не се поддържа на телефон с Android в sdl версия 2.0.5, когато SDL_GetDisplayDPI. Чудя се защо. - person mako; 31.08.2017