2025-06-27 00:32:57 +08:00
|
|
|
|
#ifndef MYWIN_INPUT_H__
|
|
|
|
|
|
#define MYWIN_INPUT_H__
|
|
|
|
|
|
|
2025-07-06 18:46:13 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
|
#define INPUT_WORDS_MAXNUM 256
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뷨״̬
|
|
|
|
|
|
#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;
|
|
|
|
|
|
int pinyin_y; // ƴ<><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
int button_ysize; // <20><><EFBFBD><EFBFBD>Y<EFBFBD>᷽<EFBFBD><E1B7BD><EFBFBD>ijߴ<C4B3>
|
|
|
|
|
|
int exit; // <20>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD>뷨<EFBFBD><EBB7A8><EFBFBD><EFBFBD>
|
|
|
|
|
|
int press_x; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int press_y;
|
|
|
|
|
|
int press_down_index; // <20><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD>״̬<D7B4>ļ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
int press_down_index_word; // <20><><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD>״̬<D7B4>ĺ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int word_page; // <20><>ѡ<EFBFBD>ַ<EFBFBD>ҳ
|
|
|
|
|
|
int num_symbol_page; // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ҳ
|
|
|
|
|
|
u8 *word_const; // <20><>ѡ<EFBFBD>ִ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
int inputMode; // <20><><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]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4>
|
|
|
|
|
|
char candidateWord[3]; // <20><>ѡ<EFBFBD>֣<EFBFBD>
|
|
|
|
|
|
INPUT_ButtonStruct word[10]; // <20><>ѡ<EFBFBD>ְ<EFBFBD><D6B0><EFBFBD>
|
|
|
|
|
|
char inputWords[INPUT_WORDS_MAXNUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
INPUT_ButtonStruct button[37];
|
|
|
|
|
|
} WIN_InputStruct;
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ڶ<EFBFBD><DAB6>д<EFBFBD><D0B4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>뷨
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>д
|
|
|
|
|
|
void INPUT_SetToAscBig(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>ĸСд
|
|
|
|
|
|
void INPUT_SetToAscMini(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void INPUT_SetToNum(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void INPUT_SetPressDown(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>̧<EFBFBD><CCA7>
|
|
|
|
|
|
void INPUT_SetPressUp(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4>
|
|
|
|
|
|
void INPUT_PinYinAppend(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// ƴ<><C6B4><EFBFBD>ض<EFBFBD>
|
|
|
|
|
|
void INPUT_PinYinCut(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ض<EFBFBD>
|
|
|
|
|
|
void INPUT_WordCut(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
void INPUT_WordAppend(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ѯ<EFBFBD><D1AF>ѡ<EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
void INPUT_FindWord(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// Ĭ<>ϻ<EFBFBD><CFBB>ƺ<EFBFBD><C6BA><EFBFBD>
|
|
|
|
|
|
void INPUT_DefaultPaint(WIN_InputStruct *input);
|
|
|
|
|
|
|
|
|
|
|
|
// Ĭ<><C4AC><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void INPUT_DefaultMsgLoop(WIN_InputStruct *input, WIN_MsgStruct *msg);
|
|
|
|
|
|
|
|
|
|
|
|
// ʹ<>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
|
|
|
|
|
|
int INPUT_KeyBoard(WIN_WindowStruct *win, char *txt, int len);
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
|
|
|
|
|
#endif
|