/*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 = PRDGEXTF
 *
 * DESCRIPTIVE NAME = Printer Device Driver external files for
 *                    Global routines
 *
 *
 * VERSION
 *
 * DATE
 *
 * DESCRIPTION
 *
 * FUNCTIONS
 *
 * ENTRY POINTS:
 *
 * DEPENDENCIES:
 *
 * NOTES
 *
 *
 * STRUCTURES
 *
 * EXTERNAL REFERENCES
 *
 * EXTERNAL FUNCTIONS
 *
*/

/* CON3201
USHORT pascal prdg_CreateHeap (
            HHEAP far *,
            PUSHORT,
            USHORT);
*/

SHORT prdg_CreateHeap (
           PPVOID);

/* CON3201
USHORT pascal prdg_AllocHeapItem (
            lpDCI,
            USHORT,
            PUSHORT);
*/

SHORT prdg_AllocHeapItem (
            lpDCI,
            USHORT,
            PUSHORT *);

/* CON3201
USHORT pascal prdg_AllocGlobalHeapItem (
            USHORT,
            PBYTE far *);
*/

SHORT prdg_AllocGlobalHeapItem (
            USHORT,
            PBYTE *);

/* CON3201
VOID pascal prdg_FreeHeapItem (
            lpDCI,
            USHORT,
            PUSHORT);
*/

VOID prdg_FreeHeapItem (
            lpDCI,
            USHORT,
            PUSHORT);

/* CON3201
VOID pascal prdg_FreeGlobalHeapItem (
            USHORT,
            PUSHORT);
*/

VOID prdg_FreeGlobalHeapItem (
            USHORT,
            PUSHORT *);      /* CON3201 */

SHORT prdg_DeleteHeap (
            PVOID );
/*            USHORT );       CON3201 */

USHORT prdg_Convert (
            PULONG,
            PULONG,
            USHORT,
            USHORT,
            USHORT,
            hanDC,
            ULONG);
/*          USHORT);      CON3201 - changed Command parameter to ULONG */

USHORT prdg_FastConvert (
            WcsPoint *,
            DevPoint *,
            hanDC,
            ULONG);
/*          USHORT);      CON3201 - changed Command parameter to ULONG */

ULONG EXPENTRY prdg_AccumulateBounds (
            hanDC,
            WcsRect *,
            lpDCI,
            ULONG);

ULONG EXPENTRY prdg_GetBoundsData (
            hanDC,
            ULONG,
            WcsRect *,
            lpDCI,
            ULONG);

ULONG EXPENTRY prdg_ResetBounds ( hanDC,
            ULONG,
            lpDCI,
            ULONG);

USHORT prdg_AddBounds (
            DevRect *,
            DCIType *);

VOID prdg_ParseRawData(
            lpDCI,
            UCHAR);

ULONG prdg_NotifyTransformChange(
            hanDC,
            ULONG,
            ULONG,
            lpDCI,
            ULONG);

/* CON3201
USHORT pascal prdg_GetNewGlobalHeap(
            HHEAP far *,
            PUSHORT);
*/

SHORT prdg_GetNewGlobalHeap(
            PBYTE *);                               /* CON3201 */

VOID prdg_GetBoundingRect(                           /* PD00073 */
            PFOURPOINTL,
            DevRect *);

USHORT prdg_GetXformMatrix(                          /* PD00073 */
            HDC,
            USHORT,
            PXFORM,
            lpDCI );

LONG prdg_ScaleValue (                               /* PD00073 */
            LONG,
            LONG,
            LONG );

ULONG prdg_XformPoint(                               /* PD00073 */
            HDC,
            PPOINTL,
            PXFORM );

USHORT prdg_PointToAngle(                            /* PD00073 */
            POINTL );

BOOL prdg_MatrixScaleDifferent(                      /* PD00073 */
            XFORM,
            XFORM );

ULONG prdg_ScaleUpPoint(                             /* PD00073 */
            POINTL,
            LONG,
            PPOINTL );
