00001
00002
00003
00004
00005 struct cfm
00006
00007 {
00008 int wordLen;
00009 int lineLen;
00010 int inWord, inLine;
00011 bool lineNumbers;
00012 bool countDown;
00013 long charCount;
00014 FILE *out;
00015 int numOff;
00016 int color;
00017 bool underline;
00018 bool bold;
00019 bool italic;
00020 };
00021
00022 struct cfm *cfmNew(int wordLen, int lineLen,
00023 boolean lineNumbers, boolean countDown, FILE *out, int numOff);
00024
00025
00026 void cfmOut(struct cfm *cfm, char c, int color);
00027
00028
00029 void cfmOutExt(struct cfm *cfm, char c, int color, boolean underline, boolean bold, boolean italic);
00030
00031
00032 void cfmFree(struct cfm **pCfm);
00033
00034
00035 enum seqOutColor
00036
00037 {
00038 socBlack = 0,
00039 socBlue = 1,
00040 socBrightBlue = 2,
00041 socRed = 3,
00042 socOrange = 4,
00043 };
00044 extern int seqOutColorLookup[];
00045
00046 struct baf
00047
00048 {
00049 char nChars[256];
00050 char hChars[256];
00051 int cix;
00052 int nLineStart;
00053 int hLineStart;
00054 int nCurPos;
00055 int hCurPos;
00056 DNA *needle, *haystack;
00057 int nNumOff, hNumOff;
00058 FILE *out;
00059 int lineSize;
00060 bool hCountDown;
00061 bool isTrans;
00062 bool nCountDown;
00063 };
00064
00065 void bafInit(struct baf *baf, DNA *needle, int nNumOff, boolean nCountDown,
00066 DNA *haystack, int hNumOff, boolean hCountDown,
00067 FILE *out, int lineSize, boolean isTrans);
00068
00069
00070 void bafSetAli(struct baf *baf, struct ffAli *ali);
00071
00072
00073 void bafSetPos(struct baf *baf, int nStart, int hStart);
00074
00075
00076 void bafStartLine(struct baf *baf);
00077
00078
00079 void bafWriteLine(struct baf *baf);
00080
00081
00082
00083 void bafOut(struct baf *baf, char n, char h);
00084
00085
00086 void bafFlushLine(struct baf *baf);
00087
00088