| 1193 | } |
| 1194 | |
| 1195 | bool DisplayServerWeb::has_feature(Feature p_feature) const { |
| 1196 | switch (p_feature) { |
| 1197 | #ifndef DISABLE_DEPRECATED |
| 1198 | case FEATURE_GLOBAL_MENU: { |
| 1199 | return (native_menu && native_menu->has_feature(NativeMenu::FEATURE_GLOBAL_MENU)); |
| 1200 | } break; |
| 1201 | #endif |
| 1202 | //case FEATURE_HIDPI: |
| 1203 | case FEATURE_ICON: |
| 1204 | case FEATURE_CLIPBOARD: |
| 1205 | case FEATURE_CURSOR_SHAPE: |
| 1206 | case FEATURE_CUSTOM_CURSOR_SHAPE: |
| 1207 | case FEATURE_MOUSE: |
| 1208 | case FEATURE_TOUCHSCREEN: |
| 1209 | return true; |
| 1210 | //case FEATURE_MOUSE_WARP: |
| 1211 | //case FEATURE_NATIVE_DIALOG: |
| 1212 | //case FEATURE_NATIVE_DIALOG_INPUT: |
| 1213 | //case FEATURE_NATIVE_DIALOG_FILE: |
| 1214 | //case FEATURE_NATIVE_DIALOG_FILE_EXTRA: |
| 1215 | //case FEATURE_NATIVE_DIALOG_FILE_MIME: |
| 1216 | //case FEATURE_NATIVE_ICON: |
| 1217 | //case FEATURE_WINDOW_TRANSPARENCY: |
| 1218 | //case FEATURE_KEEP_SCREEN_ON: |
| 1219 | //case FEATURE_ORIENTATION: |
| 1220 | case FEATURE_IME: |
| 1221 | // IME does not work with experimental VK support. |
| 1222 | return godot_js_display_vk_available() == 0; |
| 1223 | case FEATURE_VIRTUAL_KEYBOARD: |
| 1224 | return godot_js_display_vk_available() != 0; |
| 1225 | case FEATURE_TEXT_TO_SPEECH: |
| 1226 | return godot_js_display_tts_available() != 0; |
| 1227 | default: |
| 1228 | return false; |
| 1229 | } |
| 1230 | } |
| 1231 | |
| 1232 | void DisplayServerWeb::register_web_driver() { |
| 1233 | register_create_function("web", create_func, get_rendering_drivers_func); |