⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atv.h

📁 基于东南大学开发的SEP3203的ARM7中的所有驱动
💻 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 + -