aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/SoftwareKeyboardCalc.cs
blob: 6213c2e4f04add3505526dde0adbb7765c0c6169 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using System.Runtime.InteropServices;

namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
{
    /// <summary>
    /// A structure that defines the configuration options of the software keyboard.
    /// </summary>
    [StructLayout(LayoutKind.Sequential, Pack=1, CharSet = CharSet.Unicode)]
    struct SoftwareKeyboardCalc
    {
        private const int InputTextLength = 505;

        public uint Unknown;

        public ushort Size;

        public byte Unknown1;
        public byte Unknown2;

        public ulong Flags;

        public SoftwareKeyboardInitialize Initialize;

        public float Volume;

        public int CursorPos;

        public SoftwareKeyboardAppear Appear;

        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = InputTextLength + 1)]
        public string InputText;

        public byte Utf8Mode;

        public byte Unknown3;

        [MarshalAs(UnmanagedType.I1)]
        public bool BackspaceEnabled;

        public short Unknown4;
        public byte Unknown5;

        [MarshalAs(UnmanagedType.I1)]
        public byte KeytopAsFloating;

        [MarshalAs(UnmanagedType.I1)]
        public byte FooterScalable;

        [MarshalAs(UnmanagedType.I1)]
        public byte AlphaEnabledInInputMode;

        [MarshalAs(UnmanagedType.I1)]
        public byte InputModeFadeType;

        [MarshalAs(UnmanagedType.I1)]
        public byte TouchDisabled;

        [MarshalAs(UnmanagedType.I1)]
        public byte HardwareKeyboardDisabled;

        public uint Unknown6;
        public uint Unknown7;

        public float KeytopScale0;
        public float KeytopScale1;
        public float KeytopTranslate0;
        public float KeytopTranslate1;
        public float KeytopBgAlpha;
        public float FooterBgAlpha;
        public float BalloonScale;

        public float Unknown8;
        public uint Unknown9;
        public uint Unknown10;
        public uint Unknown11;

        public byte SeGroup;

        public byte TriggerFlag;
        public byte Trigger;

        public byte Padding;
    }
}