/*-----------------------------------------------------------------------*/
/*   FS-MTS  1.0  Ver.                                                   */
/*   Copyright (C) 2000 FIRST SAIL                                       */
/*   All Rights Reserved                                                 */
/*   Warning:                                                            */
/*       This program author is GuoHeng,this system is protected         */
/*   by copyright law and international Treaties . Unauthorized          */
/*   reproduction of  distribution of this  system, or any portion       */
/*   of it , may result in severe civil and criminal penalties ,         */
/*   and will be prosecuted to the maximum extern possible under         */
/*   the law.                                                            */
/*                                                                       */
/*   Update Date:2002-06-25                                              */
/*   Update Time:22:35:00                                                */
/*-----------------------------------------------------------------------*/

#ifndef __MOUSE_H_H_
#define __MOUSE_H_H_

#define MOUSE_LEFT    0x1
#define MOUSE_RIGHT   0x2
#define MOUSE_MIDDLE  0x4
#define MOUSE_SCROLL  0x4

#ifndef TRUE
#define TRUE 1
#endif

#ifndef FALSE
#define FALSE 0
#endif

#define MOUSE_SPEED_NULL       0
#define MOUSE_SPEED_TIMES30    1
#define MOUSE_SPEED_TIMES50    2
#define MOUSE_SPEED_TIMES100   3
#define MOUSE_SPEED_TIMES200   4


//#include "MyFrame.h"

typedef struct __tagMOUSEMSG
{
  POINT   point;
  BOOL    exist;
  int     statue;
  int     times;
  BOOL    visible;
}MOUSEMSG;



void FAR FcMouse(unsigned int ax,unsigned int bx,unsigned int cx,unsigned int dx);
void FAR ResetMouse();
void FAR OpenMouse();
void FAR CloseMouse();
void FAR SetMouseScreen(int nMinX, int nMaxX, int nMinY, int nMaxY);
void FAR SetMouseScale(int nScaleX,int nScaleY);
void FAR DrawCursor(int nX, int nY, BOOL bDisplay);
void FAR SetMouseSensitivity(int nHorzSensitivity,
	int nVertSensitivity, int nBei);
void FAR SetMouseInterruptSpeed(int nSpeed);

BOOL FAR GetMouse();
void FAR SetMouse(BOOL bFlags);
int  FAR GetMouseX();
int  FAR GetMouseY();
BOOL FAR IsMouseDown(int nFormat=MOUSE_LEFT);
BOOL FAR WaitingMouseUp(int nMouseButton, int nTimes, int nDelayTime);

void FAR SetMouseLocation(int nX, int nY);
//void FAR SetTransrateKey(BOOL bKey);
//BOOL FAR GetTransrateKey();
BOOL FAR IsDblMouse();
BOOL FAR IsExistMouse();
BOOL FAR JudgeMouseRange(int nLeft,int nTop,int nRight,int nBottom);
BOOL FAR GetMouseScroll(int* pnCounter, BOOL* pbUP);

//void FAR SetMouseFc(void FAR (*pFc)());
//void FAR (*GetMouseFc())();

void AfxRegisterMouseFc(void FAR (*pFc)(unsigned int ax,
     unsigned int bx, unsigned int cx,unsigned int dx));

void FAR LockMouse();
void FAR UnlockMouse();
void FAR SetLockMouse(BOOL bLock);
BOOL FAR GetLockMouse();

void FAR AfxSetRemoteMouse(int nX, int nY, int nFormat);
void FAR AfxRegisterRemoteMouseFc(void FAR (*pFc)() = NULL);


void FAR TouchKit_FcMouse(unsigned int ax, unsigned int bx,
    unsigned int cx, unsigned int dx);

BOOL AfxClearMouseDown(int nMouseButton,
	long gCounter1, WORD wTime1,
	long gCounter2, WORD wTime2);

#endif