/*******************************************************************************
;*******************************************************************************
;**                                                                           **
;**                  COPYRIGHT 2001-2012 NUANCE COMMUNICATIONS                **
;**                                                                           **
;**               NUANCE COMMUNICATIONS PROPRIETARY INFORMATION               **
;**                                                                           **
;**     This software is supplied under the terms of a license agreement      **
;**     or non-disclosure agreement with Nuance Communications and may not    **
;**     be copied or disclosed except in accordance with the terms of that    **
;**     agreement.                                                            **
;**                                                                           **
;*******************************************************************************
;**                                                                           **
;**     FileName: et9afixeddata.h                                             **
;**                                                                           **
;**  Description: Path data point container for Swype path module.            **
;**                                                                           **
;*******************************************************************************
;******************************************************************************/


#ifndef _SWFIXEDDATA_H_
#define _SWFIXEDDATA_H_ 1

#include "et9abuildconfig.h"

/* don't mangle the function name if compile under C++ */
#if defined(__cplusplus)
extern "C" {
#endif

typedef struct SWCMouseData_s
{
    _SWPoint m_Point;
    BYTE4    m_TimeOffset;
}
SWCMouseData;

typedef struct SWFixedData_s
{
    _SWPoint m_Point;
    BYTE4    m_TimeOffset;
    BYTE4    m_PrecisePathLen;   /* Sum of Precise Distances from point-to-point from PenDown location */
    SBYTE2   D1x, D1y;           /* Signed 1st difference from previous point */
    SBYTE2   D2x, D2y;           /* Signed 2nd difference from previous and following points */
    SBYTE4   D2Sum;              /* Sum of squares of signed 2nd differences */
    SBYTE2   m_Index;            /* Index of this point in list of points in current path */
    BYTE2    m_Flags;            /* Flag field used in analyzing path */
}
SWFixedData;

ET9PRIVATE void ET9FARCALL SWFixedData_init(SWFixedData *dst, SBYTE2 x, SBYTE2 y, BYTE4 dwTimeOffset, SWFixedData *prevPoint, SBYTE2 Index);

ET9PRIVATE void ET9FARCALL SWFixedData_copy(const SWFixedData *src, SWFixedData *dst);


/* End don't mangle the function name if compile under C++ */
#if defined(__cplusplus)
    }
#endif

#endif /* _SWFIXEDDATA_H_ */

/* ----------------------------------< eof >--------------------------------- */
