godot/core
Ruslan Mustakov 99cf2ffb19 iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.

(cherry picked from commit 1d9a3a9b1c)
2018-04-14 20:17:47 +02:00
..
bind iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
helper Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
io Fix garbage in string padding. 2018-03-28 23:51:31 +02:00
math Fix for clang warning at distance_to 2018-03-29 00:15:24 +02:00
os iPhone X support and iOS-related fixes 2018-04-14 20:17:47 +02:00
allocators.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
array.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
array.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
class_db.cpp Refactor version macros and fix related bugs 2018-02-24 01:34:34 +01:00
class_db.h Added all missing VisualServer bindings 2018-02-19 22:13:44 +01:00
color.cpp Revert "Fix bad color to HTML conversion. Alpha channel was added before RGB." 2018-01-16 10:22:22 +01:00
color.h -Remove color operator clamping, which is unnecesary. Fixes #15184, fixes #14686. 2018-01-12 00:08:32 -03:00
color_names.inc Add missing map.h include in color defs 2017-01-15 12:51:47 +01:00
command_queue_mt.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
command_queue_mt.h Fix various valgrind reported uninitialized variable uses 2018-03-01 21:06:31 +01:00
compressed_translation.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
compressed_translation.h Fix typos with codespell 2018-02-22 12:17:06 +01:00
core_string_names.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
core_string_names.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
dictionary.cpp Use the appropriate Variant hash and compare functions for Dictionaries 2018-01-27 15:11:39 +01:00
dictionary.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
dvector.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
dvector.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
engine.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
engine.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
error_list.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
error_macros.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
error_macros.h Fix typos with codespell 2018-02-22 12:17:06 +01:00
func_ref.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
func_ref.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
global_constants.cpp Fix typos with codespell 2018-02-22 12:17:06 +01:00
global_constants.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
hash_map.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
hashfuncs.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
image.cpp Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
image.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
input_map.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
input_map.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
int_types.h Update copyright statements to 2018 2018-01-01 14:40:47 +01:00
list.h Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
make_binders.py Added all missing VisualServer bindings 2018-02-19 22:13:44 +01:00
map.h Fix typos with codespell 2018-02-22 12:17:06 +01:00
message_queue.cpp Fix typos with codespell 2018-02-22 12:17:06 +01:00
message_queue.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
method_bind.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
method_bind.h Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
method_ptrcall.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
node_path.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
node_path.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
oa_hash_map.h Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
object.cpp Bind many more properties to scripts 2018-01-12 00:58:14 +02:00
object.h Make sure PropertyHint matches in the VisualScript editor. 2018-01-15 22:19:54 +01:00
ordered_hash_map.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
packed_data_container.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
packed_data_container.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
pair.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
path_remap.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
path_remap.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
pool_allocator.cpp Fix typos with codespell 2018-02-22 12:17:06 +01:00
pool_allocator.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
print_string.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
print_string.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
project_settings.cpp Fix loading project.binary from PCK file 2018-02-22 12:19:43 +01:00
project_settings.h Improve error reporting of ProjectSettings::setup() 2018-02-22 12:19:28 +01:00
ref_ptr.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ref_ptr.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
reference.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
reference.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
register_core_types.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
register_core_types.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
resource.cpp Make cyclic resource inclusion error message more helpful 2018-01-18 18:35:24 +01:00
resource.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
rid.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
rid.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ring_buffer.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
safe_refcount.cpp Fix inconsistencies and typos in argument names 2018-02-04 20:10:13 +01:00
safe_refcount.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
script_debugger_local.cpp Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
script_debugger_local.h Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
script_debugger_remote.cpp Fix typos with codespell 2018-02-22 12:17:06 +01:00
script_debugger_remote.h Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
script_language.cpp Bind many more properties to scripts 2018-01-12 00:58:14 +02:00
script_language.h Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
SCsub disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
self_list.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
set.h Fix typos with codespell 2018-02-22 12:17:06 +01:00
simple_type.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
sort.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_buffer.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_buffer.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_builder.cpp fixed crash with StringBuilder 2018-01-20 15:26:58 +01:00
string_builder.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_db.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_db.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
translation.cpp Add locale renames for Hebrew and Indonesian on Windows 2018-02-19 22:27:19 +01:00
translation.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
type_info.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
typedefs.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ucaps.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
undo_redo.cpp obsolete UndoRedo max_steps; no users identified 2018-01-08 10:57:07 -06:00
undo_redo.h obsolete UndoRedo max_steps; no users identified 2018-01-08 10:57:07 -06:00
ustring.cpp Mono: Better versioning and gracefully unloading of Godot API assemblies 2018-02-26 22:36:03 +01:00
ustring.h Mono: Better versioning and gracefully unloading of Godot API assemblies 2018-02-26 22:36:03 +01:00
variant.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
variant.h Fix typos with codespell 2018-02-22 12:17:06 +01:00
variant_call.cpp Revert "Fix wrong return type of xform functions" 2018-02-21 23:47:04 +01:00
variant_construct_string.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
variant_op.cpp Fix a potential bug hinted by clang 2018-03-29 00:27:46 +02:00
variant_parser.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
variant_parser.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
vector.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
version.h Refactor version macros and fix related bugs 2018-02-24 01:34:34 +01:00
vmap.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
vset.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00