vitasdk
Documentation of the vitasdk
libime.h
Go to the documentation of this file.
1 
6 #ifndef _PSP2_LIBIME_H
7 #define _PSP2_LIBIME_H
8 
9 #include <vitasdk/build_utils.h>
10 #include <psp2common/defs.h>
11 #include <psp2/types.h>
12 #include <psp2/kernel/clib.h>
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #define SCE_IME_WORK_BUFFER_SIZE (20*1024)
19 
20 #define SCE_IME_MAX_PREEDIT_LENGTH (30)
21 #define SCE_IME_MAX_TEXT_LENGTH (2048)
22 
23 typedef enum SceImeErrorCode {
44  SCE_IME_ERROR_INTERNAL = 0x80100750
46 
47 typedef enum SceImeLanguage {
48  SCE_IME_LANGUAGE_DANISH = 0x00000001ULL,
49  SCE_IME_LANGUAGE_GERMAN = 0x00000002ULL,
50  SCE_IME_LANGUAGE_ENGLISH = 0x00000004ULL,
51  SCE_IME_LANGUAGE_SPANISH = 0x00000008ULL,
52  SCE_IME_LANGUAGE_FRENCH = 0x00000010ULL,
53  SCE_IME_LANGUAGE_ITALIAN = 0x00000020ULL,
54  SCE_IME_LANGUAGE_DUTCH = 0x00000040ULL,
55  SCE_IME_LANGUAGE_NORWEGIAN = 0x00000080ULL,
56  SCE_IME_LANGUAGE_POLISH = 0x00000100ULL,
57  SCE_IME_LANGUAGE_PORTUGUESE = 0x00000200ULL,
58  SCE_IME_LANGUAGE_RUSSIAN = 0x00000400ULL,
59  SCE_IME_LANGUAGE_FINNISH = 0x00000800ULL,
60  SCE_IME_LANGUAGE_SWEDISH = 0x00001000ULL,
61  SCE_IME_LANGUAGE_JAPANESE = 0x00002000ULL,
62  SCE_IME_LANGUAGE_KOREAN = 0x00004000ULL,
66  SCE_IME_LANGUAGE_ENGLISH_GB = 0x00040000ULL,
67  SCE_IME_LANGUAGE_TURKISH = 0x00080000ULL
69 
70 typedef enum SceImeType {
78 
79 typedef enum SceImeEnterLabel {
85 
86 typedef enum SceImeOption {
91 
92 typedef enum SceImeEvent {
100 
101 typedef struct SceImeRect {
106 } SceImeRect;
108 
109 typedef struct SceImeEditText {
118 
119 typedef union SceImeEventParam {
126 
127 typedef struct SceImeEventData {
132 
133 typedef struct SceImeCaret {
138 } SceImeCaret;
140 
141 typedef struct SceImePreeditGeometry {
147 
148 typedef SceInt32 (*SceImeTextFilter)(SceWChar16 *outText, SceUInt32 *outTextLength,
149  const SceWChar16 *srcText, SceUInt32 srcTextLength);
150 typedef void (*SceImeEventHandler)(void* arg, const SceImeEventData *e);
151 
152 typedef struct SceImeParam {
154 
160 
161  void *work;
162  void *arg;
165 
169 
172 } SceImeParam;
174 
175 static inline
176 void sceImeParamInit(SceImeParam *param)
177 {
178  sceClibMemset(param, 0x0, sizeof(SceImeParam));
179  param->sdkVersion = PSP2_SDK_VERSION;
180 }
181 
188 
189 #ifdef __cplusplus
190 }
191 #endif
192 
193 #endif /* _PSP2_LIBIME_H */
uint32_t length
Definition: bt.h:7
void * sceClibMemset(void *dst, int ch, SceSize len)
#define PSP2_SDK_VERSION
Definition: defs.h:11
SceImeType
Definition: libime.h:70
SceUInt32 y
Definition: libime.h:103
SceUInt32 height
Definition: libime.h:136
void * work
Definition: libime.h:161
SceImeEditText text
Definition: libime.h:121
SceUInt64 supportedLanguages
Dialog languages (One or more SceImeLanguage)
Definition: libime.h:156
SceUInt32 editIndex
Definition: libime.h:114
SceInt32 sceImeClose(void)
SceUInt32 x
Definition: libime.h:134
SceUInt32 index
Definition: libime.h:137
SceInt32 sceImeUpdate(void)
SceUInt32 sdkVersion
Definition: libime.h:153
SceUInt32 x
Definition: libime.h:142
SceUInt32 y
Definition: libime.h:143
SceUInt32 option
Dialog options (One or more SceImeOption)
Definition: libime.h:159
SceUInt32 preeditLength
Definition: libime.h:111
SceWChar16 * initialText
Definition: libime.h:166
SceImeOption
Definition: libime.h:86
SceUInt32 maxTextLength
Definition: libime.h:167
SceImeEvent
Definition: libime.h:92
SceWChar16 * inputTextBuffer
Definition: libime.h:168
SceImeEnterLabel
Definition: libime.h:79
SceUInt32 preeditIndex
Definition: libime.h:110
SceUInt32 y
Definition: libime.h:135
SceImeTextFilter filter
Definition: libime.h:164
SceInt32 sceImeOpen(const SceImeParam *param)
SceUInt32 caretIndex
Definition: libime.h:122
SceWChar16 * str
Definition: libime.h:113
SceUInt32 caretIndex
Definition: libime.h:112
SceInt32 sceImeSetCaret(const SceImeCaret *caret)
SceUChar8 reserved[7]
Definition: libime.h:171
SceImeEventHandler handler
Definition: libime.h:163
SceUInt32 width
Definition: libime.h:104
SceImeErrorCode
Definition: libime.h:23
void * arg
Definition: libime.h:162
SceUInt32 id
Definition: libime.h:128
SceImeLanguage
Definition: libime.h:47
SceImeRect rect
Definition: libime.h:120
void(* SceImeEventHandler)(void *arg, const SceImeEventData *e)
Definition: libime.h:150
SceInt32 editLengthChange
Definition: libime.h:115
VITASDK_BUILD_ASSERT_EQ(0x10, SceImeRect)
SceUInt32 height
Definition: libime.h:144
SceBool languagesForced
Definition: libime.h:157
SceImeEventParam param
Definition: libime.h:129
SceUInt32 type
Dialog type (One of SceImeType)
Definition: libime.h:158
SceUChar8 enterLabel
Definition: libime.h:170
SceUInt32 inputMethod
Definition: libime.h:155
SceInt32(* SceImeTextFilter)(SceWChar16 *outText, SceUInt32 *outTextLength, const SceWChar16 *srcText, SceUInt32 srcTextLength)
Definition: libime.h:148
SceUChar8 reserved[40]
Definition: libime.h:123
SceUInt32 height
Definition: libime.h:105
SceUInt32 x
Definition: libime.h:102
SceInt32 sceImeSetPreeditGeometry(const SceImePreeditGeometry *preedit)
SceInt32 sceImeSetText(const SceWChar16 *text, SceUInt32 length)
@ SCE_IME_TYPE_URL
Definition: libime.h:75
@ SCE_IME_TYPE_NUMBER
Definition: libime.h:73
@ SCE_IME_TYPE_MAIL
Definition: libime.h:76
@ SCE_IME_TYPE_BASIC_LATIN
Definition: libime.h:72
@ SCE_IME_TYPE_EXTENDED_NUMBER
Definition: libime.h:74
@ SCE_IME_TYPE_DEFAULT
Definition: libime.h:71
@ SCE_IME_OPTION_MULTILINE
Definition: libime.h:87
@ SCE_IME_OPTION_NO_AUTO_CAPITALIZATION
Definition: libime.h:88
@ SCE_IME_OPTION_NO_ASSISTANCE
Definition: libime.h:89
@ SCE_IME_EVENT_UPDATE_TEXT
Definition: libime.h:94
@ SCE_IME_EVENT_CHANGE_SIZE
Definition: libime.h:96
@ SCE_IME_EVENT_OPEN
Definition: libime.h:93
@ SCE_IME_EVENT_UPDATE_CARET
Definition: libime.h:95
@ SCE_IME_EVENT_PRESS_ENTER
Definition: libime.h:98
@ SCE_IME_EVENT_PRESS_CLOSE
Definition: libime.h:97
@ SCE_IME_ENTER_LABEL_DEFAULT
Definition: libime.h:80
@ SCE_IME_ENTER_LABEL_GO
Definition: libime.h:83
@ SCE_IME_ENTER_LABEL_SEND
Definition: libime.h:81
@ SCE_IME_ENTER_LABEL_SEARCH
Definition: libime.h:82
@ SCE_IME_ERROR_CONNECTION_FAILED
Definition: libime.h:29
@ SCE_IME_ERROR_INVALID_MAX_TEXT_LENGTH
Definition: libime.h:40
@ SCE_IME_ERROR_INVALID_TYPE
Definition: libime.h:35
@ SCE_IME_ERROR_INVALID_ENTER_LABEL
Definition: libime.h:43
@ SCE_IME_ERROR_INVALID_OPTION
Definition: libime.h:36
@ SCE_IME_ERROR_INVALID_TEXT
Definition: libime.h:30
@ SCE_IME_ERROR_INVALID_RESERVED
Definition: libime.h:42
@ SCE_IME_ERROR_INVALID_INPUT_TEXT_BUFFER
Definition: libime.h:41
@ SCE_IME_ERROR_INVALID_INPUT_METHOD
Definition: libime.h:33
@ SCE_IME_ERROR_INVALID_HANDLER
Definition: libime.h:39
@ SCE_IME_ERROR_NO_MEMORY
Definition: libime.h:28
@ SCE_IME_ERROR_INVALID_SIZE
Definition: libime.h:32
@ SCE_IME_ERROR_INVALID_WORK
Definition: libime.h:37
@ SCE_IME_ERROR_INVALID_ARG
Definition: libime.h:38
@ SCE_IME_ERROR_INVALID_PARAM
Definition: libime.h:27
@ SCE_IME_ERROR_INVALID_SUPPORTED_LANGUAGES
Definition: libime.h:34
@ SCE_IME_ERROR_TOO_MANY_REQUESTS
Definition: libime.h:31
@ SCE_IME_ERROR_INTERNAL
Definition: libime.h:44
@ SCE_IME_ERROR_INVALID_POINTER
Definition: libime.h:26
@ SCE_IME_ERROR_ALREADY_OPENED
Definition: libime.h:24
@ SCE_IME_ERROR_NOT_OPENED
Definition: libime.h:25
@ SCE_IME_LANGUAGE_SWEDISH
Definition: libime.h:60
@ SCE_IME_LANGUAGE_FRENCH
Definition: libime.h:52
@ SCE_IME_LANGUAGE_PORTUGUESE_BR
Definition: libime.h:65
@ SCE_IME_LANGUAGE_JAPANESE
Definition: libime.h:61
@ SCE_IME_LANGUAGE_SIMPLIFIED_CHINESE
Definition: libime.h:63
@ SCE_IME_LANGUAGE_FINNISH
Definition: libime.h:59
@ SCE_IME_LANGUAGE_PORTUGUESE
Definition: libime.h:57
@ SCE_IME_LANGUAGE_TURKISH
Definition: libime.h:67
@ SCE_IME_LANGUAGE_ITALIAN
Definition: libime.h:53
@ SCE_IME_LANGUAGE_GERMAN
Definition: libime.h:49
@ SCE_IME_LANGUAGE_KOREAN
Definition: libime.h:62
@ SCE_IME_LANGUAGE_ENGLISH
Definition: libime.h:50
@ SCE_IME_LANGUAGE_DUTCH
Definition: libime.h:54
@ SCE_IME_LANGUAGE_ENGLISH_GB
Definition: libime.h:66
@ SCE_IME_LANGUAGE_NORWEGIAN
Definition: libime.h:55
@ SCE_IME_LANGUAGE_SPANISH
Definition: libime.h:51
@ SCE_IME_LANGUAGE_DANISH
Definition: libime.h:48
@ SCE_IME_LANGUAGE_RUSSIAN
Definition: libime.h:58
@ SCE_IME_LANGUAGE_TRADITIONAL_CHINESE
Definition: libime.h:64
@ SCE_IME_LANGUAGE_POLISH
Definition: libime.h:56
Definition: libime.h:133
Definition: libime.h:109
Definition: libime.h:127
Definition: libime.h:152
Definition: libime.h:141
Definition: libime.h:101
Definition: libime.h:119
int SceBool
Definition: types.h:59
int32_t SceInt32
Definition: types.h:44
uint64_t SceUInt64
Definition: types.h:51
uint32_t SceUInt32
Definition: types.h:45
uint16_t SceWChar16
Definition: types.h:77
uint8_t SceUChar8
Definition: types.h:33