windows-nt/Source/XPSP1/NT/windows/feime/chs/ntabc/winabc/abcbx.h
2020-09-26 16:20:57 +08:00

210 lines
5.6 KiB
C

/*************************************************
* abcbx.h *
* *
* Copyright (C) 1995-1999 Microsoft Inc. *
* *
*************************************************/
#define ESC 1
#define SPACE 2
#define OTHER 3
#define BXMA 4
#define BX_SELECT 5
#define BX_RESULT_POS 14
#define BX_CHOICE 6
RECT rectchar;
WORD bxtable_ndx[]={0,0xc3a,0x1143,0x2493,
0x3695,0x3af0,0x3ed1,0x4aec,0x5490}; //length for each bx
WORD search_pointer=0;
BYTE current_bx_code_long=0;
WORD key_bx_code_long=0;
WORD current_part_length=0;
BYTE bx_help_flag=0;
BYTE in_mem_part=0;
BYTE bx_inpt_on=0;
BYTE bx_allow=1;
BYTE inpt_bx_bf[40];
BYTE key_bx_code[40];
BYTE current_bx_code[40];
BYTE bx_help_disp_bf[40];
BYTE *lib_p;
BYTE *out_p;
//copy from abcw2.h and add extern for every global variable.
extern CHAR SKLayoutS[NumsSK];
extern CHAR SKLayout[NumsSK][48*2];
extern CHAR PcKb[48*2],SdaKb[48*2];
extern CHAR SPcKb[48*2],SSdaKb[48*2];
extern LPIMEL lpImeL;
extern IMEG sImeG ;
#define WM_NEW_DEF_CODE 1993+0x400 //1993.4.19
#define WM_NEW_DEF_RESTORE 1993+0x401 //1993.4.19
extern HIMC ghIMC;
extern LPINPUTCONTEXT glpIMC;
extern LPPRIVCONTEXT glpIMCP;
extern int wait_flag , waitzl_flag;
extern int TypeOfOutMsg;
extern int biaodian_len;
extern BYTE I_U_Flag;
extern struct INPUT_TISHI prompt[1];
extern struct INPT_BF in;
extern struct W_SLBL wp;
extern struct ATTR msx_area[120];
extern struct INDEX ndx;
extern struct INDEX kzk_ndx;
extern struct TBF FAR *cisu;
extern struct PD_TAB pindu;
extern struct FMT now;
extern struct T_REM tmmr;
extern int form[];
extern BYTE spbx_tab[((87-15)*94+15)/16*16+16];
extern BYTE logging_stack[0x400];
extern WORD logging_stack_size;
extern int word_long;
extern int unit_length;
extern int disp_tail;
extern int disp_head;
extern int group_no;
extern int current_no;
extern unsigned char space_char[];
extern BYTE out_svw[400];
extern unsigned char group_counter[];
extern int input_cur;
extern int new_no;
extern int jlxw_mode;
extern int jiyi_mode;
extern int result_area_pointer;
extern BYTE result_area[40];
extern BYTE out_result_area[40];
extern WORD out_bfb[40];
extern int out_pointer;
extern int now_cs;
extern int now_cs_dot;
extern unsigned char biaodian_table[];
extern unsigned char cc_biaodian[];
extern int biaodian_pos;
extern WORD biaodian_value;
extern BYTE yinhao_flag;
extern BYTE step_mode;
extern BYTE bdd_flag;
extern BOOL IfTopMost;
extern BYTE word_back_flag;
extern BYTE msg_type;
extern BYTE temp_rem_area[512];
extern BYTE rem_area[512];
extern BYTE out_length;
extern BYTE last_out_length;
extern BYTE cap_mode;
extern WORD mulu_record_length;
extern WORD data_record_length;
extern WORD mulu_true_length;
extern WORD data_start;
extern WORD mulu_max_length;
extern BYTE user_word_max_length;
extern OFSTRUCT reopen;
extern HWND active_win_keep;
extern BYTE d_yinhao_flag,book_name,book_name_sub;
extern BYTE SdaPromptOpen,DefNewNow;
extern FARPROC _hh1,_hh2;
extern HANDLE hInst;
extern HANDLE cisu_hd;
extern HCURSOR hCursor;
extern FARPROC FAR *hh1,*hh2;
extern FARPROC lpFunc,lpFunc2;
extern HANDLE mdl;
extern BYTE opt_flag;
extern BYTE kb_buffer[35];
extern int OldCaps;
extern BYTE in_buffer[1];
extern int n,end_flg,CharHi,CharWi;
extern HFONT hFont;
extern HFONT hOldFont;
extern HFONT hSFont;
extern HPEN hPen;
extern BYTE V_Flag;
extern OFSTRUCT ofstruct;
extern HDC hDC;
extern HDC hMemoryDC;
extern HBITMAP cur_h;
extern int count2;
extern int pass_word;
extern HWND NowFocus,OptFocus;
extern BOOL cur_flag,op_flag;
extern WORD old_curx,cur_hibit,cur_start_ps,cur_start_count;
extern HWND hWnd,act_focus;
extern int input_count;
extern int kb_mode,kb_flag;
extern int local_focus;
extern int timer_counter;
extern int msg_count;
extern BYTE msg_bf[50];
extern TimerCounter;
extern KeyBoardState;
extern SdaInst;
extern HWND Return;
extern HWND act_win;
extern HANDLE Hdopt;
extern unsigned char jiyi[];
extern WORD sda_trans[5];
extern HWND hInputWnd;
extern HWND hABCWnd;
extern char ExeCmdLine[];
extern BYTE UpdateFlag;
extern char jiyi_wenjian_cuo[];
extern BYTE InputBuffer[43];
extern WORD SoftKeyNum;
extern char tmmr_rem[MAX_PATH];
extern char user_lib[MAX_PATH];
extern HANDLE hAccTable;
extern HANDLE hImeL;
extern LPIMEL lpImeL;
extern int MoveFlag;
extern POINT pot;
extern HWND hSetOp,NewWordWin;
extern char *szMsgStr[];
extern BYTE Sd_Open_flag;
extern BYTE kb_mode_save;
extern char TMMR_OPEN_WRONG[];
extern BYTE cpjy,bxsr,qj,bdzh;
extern OFSTRUCT ofs;
extern struct SLBL sb;
extern struct N_SLBL neg;
extern BYTE slbl_tab[];
extern OFSTRUCT openbuf;
extern OFSTRUCT openbuf_kzk,open_user,open_tmmr;
extern BYTE buffer[30];
extern BYTE cmp_head,cmp_state,cmp_bx,by_cchar_flag;
extern WORD cmp_yj,cmp_cisu;
extern LONG r_addr;
extern WORD out_svw_cnt,msx_area_cnt;
extern WORD search_start,search_end,kzk_search_start,kzk_search_end;
extern WORD item_length,kzk_item_length,last_item_name,item_addr,slib_addr;
extern BYTE word_lib_state;
extern WORD lib_w[0xa00];
extern WORD kzk_lib_w[0x400];
extern BYTE auto_mode,word_source,xs_flag,sfx_attr,jiyi_pindu,system_info;
extern BYTE stack1_move_counter;
extern WORD extb_ps;
extern char *std_dct;
extern char *user_dct;
extern BYTE last_flag;
extern LONG last_start_ps;
extern WORD last_size;
extern BYTE stack1_move_counter;
extern char fk_tab[];
extern WORD sfx_table[];
extern WORD sfx_table_size;
int FAR PASCAL sda_proc(WORD, LPWORD, BYTE, HIMC);
int FAR PASCAL tran_data(int, HIMC, BYTE);