evolisprinter-2.0
[evolisprinter.git] / src / evolis.h
1 /*\r
2  End of "evolis.h,v 1.0  ".\r
3 */\r
4 \r
5 // Macros...\r
6 #define RgbToGray(r, g, b) (((long) (r)*74L + (long)(g)*155L +(long)(b)*27L) >> 8)\r
7 \r
8 \r
9 // Globals...\r
10 extern int             STATUS; //0 means succes, 1 means failure\r
11 extern unsigned char   *lpMem;\r
12 extern unsigned char   *lpRecto,*lpVerso;\r
13 extern int             Model;                   /* Model number */\r
14 extern long            dwSizeNeeded;            // taille mmoire du lpMem en octets\r
15 extern char\r
16   ColorSmooth[15],\r
17   OverlayPannel[10],\r
18   OverlayBackPannel[10],\r
19   TreatementK[10],\r
20   TestCard[10],\r
21   EjectCard[10],\r
22   SelfClean[10],\r
23   AdjPrinter[10],\r
24   BlackIn[10],\r
25   Soften[10] ;\r
26 \r
27 extern int Brightness, Contrast, SensibilityK, QualityK, SensibilityO;\r
28 extern int colorspace,levelB;\r
29 extern int TB,LB,BB,RB,TW,LW,BW,RW;\r
30 extern int DetectAuto,StartDist;\r
31 //---CUPS API\r
32 //extern int cOrientation,cSides,tMargin,lMargin,rMargin,bMargin;\r
33 \r
34 // Dealing data functions\r
35 //extern void ShareRVBtoMem(long Height, long Width, long WidthLine, cups_raster_t * ras);\r
36 //extern void GetPrintingArea(long Height, long Width, long WidthLine, cups_raster_t * ras,long *x,long *y);\r
37 \r
38 // Compress and format data for the printer\r
39 extern long ReduceBlack(unsigned char *lpMemIn, unsigned char *lpMemOut,int nbrline);\r
40 extern long ReduceColor(unsigned char *lpMemIn, unsigned char *lpMemOut, int uiBitComp,int nbrline);\r
41 //int CutPage(long *stop);\r
42 \r
43 // Download functions\r
44 extern int DBNC(int col,int bl,int ov);//,int line);\r
45 extern int DB32NC(long lPos, char color);//,int line);  //y,m,c pannels 5 bits per color\r
46 extern int DB64NC(long lPos, char color);//,int line);  //y,m,c pannels 6 bits per color\r
47 extern int DB128NC(long lPos, char color);//,int line); //y,m,c pannels 7 bits per color\r
48 extern int DB2NC(long lPos, char pannel[10]);   // k,o panel 2 levels\r
49 extern int DB2MNC(long lPos);           // k panel 2 levels\r
50 \r
51 \r
52 // Convert RVB to k functions\r
53 extern void RVBtoGray(unsigned char *lpMemIn, unsigned char *lpMemOut, long lNbrByte);\r
54 extern void KinYMC(long Height, long Width);\r
55 extern void GrayToFloyd(unsigned char *lpMemIn, unsigned char *lpMemOut, long Width, long Height);\r
56 extern void GrayToDither(unsigned char *lpMemIn, unsigned char *lpMemOut, long Width, long Height);\r
57 extern void GrayToThreshold(unsigned char *lpMemIn, unsigned char *lpMemOut, long lNbrByte);\r
58 extern void ConvertRVBtoK(unsigned char *lpbRVB, long RVBSize, long Height, long Width, unsigned char *lpBlack);\r
59 \r
60 \r
61       \r
62 // End of "evolis.h,v 1.0  ".\r