diff options
author | bunnei <bunneidev@gmail.com> | 2022-03-26 07:19:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 07:19:11 +0100 |
commit | 664d8c87327770b03cdb62678a7e3bb22c8ca26f (patch) | |
tree | adf79b90c8311d40e2882463b2365ede6dfb1d42 /src/core/hle/service/am/applets/applet_software_keyboard.h | |
parent | Merge pull request #8080 from FernandoS27/yo-momma-so-fat-that (diff) | |
parent | applets/swkbd: Split software keyboard initialization (diff) | |
download | yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar.gz yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar.bz2 yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar.lz yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar.xz yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.tar.zst yuzu-664d8c87327770b03cdb62678a7e3bb22c8ca26f.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/am/applets/applet_software_keyboard.h | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/core/hle/service/am/applets/applet_software_keyboard.h b/src/core/hle/service/am/applets/applet_software_keyboard.h index a0fddd965..7ee4c5eea 100644 --- a/src/core/hle/service/am/applets/applet_software_keyboard.h +++ b/src/core/hle/service/am/applets/applet_software_keyboard.h @@ -13,6 +13,11 @@ namespace Core { class System; } +namespace Core::Frontend { +struct KeyboardInitializeParameters; +struct InlineAppearParameters; +} // namespace Core::Frontend + namespace Service::AM::Applets { class SoftwareKeyboard final : public Applet { @@ -78,13 +83,22 @@ private: void ChangeState(SwkbdState state); /** - * Signals the frontend to initialize the software keyboard with common parameters. - * This initializes either the normal software keyboard or the inline software keyboard - * depending on the state of is_background. + * Signals the frontend to initialize the normal software keyboard with common parameters. * Note that this does not cause the keyboard to appear. - * Use the respective Show*Keyboard() functions to cause the respective keyboards to appear. + * Use the ShowNormalKeyboard() functions to cause the keyboard to appear. */ - void InitializeFrontendKeyboard(); + void InitializeFrontendNormalKeyboard(); + + /** + * Signals the frontend to initialize the inline software keyboard with common parameters. + * Note that this does not cause the keyboard to appear. + * Use the ShowInlineKeyboard() to cause the keyboard to appear. + */ + void InitializeFrontendInlineKeyboard( + Core::Frontend::KeyboardInitializeParameters initialize_parameters); + + void InitializeFrontendInlineKeyboardOld(); + void InitializeFrontendInlineKeyboardNew(); /// Signals the frontend to show the normal software keyboard. void ShowNormalKeyboard(); @@ -94,7 +108,10 @@ private: std::u16string text_check_message); /// Signals the frontend to show the inline software keyboard. - void ShowInlineKeyboard(); + void ShowInlineKeyboard(Core::Frontend::InlineAppearParameters appear_parameters); + + void ShowInlineKeyboardOld(); + void ShowInlineKeyboardNew(); /// Signals the frontend to hide the inline software keyboard. void HideInlineKeyboard(); @@ -111,6 +128,8 @@ private: void RequestSetUserWordInfo(const std::vector<u8>& request_data); void RequestSetCustomizeDic(const std::vector<u8>& request_data); void RequestCalc(const std::vector<u8>& request_data); + void RequestCalcOld(); + void RequestCalcNew(); void RequestSetCustomizedDictionaries(const std::vector<u8>& request_data); void RequestUnsetCustomizedDictionaries(const std::vector<u8>& request_data); void RequestSetChangedStringV2Flag(const std::vector<u8>& request_data); @@ -149,7 +168,9 @@ private: SwkbdState swkbd_state{SwkbdState::NotInitialized}; SwkbdInitializeArg swkbd_initialize_arg; - SwkbdCalcArg swkbd_calc_arg; + SwkbdCalcArgCommon swkbd_calc_arg_common; + SwkbdCalcArgOld swkbd_calc_arg_old; + SwkbdCalcArgNew swkbd_calc_arg_new; bool use_changed_string_v2{false}; bool use_moved_cursor_v2{false}; bool inline_use_utf8{false}; |