## Presentation Device Driver Reference for OS/2

[prev][next][parent][TOC]

### DEVICESURFACE

Pointer to information needed by the graphics engine that represents the device's physical surface.

    typedef struct _DEVICESURFACE {

      ULONG            ulLength;                                                        /*  Length of the DEVICESURFACE data structure. */

      BMAPINFO         SurfaceBmapInfo;                                                 /*  Information for rastering to a linear address. */

      ULONG            ulDSFlgs;                                                        /*  Flags for rendering of rasterized data. */

      ULONG            ulStyleRatio;                                                    /*  Default style ratio used by the current device. */

      BMAPINFO         abmapinfoDefPattern[DEFAULT_PATTERNS_NUMBER];  /*  Set of default patterns. */

      PVOID            pHWPalette;                                                      /*  Default hardware palette for the current device. */

      DITHERMATRIX     DitherMatrix;                                                    /*  Default to generic dither support. */

      PFN              pfnDevLockDC;                                                    /*  Default pointer to device-specific information. */

      PFN              pfnDevUnLockDC;                                                  /*  Default pointer to release DC lock. */

      PFN              pfnBitBlt;                                                       /*  Pointer defaults to SOFTDRAW's handling of the SDBitBlt function. */

      PFN              pfnLine;                                                         /*  Pointer defaults to SOFTDRAW's handling of the SDLINE function. */

      PFN              pfnReserved;                                                     /*  Reserved by system. */

      PFN              pfnLockPhysDev;                                                  /*  Prevents access to physical device. */

      PFN              pfnUnLockPhysDev;                                                /*  Releases the physical device. */

      ULONG            ulReserved[5];                                 /*  Reserved by system. */

      ULONG            ulCapsCnt;                                                       /*  Size in ULONGs of the DevCaps field. */

      ULONG            DevCaps[CAPS_MAX_CAPS + 1];               /*  The device capabilities array in OS/2 2.0 and prev

    ious versions. */

    } DEVICESURFACE;

    typedef   DEVICESURFACE   * PDEVICESURFACE ;