psputility_osk.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  *  psputility_osk.h - Definitions and Functions for OSK section of
00007  *                     the pspUtility library
00008  *
00009  * Copyright (c) 2006 McZonk
00010  * Copyright (c) 2008 InsertWittyName <tias_dp@hotmail.com>
00011  *
00012  * $Id: psputility_osk.h 2433 2008-10-15 10:00:27Z iwn $
00013  */
00014 #ifndef PSPOSK_H
00015 #define PSPOSK_H
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00021 #include <psptypes.h>
00022 
00026 enum SceUtilityOskInputLanguage
00027 {
00028         PSP_UTILITY_OSK_LANGUAGE_DEFAULT =              0x00,
00029         PSP_UTILITY_OSK_LANGUAGE_JAPANESE =             0x01,
00030         PSP_UTILITY_OSK_LANGUAGE_ENGLISH =              0x02,
00031         PSP_UTILITY_OSK_LANGUAGE_FRENCH =               0x03,
00032         PSP_UTILITY_OSK_LANGUAGE_SPANISH =              0x04,
00033         PSP_UTILITY_OSK_LANGUAGE_GERMAN =               0x05,
00034         PSP_UTILITY_OSK_LANGUAGE_ITALIAN =              0x06,
00035         PSP_UTILITY_OSK_LANGUAGE_DUTCH =                0x07,
00036         PSP_UTILITY_OSK_LANGUAGE_PORTUGESE =    0x08,
00037         PSP_UTILITY_OSK_LANGUAGE_RUSSIAN =              0x09,
00038         PSP_UTILITY_OSK_LANGUAGE_KOREAN =               0x0a
00039 };
00040 
00044 enum SceUtilityOskState
00045 {
00046         PSP_UTILITY_OSK_DIALOG_NONE = 0,        
00047         PSP_UTILITY_OSK_DIALOG_INITING,         
00048         PSP_UTILITY_OSK_DIALOG_INITED,          
00049         PSP_UTILITY_OSK_DIALOG_VISIBLE,         
00050         PSP_UTILITY_OSK_DIALOG_QUIT,            
00051         PSP_UTILITY_OSK_DIALOG_FINISHED         
00052 };
00053 
00057 enum SceUtilityOskResult
00058 {
00059         PSP_UTILITY_OSK_RESULT_UNCHANGED =      0,
00060         PSP_UTILITY_OSK_RESULT_CANCELLED,
00061         PSP_UTILITY_OSK_RESULT_CHANGED
00062 };
00063 
00067 enum SceUtilityOskInputType
00068 {
00069         PSP_UTILITY_OSK_INPUTTYPE_ALL =                                         0x00000000,
00070         PSP_UTILITY_OSK_INPUTTYPE_LATIN_DIGIT =                         0x00000001,
00071         PSP_UTILITY_OSK_INPUTTYPE_LATIN_SYMBOL =                        0x00000002,
00072         PSP_UTILITY_OSK_INPUTTYPE_LATIN_LOWERCASE =                     0x00000004,
00073         PSP_UTILITY_OSK_INPUTTYPE_LATIN_UPPERCASE =                     0x00000008,
00074         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_DIGIT =                      0x00000100,
00075         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_SYMBOL =                     0x00000200,
00076         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_LOWERCASE =          0x00000400,
00077         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_UPPERCASE =          0x00000800,
00078         // http://en.wikipedia.org/wiki/Hiragana
00079         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_HIRAGANA =           0x00001000,
00080         // http://en.wikipedia.org/wiki/Katakana
00081         // Half-width Katakana
00082         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_HALF_KATAKANA =      0x00002000,
00083         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_KATAKANA =           0x00004000,
00084         // http://en.wikipedia.org/wiki/Kanji
00085         PSP_UTILITY_OSK_INPUTTYPE_JAPANESE_KANJI =                      0x00008000,
00086         PSP_UTILITY_OSK_INPUTTYPE_RUSSIAN_LOWERCASE =           0x00010000,
00087         PSP_UTILITY_OSK_INPUTTYPE_RUSSIAN_UPPERCASE =           0x00020000,
00088         PSP_UTILITY_OSK_INPUTTYPE_KOREAN =                                      0x00040000,
00089         PSP_UTILITY_OSK_INPUTTYPE_URL =                                         0x00080000
00090 };
00091 
00095 typedef struct _SceUtilityOskData
00096 {
00098         int unk_00;
00100     int unk_04;
00102     int language;
00104     int unk_12;
00106     int inputtype;
00108     int lines;
00110     int unk_24;
00112     unsigned short* desc;
00114     unsigned short* intext;
00116     int outtextlength;
00118     unsigned short* outtext;
00120     int result;
00122     int outtextlimit;
00123         
00124 } SceUtilityOskData;
00125 
00129 typedef struct _SceUtilityOskParams
00130 {
00131         pspUtilityDialogCommon base;
00133         int datacount;
00135         SceUtilityOskData* data;
00137         int state;
00139         int unk_60;
00140         
00141 } SceUtilityOskParams;
00142 
00150 int sceUtilityOskInitStart(SceUtilityOskParams* params);
00151 
00159 int sceUtilityOskShutdownStart(void);
00160 
00168 int sceUtilityOskUpdate(int n);
00169 
00175 int sceUtilityOskGetStatus(void);
00176 
00177 #ifdef __cplusplus
00178 }
00179 #endif
00180 
00181 #endif