diff --git a/nx/include/switch/applets/swkbd.h b/nx/include/switch/applets/swkbd.h index 6b191c83..b9c3ae0c 100644 --- a/nx/include/switch/applets/swkbd.h +++ b/nx/include/switch/applets/swkbd.h @@ -650,6 +650,12 @@ Result swkbdInlineGetImage(SwkbdInline* s, void* buffer, u64 size, bool *data_av */ s32 swkbdInlineGetMaxHeight(SwkbdInline* s); +/** + * @brief Gets the MiniaturizedHeight, relative to the bottom of the screen. + * @param s SwkbdInline object. + */ +s32 swkbdInlineGetMiniaturizedHeight(SwkbdInline* s); + /** * @brief GetTouchRectangles. Returns number of valid Rects: 1 for only keytop, 2 for keytop/footer. * @param s SwkbdInline object. diff --git a/nx/source/applets/swkbd.c b/nx/source/applets/swkbd.c index bcefed80..595c5f76 100644 --- a/nx/source/applets/swkbd.c +++ b/nx/source/applets/swkbd.c @@ -589,6 +589,15 @@ s32 swkbdInlineGetMaxHeight(SwkbdInline* s) { return s->state == SwkbdState_Unknown6 ? height1 : height0; } +s32 swkbdInlineGetMiniaturizedHeight(SwkbdInline* s) { + bool flag=0; + if (s->calcArg.appearArg.type >= SwkbdType_ZhHans && s->calcArg.appearArg.type <= SwkbdType_Unknown9) flag = 1; + else if (!(s->calcArg.appearArg.dicFlag && s->wordInfoInitialized && s->dicCustomInitialized)) { + flag = !s->calcArg.appearArg.keySetDisableBitmask && (s->calcArg.appearArg.type != SwkbdType_NumPad && s->calcArg.appearArg.type != SwkbdType_QWERTY); + } + return flag ? 132 : 72; +} + s32 swkbdInlineGetTouchRectangles(SwkbdInline* s, SwkbdRect *keytop, SwkbdRect *footer) { float keytop_max_height = (float)swkbdInlineGetMaxHeight(s); float footer_max_height = keytop_max_height;