00001 #ifndef _PA_Reco
00002 #define _PA_Reco
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 #include "PA9.h"
00009
00010
00011
00012
00021 typedef struct{
00022 u8 x, y;
00023 } PA_StylusPosition;
00024 extern PA_StylusPosition PA_StylusPos[20000];
00025
00026 #define PA_RECOTESTS 30
00027
00028
00029 typedef struct{
00030 char letter;
00031 char code[16];
00032 } PA_FormType;
00033
00034
00035 extern PA_FormType PA_Graffiti[PA_RECOTESTS];
00036
00037 typedef struct{
00038 u32 nvalues, oldn, veryold;
00039 } PA_RecoValues;
00040 extern PA_RecoValues PA_Reco;
00041
00042 typedef struct{
00043 u32 Length;
00044 u8 minX, minY, maxX, maxY;
00045 u8 startX, startY, endX, endY;
00046 s16 Angle;
00047 } PA_RecoInfos;
00048 extern PA_RecoInfos PA_RecoInfo;
00049
00050
00051
00052 extern char PA_RecoShape[16];
00053
00054 extern u8 PA_UseGraffiti;
00055
00056 extern u8 PA_CustomReco;
00057 extern PA_FormType PA_CustomShape[200];
00058
00059
00060
00061
00073 char PA_CheckLetter(void);
00074
00075
00088 extern inline void PA_RecoAddShape(char letter, char *shape){
00089
00090 PA_CustomShape[PA_CustomReco].letter = letter;
00091 u8 i;
00092 for (i = 0; i < 16; i++) PA_CustomShape[PA_CustomReco].code[i] = shape[i];
00093 PA_CustomReco++;
00094 }
00095
00096
00097
00104 extern inline void PA_ResetRecoSys(void){
00105 PA_CustomReco = 0;
00106 PA_UseGraffiti = 1;
00107 }
00108
00109
00119 extern inline void PA_UsePAGraffiti(u8 use){
00120 PA_UseGraffiti = use;
00121 }
00122
00123
00124
00125
00127
00128 #ifdef __cplusplus
00129 }
00130 #endif
00131
00132 #endif
00133
00134