Updated SwkbdAppearArg. Updated comments.

This commit is contained in:
yellows8 2019-01-13 19:51:01 -05:00
parent 8cd2808eff
commit a812587a31
2 changed files with 20 additions and 19 deletions

View File

@ -109,15 +109,16 @@ typedef struct {
} SwkbdInitializeArg; } SwkbdInitializeArg;
typedef struct { typedef struct {
u32 unk_x0; SwkbdType type; ///< See \ref SwkbdType.
u16 str[9]; u16 okButtonText[9];
u8 unk_x16[0x4]; u16 leftButtonText;
u8 unk_x1a; u16 rightButtonText;
u8 dicFlag; ///< Enables dictionary usage when non-zero (including the system dictionary).
u8 unk_x1b; u8 unk_x1b;
u32 unk_x1c; u32 keySetDisableBitmask; ///< See SwkbdKeyDisableBitmask_*.
s32 unk_x20; s32 unk_x20;
s32 unk_x24; s32 unk_x24;
u8 unk_x28; u8 returnButtonFlag; ///< Controls whether the Return button is enabled, for newlines input. 0 = disabled, non-zero = enabled.
u16 unk_x29; u16 unk_x29;
u8 unk_x2b; u8 unk_x2b;
u32 unk_x2c; u32 unk_x2c;
@ -317,7 +318,7 @@ Result swkbdInlineLaunch(SwkbdInline* s);
Result swkbdInlineUpdate(SwkbdInline* s); Result swkbdInlineUpdate(SwkbdInline* s);
/** /**
* @brief Appear the kbd and set \ref SwkbdAppearArg. The applet will not start displaying on the screen with this. * @brief Appear the kbd and set \ref SwkbdAppearArg.
* @note \ref swkbdInlineUpdate must be called at some point afterwards for this to take affect. * @note \ref swkbdInlineUpdate must be called at some point afterwards for this to take affect.
* @param s SwkbdInline object. * @param s SwkbdInline object.
* @param arg Input SwkbdAppearArg. * @param arg Input SwkbdAppearArg.
@ -336,7 +337,7 @@ void swkbdInlineDisappear(SwkbdInline* s);
* @param arg Output \ref SwkbdAppearArg. * @param arg Output \ref SwkbdAppearArg.
* @param type Type. Must be 0..5, otherwise this will return. * @param type Type. Must be 0..5, otherwise this will return.
* @param flag Unknown flag * @param flag Unknown flag
* @param str Input UTF-8 string. * @param str Input UTF-8 string for the Ok button text, this can be empty/NULL to use the default.
*/ */
void swkbdInlineMakeAppearArg(SwkbdAppearArg* arg, u32 type, bool flag, const char* str); void swkbdInlineMakeAppearArg(SwkbdAppearArg* arg, u32 type, bool flag, const char* str);

View File

@ -342,7 +342,7 @@ Result swkbdInlineCreate(SwkbdInline* s) {
//if (s->version >= 0x50009) s->calcArg.initArg.unk_x5 = 0x1;//Set in a separate init func by official sw on 5.0.0+. //if (s->version >= 0x50009) s->calcArg.initArg.unk_x5 = 0x1;//Set in a separate init func by official sw on 5.0.0+.
s->calcArg.volume = 1.0f; s->calcArg.volume = 1.0f;
s->calcArg.appearArg.unk_x0 = 0x2; s->calcArg.appearArg.type = SwkbdType_QWERTY;
s->calcArg.unk_x6 = 1; s->calcArg.unk_x6 = 1;
s->calcArg.unk_x7 = 1; s->calcArg.unk_x7 = 1;
s->calcArg.appearArg.unk_x20 = -1; s->calcArg.appearArg.unk_x20 = -1;
@ -449,7 +449,7 @@ void swkbdInlineMakeAppearArg(SwkbdAppearArg* arg, u32 type, bool flag, const ch
switch(type) { switch(type) {
case 0: case 0:
tmpval = 1; tmpval = SwkbdType_NumPad;
tmpval2[0] = tmpval; tmpval2[0] = tmpval;
break; break;
@ -465,16 +465,16 @@ void swkbdInlineMakeAppearArg(SwkbdAppearArg* arg, u32 type, bool flag, const ch
break; break;
case 3: case 3:
tmpval = 2; tmpval = SwkbdType_QWERTY;
break; break;
case 4: case 4:
tmpval = 1; tmpval = SwkbdType_NumPad;
break; break;
case 5: case 5:
tmpval = 0; tmpval = SwkbdType_Normal;
tmpval3 = 0x80; tmpval3 = SwkbdKeyDisableBitmask_DownloadCode;
break; break;
default: default:
@ -484,12 +484,12 @@ void swkbdInlineMakeAppearArg(SwkbdAppearArg* arg, u32 type, bool flag, const ch
arg->unk_x20 = -1; arg->unk_x20 = -1;
arg->unk_x24 = -1; arg->unk_x24 = -1;
arg->unk_x30 = 1; arg->unk_x30 = 1;
arg->unk_x0 = tmpval; arg->type = tmpval;
arg->unk_x1a = tmpval2[0]; arg->dicFlag = tmpval2[0];
arg->unk_x28 = tmpval2[1]; arg->returnButtonFlag = tmpval2[1];
arg->unk_x1c = tmpval3; arg->keySetDisableBitmask = tmpval3;
if (flag) arg->unk_x2c = 0x4; if (flag) arg->unk_x2c = 0x4;
_swkbdConvertToUTF16ByteSize(arg->str, str, sizeof(arg->str)); _swkbdConvertToUTF16ByteSize(arg->okButtonText, str, sizeof(arg->okButtonText));
} }