📄 atv.h
字号:
/*************************************************************************
*
* Copyright (C) Asic Center. 2001
* All Rights Reserved
*
* Filename : atv.h
* Function :
* Revision :
* 2001/10/24 Pessia Create this file
************************************************************************/
#ifndef ATV_H
#define ATV_H
#include "asixdef.h"
#include "sysmsg.h"
/* ATV flag */
#define AREA_SUSPEND 0
#define AREA_REENABLE 1
/* ATV Mode */
#define ICON_AREA 0x00000000L
#define INPUT_AREA 0x00000001L
#define PAD_AREA 0x00000002L
#define KEY_AREA 0x00000003L
#define STROKE_MODE 0x00000000L
#define CONTINUOUS_MODE 0x00000001L
#define CONFINED_MODE 0x00000002L
/* Number of ATV Layers( size of ATV stack) */
#define ATVSTK_LAYER 7
/* Define SoftKey structure */
typedef struct SoftKey
{
WORD xPos;
WORD yPos;
WORD numRow;
WORD numCol;
WORD keyWidth;
WORD keyHeight;
// DWORD echoCol;
// DWORD echoWidth;
// DWORD timerId;
// WORD point[500];
// WORD CandidateResult[10];
// WORD timeroutflag;
// SHORT off;
WORD *keymap;
char *bitmap;
WORD *pbitmap;
DWORD WndId;
DWORD areaId;
} SOFTKEY;
/* Define ACTIVEAREA structure */
typedef struct _ATV
{
struct _ATV *previous; /* pointer to pevious activearea block of the same layer */
struct _ATV *next; /* pointer to next activearea block of the same layer */
SHORT xsrc; /* coordinates of activearea block */
SHORT ysrc;
SHORT xdest;
SHORT ydest;
DWORD type; /* type of activearea block */
DWORD areaId; /* id of activearea block */
DWORD wndId; /* id of the window*/
struct InPutPad *extptr1;
SOFTKEY *extptr2;
DWORD mode; /* mode of activearea block */
DWORD flag; /* status of activearea block: AREA_SUSPEND or AREA_REENABLE */
} ATV;
/* Define InPutPad structure */
typedef struct InPutPad
{
WORD xPos;
WORD yPos;
WORD numRow;
WORD numCol;
WORD areaWidth;
WORD areaHeight;
DWORD echoCol;
DWORD echoWidth;
DWORD timerId;
// WORD point[500];
BYTE point[500];
WORD CandidateResult[10];
WORD timeroutflag;
SHORT off;
WORD *pbitmap;
DWORD WndId;
DWORD areaId;
} InPutPad;
/* Define Graphics Context */
typedef struct _atvcb
{
ATV *currentAtv; /* pointer to activearea block of current operation */
DWORD lastmsgtype; /* saved last message type used in next judgement*/
SHORT top; /* top layer of activearea block stack */
ATV *stack[ATVSTK_LAYER]; /* activearea block stack */
WORD pad; /*作为是否打开过inputpad的标记*/
}ATVCB;
/* PUBLIC FUCTIONS */
PUBLIC ATV *findId( ATV *start,DWORD areaId );
PUBLIC void SysTransMsg(MSG *ROSmsg, ATVCB *p, MSG *PPSMmsg);
PUBLIC STATUS SysActiveAreaEnable(PDWORD areaId,DWORD type,DWORD mode,SHORT xSrc,SHORT ySrc,SHORT xDest,SHORT yDest, DWORD wndId );
PUBLIC STATUS SysActiveAreaDisable(DWORD areaId);
PUBLIC STATUS SysActiveAreaSuspend(DWORD areaId,DWORD flag);
PUBLIC STATUS SysActiveAreaRead(DWORD areaId,PSHORT xSrc, PSHORT ySrc, PSHORT xDest, PSHORT yDest);
PUBLIC STATUS SysActiveListPush(void);
PUBLIC STATUS SysActiveListPop(void);
PUBLIC STATUS SysActiveAreaToFront(DWORD areaId);
PUBLIC STATUS SysActiveAreaPosition(DWORD areaId,SHORT xSrc, SHORT ySrc,SHORT xDest,SHORT yDest);
PUBLIC ATVCB *SysInitATVCB( void );
PUBLIC STATUS SysFreeATVCB( ATVCB *p );
PUBLIC STATUS SysAdvOpenInputPad ( PDWORD areaId,DWORD WndId,WORD xPos,WORD yPos,WORD numRow,WORD numCol,WORD areaWidth,WORD areaHeight,
DWORD echoCol,DWORD echoWidth/*,DWORD timerId*/ );
PUBLIC STATUS SysCloseInputPad ( DWORD areaId );
PUBLIC STATUS SysSaveInputPad ( DWORD areaId );
PUBLIC STATUS SysClearAndDrawInputPad ( DWORD areaId );
#endif /* ATV_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -