Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit fe60c9a

Browse files
committed
[[ Bug 22829 ]] Make 'working screenrect' return the safe area on iOS
1 parent d1188fb commit fe60c9a

16 files changed

+53
-29
lines changed

engine/src/desktop-dc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ uint16_t MCScreenDC::platform_getheight(void)
212212
return t_viewport . height;
213213
}
214214

215-
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *& r_displays, uint32_t &r_count)
215+
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *& r_displays, uint32_t &r_count, Boolean p_safe_area)
216216
{
217217
bool t_success;
218218
t_success = true;

engine/src/desktop-dc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class MCScreenDC: public MCUIDC
5555

5656
virtual uint16_t platform_getwidth(void);
5757
virtual uint16_t platform_getheight(void);
58-
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count);
58+
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area = false);
5959
virtual void platform_boundrect(MCRectangle &rect, Boolean title, Window_mode m, Boolean resizable);
6060

6161
virtual void resetcursors();

engine/src/em-dc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ MCScreenDC::platform_getwindowgeometry(Window p_window,
251251
* Display management
252252
* ================================================================ */
253253

254-
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count)
254+
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area)
255255
{
256256
MCDisplay *t_display = nil;
257257
if (!MCMemoryNew(t_display))

engine/src/em-dc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class MCScreenDC: public MCUIDC
8080

8181
/* ---------- Display management */
8282

83-
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count);
83+
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area = false);
8484

8585
/* ---------- Event loop */
8686
virtual Boolean wait(real64_t p_duration,

engine/src/exec-interface2.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1933,7 +1933,7 @@ void MCInterfaceSetTool(MCExecContext& ctxt, MCStringRef p_value)
19331933
void MCInterfaceGetScreenRect(MCExecContext& ctxt, bool p_working, bool p_effective, MCRectangle& r_value)
19341934
{
19351935
const MCDisplay *t_displays;
1936-
MCscreen -> getdisplays(t_displays, p_effective);
1936+
MCscreen -> getdisplays(t_displays, p_effective, true);
19371937

19381938
if (t_displays)
19391939
{

engine/src/lnxdc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ bool MCScreenDC::apply_partial_struts(MCDisplay *p_displays, uint32_t p_display_
307307
}
308308

309309
// IM-2014-01-29: [[ HiDPI ]] Placeholder method for Linux HiDPI support
310-
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_display_count)
310+
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_display_count, Boolean p_safe_area)
311311
{
312312
return device_getdisplays(p_effective, r_displays, r_display_count);
313313
}

engine/src/lnxdc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ class MCScreenDC : public MCUIDC
250250
// IM-2014-01-29: [[ HiDPI ]] Update device_* methods to platform-specific logical coord based methods
251251
virtual uint16_t platform_getwidth(void);
252252
virtual uint16_t platform_getheight(void);
253-
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count);
253+
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area = false);
254254
virtual bool platform_getwindowgeometry(Window w, MCRectangle &drect);
255255
virtual void platform_boundrect(MCRectangle &rect, Boolean title, Window_mode m, Boolean resizable);
256256
virtual void platform_querymouse(int16_t &r_x, int16_t &r_y);

engine/src/mblandroiddc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ Window MCScreenDC::getroot()
344344
}
345345

346346
// IM-2014-01-31: [[ HiDPI ]] Refactor to return display rects in logical coords and include pixel scale
347-
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count)
347+
bool MCScreenDC::platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area)
348348
{
349349
bool t_success;
350350
t_success = true;

engine/src/mbldc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class MCScreenDC: public MCUIDC
7474

7575
virtual uint16_t platform_getwidth(void);
7676
virtual uint16_t platform_getheight(void);
77-
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count);
77+
virtual bool platform_getdisplays(bool p_effective, MCDisplay *&r_displays, uint32_t &r_count, Boolean p_safe_area = false);
7878
virtual bool platform_displayinfocacheable(void);
7979
virtual bool platform_getwindowgeometry(Window w, MCRectangle &drect);
8080
virtual void platform_boundrect(MCRectangle &rect, Boolean title, Window_mode m, Boolean resizable);

engine/src/mbliphoneapp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@ UIView *MCIPhoneGetView(void);
389389
UIView *MCIPhoneGetRootView(void);
390390
UIView *MCIPhoneGetDisplayView(void);
391391
CGRect MCIPhoneGetViewBounds(void);
392+
CGRect MCIPhoneGetWorkAreaBounds(void);
392393
CGRect MCIPhoneGetScreenBounds(void);
393394
void MCIPhoneActivateKeyboard(void);
394395
void MCIPhoneDeactivateKeyboard(void);

0 commit comments

Comments
 (0)