Implement love.window.getSafeArea for Android

--HG--
branch : android-safearea
This commit is contained in:
Miku AuahDark
2019-02-08 23:58:02 +08:00
parent 76917685dd
commit 4a08c0f7c1
3 changed files with 44 additions and 1 deletions
+16 -1
View File
@@ -845,9 +845,24 @@ void Window::getPosition(int &x, int &y, int &displayindex)
Rect Window::getSafeArea() const
{
#ifdef LOVE_IOS
#if defined(LOVE_IOS)
if (window != nullptr)
return love::ios::getSafeArea(window);
#elif defined(LOVE_ANDROID)
if (window != nullptr)
{
int top, left, bottom, right;
if (love::android::getSafeArea(top, left, bottom, right))
{
// DisplayCutout API returns safe area in pixels
// and is affected by display orientation.
double safeLeft, safeTop, safeWidth, safeHeight;
fromPixels(left, top, safeLeft, safeTop);
fromPixels(pixelWidth - left - right, pixelHeight - top - bottom, safeWidth, safeHeight);
return {(int) safeLeft, (int) safeTop, (int) safeWidth, (int) safeHeight};
}
}
#endif
double dw, dh;