MCPcopy Create free account
hub / github.com/defold/defold / UpdateSafeAreaAdjust

Function UpdateSafeAreaAdjust

engine/gui/src/gui.cpp:425–472  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

423 }
424
425 void UpdateSafeAreaAdjust(HContext context, SafeAreaMode mode, uint32_t window_width, uint32_t window_height,
426 int32_t inset_left, int32_t inset_top, int32_t inset_right, int32_t inset_bottom)
427 {
428 if (!context)
429 {
430 return;
431 }
432
433 context->m_SafeAreaMode = mode;
434 context->m_WindowWidth = window_width;
435 context->m_WindowHeight = window_height;
436 context->m_WindowInsetLeft = inset_left;
437 context->m_WindowInsetTop = inset_top;
438 context->m_WindowInsetRight = inset_right;
439 context->m_WindowInsetBottom = inset_bottom;
440
441 if (mode == SAFE_AREA_NONE)
442 {
443 SetSafeAreaAdjust(context, false, 0, 0, 0.0f, 0.0f);
444 }
445 else
446 {
447 uint32_t safe_width = 0;
448 uint32_t safe_height = 0;
449 float offset_x = 0.0f;
450 float offset_y = 0.0f;
451 ComputeSafeAreaAdjust(mode, window_width, window_height, inset_left, inset_top, inset_right, inset_bottom,
452 &safe_width, &safe_height, &offset_x, &offset_y);
453 SetSafeAreaAdjust(context, true, safe_width, safe_height, offset_x, offset_y);
454 }
455
456 dmArray<HScene>& scenes = context->m_Scenes;
457 uint32_t scene_count = scenes.Size();
458 for (uint32_t i = 0; i < scene_count; ++i)
459 {
460 Scene* scene = scenes[i];
461 if (scene->m_SafeAreaModeOverride)
462 {
463 uint32_t override_width = 0;
464 uint32_t override_height = 0;
465 float override_offset_x = 0.0f;
466 float override_offset_y = 0.0f;
467 ComputeSafeAreaAdjust(scene->m_SafeAreaMode, window_width, window_height, inset_left, inset_top, inset_right, inset_bottom,
468 &override_width, &override_height, &override_offset_x, &override_offset_y);
469 SetSceneSafeAreaAdjust(scene, scene->m_SafeAreaMode != SAFE_AREA_NONE, override_width, override_height, override_offset_x, override_offset_y);
470 }
471 }
472 }
473
474 void SetSceneSafeAreaMode(HScene scene, SafeAreaMode mode)
475 {

Callers 2

UpdateGuiSafeAreaAdjustFunction · 0.50
TEST_FFunction · 0.50

Calls 4

ComputeSafeAreaAdjustFunction · 0.85
SetSceneSafeAreaAdjustFunction · 0.85
SetSafeAreaAdjustFunction · 0.70
SizeMethod · 0.45

Tested by 1

TEST_FFunction · 0.40