2025-06-27 00:32:57 +08:00
|
|
|
|
#ifndef MYWIN_INPUT_H__
|
|
|
|
|
|
#define MYWIN_INPUT_H__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define INPUT_WORDS_MAXNUM 256
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뷨״̬
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define INPUT_MODE_PINYIN 0
|
|
|
|
|
|
#define INPUT_MODE_BIG 1
|
|
|
|
|
|
#define INPUT_MODE_MINI 2
|
|
|
|
|
|
#define INPUT_MODE_NUM 3
|
|
|
|
|
|
#define INPUT_MODE_SYMBOL 4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
int x;
|
|
|
|
|
|
int y;
|
|
|
|
|
|
int x_size;
|
|
|
|
|
|
int y_size;
|
|
|
|
|
|
int press;
|
|
|
|
|
|
char txt[10];
|
|
|
|
|
|
}INPUT_ButtonStruct;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
WIN_WindowStruct win;
|
2025-07-05 19:47:28 +08:00
|
|
|
|
int pinyin_y; //ƴ<><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
int button_ysize; //<2F><><EFBFBD><EFBFBD>Y<EFBFBD>᷽<EFBFBD><E1B7BD><EFBFBD>ijߴ<C4B3>
|
|
|
|
|
|
int exit; //<2F>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD>뷨<EFBFBD><EBB7A8><EFBFBD><EFBFBD>
|
|
|
|
|
|
int press_x; //<2F><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int press_y;
|
2025-07-05 19:47:28 +08:00
|
|
|
|
int press_down_index; //<2F><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD>״̬<D7B4>ļ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
int press_down_index_word; //<2F><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD>״̬<D7B4>ĺ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int word_page; //<2F><>ѡ<EFBFBD>ַ<EFBFBD>ҳ
|
|
|
|
|
|
int num_symbol_page; //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ҳ
|
|
|
|
|
|
u8 *word_const; //<2F><>ѡ<EFBFBD>ִ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
int inputMode; //<2F><><EFBFBD>뷨״̬<D7B4><CCAC>0<EFBFBD><30>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>д<EFBFBD><D0B4>2<EFBFBD><32>Сд<D0A1><D0B4>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
char inputPinyin[10]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4>
|
|
|
|
|
|
char candidateWord[3]; //<2F><>ѡ<EFBFBD>֣<EFBFBD>
|
|
|
|
|
|
INPUT_ButtonStruct word[10];//<2F><>ѡ<EFBFBD>ְ<EFBFBD><D6B0><EFBFBD>
|
|
|
|
|
|
char inputWords[INPUT_WORDS_MAXNUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
INPUT_ButtonStruct button[37];
|
|
|
|
|
|
}WIN_InputStruct;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F>ڶ<EFBFBD><DAB6>д<EFBFBD><D0B4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>뷨
|
2025-06-27 00:32:57 +08:00
|
|
|
|
WIN_InputStruct *WIN_CreatInput (WIN_WindowStruct *base,
|
|
|
|
|
|
void (*msgLoop)(struct _WIN_WindowStruct *win,WIN_MsgStruct *msg),
|
|
|
|
|
|
int x,int y,int x_size,int y_size);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>д
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_SetToAscBig (WIN_InputStruct *input);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ĸСд
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_SetToAscMini (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_SetToNum (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_SetPressDown (WIN_InputStruct *input);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>̧<EFBFBD><CCA7>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_SetPressUp (WIN_InputStruct *input);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_PinYinAppend (WIN_InputStruct *input);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//ƴ<><C6B4><EFBFBD>ض<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_PinYinCut (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ض<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_WordCut (WIN_InputStruct *input);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_WordAppend (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><>ѯ<EFBFBD><D1AF>ѡ<EFBFBD>ַ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_FindWord (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//Ĭ<>ϻ<EFBFBD><CFBB>ƺ<EFBFBD><C6BA><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_DefaultPaint (WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//Ĭ<><C4AC><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void INPUT_DefaultMsgLoop (WIN_InputStruct *input,WIN_MsgStruct *msg);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//ʹ<>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int INPUT_KeyBoard (WIN_WindowStruct *win,char *txt,int len);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|