/*DDK*************************************************************************/
/*                                                                           */
/* COPYRIGHT (C) Lexmark Corporation, 1989                                   */
/* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
/*                                                                           */
/*    The following IBM OS/2 WARP source code is provided to you solely for  */
/*    the purpose of assisting you in your development of OS/2 WARP device   */
/*    drivers. You may use this code in accordance with the IBM License      */
/*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
/*    Copyright statement may not be removed.                                */
/*                                                                           */
/*****************************************************************************/
/**************************************************************************
 *                            Lexmark Confidential
 *
 * SOURCE FILE NAME = PRDPEXTF
 *
 * DESCRIPTIVE NAME = Printer Device Driver Printer Control function
 *                    declarations for externally visible routines.
 *
 *
 * VERSION
 *
 * DATE
 *
 * DESCRIPTION
 *
 * FUNCTIONS
 *
 * ENTRY POINTS:
 *
 * DEPENDENCIES:
 *
 * NOTES
 *
 *
 * STRUCTURES
 *
 * EXTERNAL REFERENCES
 *
 * EXTERNAL FUNCTIONS
 *
*/
/* CON3201
USHORT prdp_PrintBandRaster  (
            lpDCI );
*/

SHORT prdp_PrintBandRaster  (
            lpDCI );
/* CON32A
USHORT prdp_PrintBandLaser  (
            lpDCI );
*/

SHORT prdp_PrintBandLaser  (
            lpDCI );

void prdp_MakeString (
            USHORT,
            PBYTE,
            PBYTE,
            PUSHORT,
            lpDCTEntryType );

USHORT prdp_PrintSimple(
            lpDCI,
            USHORT,
            USHORT,
            PBYTE );

USHORT prdp_PrintMakeRaster8(
            lpPDBI,
            PBYTE,
            PBYTE,
            USHORT,
            BitmapListEntry *);

USHORT prdp_PrintMakeRaster24(
            lpPDBI,
            PBYTE,
            PBYTE,
            USHORT,
            BitmapListEntry *);

/* CON3201
USHORT prdp_PrintRaster (
            lpDCI,
            USHORT,
            PBYTE );
*/

SHORT prdp_PrintRaster (
            lpDCI,
            USHORT,
            PBYTE );

void prdp_PrintMakeRasterColor(
            lpPDBI,
            PBYTE,
            lpColOutputType,
            USHORT,
            BitmapListEntry *);

/* CON3201
USHORT prdp_PrintRasterColor (
            lpDCI,
            lpColOutputType );
*/

SHORT prdp_PrintRasterColor (
            lpDCI,
            lpColOutputType );

USHORT prdp_PrintText  (
            lpDCI,
            lpGTBEntry *,
            PBYTE,
            PUSHORT,
            USHORT,
            USHORT,
            PUSHORT,
            PUSHORT );



USHORT prdp_PrintMemory (
            PBYTE,
            USHORT,
            lpDCI);

USHORT prdp_AddString (
            USHORT,
            USHORT,
            PBYTE,
            PBYTE,
            PUSHORT,
            USHORT,
            lpDCI);

USHORT prdp_AddHorizMoveString (
            SHORT,
            SHORT,
            PBYTE,
            PUSHORT,
            USHORT,
            lpDCI );

USHORT prdp_PrintError(
            USHORT,
            lpPDBI);

USHORT prdp_PrintMoveDown (
            PUSHORT,
            PUSHORT,
            USHORT,
            PBYTE,
            PUSHORT,
            USHORT,
            lpDCI);

USHORT prdp_UpdateIniState (
            USHORT,
            USHORT,
            lpDCI);

BYTE prdp_GetPrinterColor (
            BYTE);

USHORT prdp_SetUpFont (
            lpGTBEntry,
            PCHAR,
            PUSHORT,
            USHORT,
            lpDCI );

/******************************************************************************/
/*  PD00537 : Added new parameter to prdp_NeedSpacesForMove                   */
/******************************************************************************/
BOOL prdp_NeedSpacesForMove (
            SHORT,
            SHORT,
            lpGTBEntry *,
            lpDCI );

VOID prdp_OutlineFontSizeString(
            PCHAR,
            FIXED );

VOID prdp_IntToAsciiDecimal (
            ULONG,
            SHORT,
            PCHAR );

USHORT prdp_SelectFont(
            lpDCI,
            lpGTBEntry *,
            USHORT,
            PBYTE,
            PUSHORT,
            USHORT );

USHORT prdp_SelectAttributes(
            lpDCI,
            lpGTBEntry *,
            USHORT,
            PBYTE,
            PUSHORT,
            USHORT );

/**********************************************************************/
/* Added for white space compression                                  */
/**********************************************************************/
USHORT prdp_ParseBitmap ( lpDCI );

/**********************************************************************/
/* Added for white space compression                                  */
/**********************************************************************/
USHORT prdp_FindPelRectangle (
                           PUSHORT,
                           PUSHORT,
                           POINTS,
                           USHORT,
                           USHORT,
                           PBYTE);

/**********************************************************************/
/* Added for white space compression                                  */
/**********************************************************************/
VOID prdp_FindHorizontalRun (
                           PUSHORT,
                           PUSHORT,
                           USHORT,
                           PBYTE);

/**********************************************************************/
/* Added for white space compression                                  */
/**********************************************************************/
USHORT prdp_SendPelRectangle (
                           PBYTE,
                           PUSHORT,
                           USHORT,
                           USHORT,
                           USHORT,
                           USHORT,
                           USHORT,
                           POINTS,
                           PBYTE,
                           lpDCI);

/**********************************************************************/
/* PD00469 : Added for speed up to white space compression            */
/**********************************************************************/
USHORT prdp_ParseSegment ( PBYTE * );

/**********************************************************************/
/* PD00556 : Added for enhanced resolutions.                          */
/**********************************************************************/
/* CON3203
USHORT prdp_PrintRasterPass (
*/
SHORT prdp_PrintRasterPass (
            lpDCI,
            USHORT,
            PBYTE,
            USHORT,
            PUSHORT);

USHORT prdp_Print360by360 (lpDDTType, PBYTE, USHORT, PBYTE, PBYTE,
                                    PBYTE, PUSHORT, USHORT, SHORT, PUSHORT,
                                    lpDCI, USHORT, PBYTE);

USHORT prdp_Print360by180 (PBYTE, PBYTE, PBYTE, PUSHORT, USHORT,
                                      SHORT, lpDCI, USHORT, USHORT);

/******************************************************************************/
/* PD00613 Added prdp_StrikeOutToBand                                         */
/******************************************************************************/
USHORT prdp_StrikeOutToBand(
            lpDCI,
            lpGTBEntry);

/******************************************************************************/
/* PD00629 Added prdp_createraster.                                           */
/******************************************************************************/
/* CON3201 *****************************************************/
/*VOID prdu_createraster ( PBYTE, PBYTE, PBYTE *, PBYTE *,     */
/*                                     BYTE, BYTE, USHORT );   */
/***************************************************************/
VOID prdu_createraster ( PBYTE, PBYTE, PBYTE *, PBYTE *,
                                             BYTE, BYTE);
/******************************************************************************/
/* INKJET : Added prdu_mergeraster                                            */
/******************************************************************************/
VOID prdu_mergeraster ( PBYTE, PBYTE, PBYTE, USHORT );
