struct ProcessInfo {
   struct Buffer    *Source;        /* Input buffer */
   struct Buffer    *Dest;          /* Output buffer */
   WORD              Left, Top;     /* Upper left corner */
   WORD              Width, Height; /* Size of affected region */
   WORD              StripW, StripH;/* Rows and offset */
   WORD              PadW, PadH;    /* Padding on width and height */
   LONG              Bytes;         /* Bytes per source row */
   UBYTE            *Stencil;       /* Mask of pixels to affect */
   struct Blend     *Blend;         /* Blend plane for region */
   UBYTE            *RR, *RG, *RB;  /* Raw source pixel pointers */
   UBYTE            *BR, *BG, *BB;  /* Beginning source pixel pointers */
   UBYTE            *SR, *SG, *SB;  /* Source pixel data (with offset) */
   UBYTE            *TR, *TG, *TB;  /* Temporary pixel data (output) */
};

#define PPF_INLINE   0x01           /* Do not need second copy of buffer */
#define PPF_UNDO     0x02           /* Save an undo buffer first */

#if 0
struct ProcessInfo *PrepareProcess (char *, struct Buffer *, int, int, ULONG);
void FinishProcess (struct ProcessInfo *);
BOOL GetData (struct ProcessInfo *, int, int, int);
BOOL PutData (struct ProcessInfo *, int, int, int);
#endif
