/*
        Frank Lyonnet 1993
        Entete module Scaling
*/

typedef struct FYEO_SCALING
{
   int OutWidth;
   int OutHeight;
   void ( * PutOneGrayLine)(char *);
   void ( * PutOneColorLine)(char *,char *,char *);
   int SpecialSpeed;
   int NumX;
   int NumY;
   int DivX;
   int DivY;
   BOOL MagX;
   BOOL MagY;
   BOOL RedX;
   BOOL RedY;
   BOOL Scaling;
   BOOL Preview;
   int LinesInHBuffer;
   char * HBuffer1;
   char * HBuffer2;
   char * HBuffer3;
   char * VBuffer1;
   char * VBuffer2;
   char * VBuffer3;
} FYEO_scaling;

extern FYEO_scaling * FYEO_color_scaling_init(int OutWidth , int OutHeight , int XMul , int XDiv,
   int YMul, int YDiv , void ( * PutOneLine)(char *,char *,char *),BOOL SpecialSpeed);
extern FYEO_scaling * FYEO_gray_scaling_init(int OutWidth , int OutHeight , int XMul , int XDiv,
   int YMul, int YDiv , void (* PutOneLine)(char *),BOOL SpecialSpeed);
extern void FYEO_color_scaling_add_one_line(FYEO_scaling * Scaling , char *InRed,char *InGreen,char *InBlue);
extern void FYEO_gray_scaling_add_one_line(FYEO_scaling * Scaling , char *InGray);
extern void FYEO_color_scaling_term(FYEO_scaling * Scaling);
extern void FYEO_gray_scaling_term(FYEO_scaling * Scaling);

