home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / IBMH / PMGPIP.H < prev    next >
C/C++ Source or Header  |  1995-04-14  |  7KB  |  226 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /****************************** Module Header ******************************\
  13. *
  14. * Module Name: PMGPIP.H
  15. *
  16. * OS/2 Presentation Manager GPI PRIVATE function declarations
  17. *
  18. *
  19. *
  20. * ===========================================================================
  21. *
  22. * Comments at the end of each typedef line give the name tags used in
  23. * the assembler include version of this file.
  24. *
  25. * The assembler include version of this file excludes lines between NOINC
  26. * and INC comments.
  27. *
  28. * ===========================================================================
  29. *
  30. */
  31.  
  32. /* NOINC */
  33. #ifdef __IBMC__
  34.    #pragma checkout( suspend )
  35.    #ifndef __CHKHDR__
  36.       #pragma checkout( suspend )
  37.    #endif
  38.    #pragma checkout( resume )
  39. #endif
  40. /* INC */
  41.  
  42. #define PMGPIP_INCLUDED
  43.  
  44.  
  45. /* data truncated error on GpiMoveData and others */
  46. #define GPI_TRUNCATED    2
  47.  
  48. /* control parameter for GpiSetDrawControl */
  49. #define DCTL_PICKMODE         6L
  50. #define DCTL_CORRELATE_FORMAT 7L
  51.  
  52. /* correlation type GpiSetDrawControl */
  53. #define DCTL_CORRELATE_ALL    0L
  54. #define DCTL_CORRELATE_FIRST  1L
  55. #define DCTL_CORRELATE_LAST   2L
  56.  
  57. /* correlate format type GpiSetDrawControl */
  58. #define DCTL_FORMAT_0         0L
  59. #define DCTL_FORMAT_1         1L
  60.  
  61. /* segment attributes used by GpiSet/QuerySegmentAttrs and others */
  62. #define ATTR_PROLOG           7L
  63. /* 2@P2D */
  64. /* 2@P1D */
  65. /* @P2D */
  66. /* 4@P1D */
  67. /* 3@P2D */
  68.  
  69. /* NOINC */
  70. /* INC */
  71.  
  72. LONG  APIENTRY GpiVectorSymbol( HPS,
  73.                                HDC,
  74.                                PBYTE );
  75.  
  76. BOOL  APIENTRY GpiOpenMetafile( HDC,
  77.                                PBYTE );
  78.  
  79. HMF   APIENTRY GpiCloseMetafile( HDC );
  80.  
  81. HDC   APIENTRY GpiConvPsH( HPS );
  82.  
  83. BOOL  APIENTRY GpiMTAssociate( HDC );
  84.  
  85. BOOL  APIENTRY GpiMTDisassociate( HDC );
  86.  
  87. BOOL  APIENTRY GpiAccessMetaFile( HMF );
  88.  
  89. BOOL  APIENTRY GpiResumePlay( HPS );
  90.  
  91. BOOL  APIENTRY GpiSuspendPlay( HPS );
  92.  
  93. BOOL  APIENTRY GpiSetDCOwner( HDC,
  94.                              ULONG );                   /* @D2A*/
  95.  
  96. BOOL  APIENTRY GpiSetBitmapOwner( HPS,
  97.                                  HBITMAP,
  98.                                  ULONG );      /* @D2A*/
  99.  
  100. BOOL  APIENTRY GpiSetRegionOwner( HPS,
  101.                                  HRGN,
  102.                                  ULONG );         /* @D2A*/
  103.  
  104. LONG  APIENTRY GpiInstallIFIFont ( ULONG,
  105.                                   PSZ,
  106.                                   PSZ,
  107.                                   PSZ );
  108.  
  109. //@bidi
  110. //
  111. // For use in GpiSet/QueryAttrs.
  112. // This is the value that sets/queries the BidiAttr field
  113. // in the DC structure.
  114. //
  115. #define PRIM_BIDIATTR   65
  116.  
  117. #ifdef INCL_GPIP_NLSEX
  118.    
  119.    /* Definition for flNlsProcess.  */
  120.    #define GNLS_PROCESS_BIDI      0x00000001
  121.    #define GNLS_PROCESS_HEBREW    0x00000002
  122.    #define GNLS_PROCESS_ARABIC    0x00000004
  123.    
  124.    /* structure for extended NLS */
  125.    typedef struct _GNLSEX    /* gnlsex */
  126.    {
  127.       ULONG   flNlsProcess;      //leave at beginning of struc for performance
  128.       ULONG   ulCodepageOverride;
  129.       PULONG  pProcess_BidiAttr;
  130.       PFN     pfnBidiConvertString;
  131.       ULONG   ulCodepageOverrideEBCDIC;          //@Ebcdic
  132.       ULONG   ulReserved;
  133.    }  GNLSEX ;
  134.    typedef GNLSEX *PGNLSEX;
  135. #endif //incl_GpiNlsEx
  136.  
  137. //@bidi end
  138.  
  139. #ifdef INCL_GPIDISPPRF
  140.    /* structures for Disp Profile Functions */
  141.    typedef struct _DSPINFO    /* dspnfo */
  142.    {
  143.       PSZ   pszDriverName;
  144.       ULONG cchDriverName;
  145.       PSZ   pszDesc;
  146.       ULONG cchDesc;
  147.       PSZ   pszFileName;
  148.       ULONG cchFileName;
  149.       PSZ   pszOptionalParameters;
  150.       ULONG cchOptionalParameters;
  151.    } DSPINFO;
  152.    typedef DSPINFO *PDSPINFO;
  153.    
  154.    typedef struct _SCREENRESCOUNT    /* scrcnt */
  155.    {
  156.       ULONG maxcount;
  157.       ULONG count;
  158.       ULONG res_struct_length;
  159.    } SCREENRESCOUNT;
  160.    typedef SCREENRESCOUNT *PSCREENRESCOUNT;
  161.    
  162.    typedef struct _SCREENRESOLUTION   /* scrres */
  163.    {
  164.       ULONG width;
  165.       ULONG height;
  166.       ULONG colors;
  167.       ULONG planes;
  168.       ULONG floptions;
  169.    } SCREENRESOLUTION;
  170.    typedef SCREENRESOLUTION *PSCREENRESOLUTION;
  171.    
  172.    #define DSP_DELETE_DRIVER                  1
  173.    #define DSP_OPT_PARMS_PRESENT              2
  174.    #define DSP_QUERY_OPT_PARMS                2
  175.    #define DSP_SET_DEFAULT_DRIVER             4
  176.    #define DSP_QUERY_DEFAULT_DRIVER           4
  177.    #define DSP_SET_INSTALL_ON_IPL             8
  178.    #define DSP_QUERY_INSTALL_ON_IPL           8
  179.    #define DSP_SET_CURRENT_DRIVER            16
  180.    #define DSP_QUERY_CURRENT_DRIVER          16
  181.    #define DSP_SET_DEFAULT_RESOLUTION        32
  182.    #define DSP_RESOLUTION_OBTAINABLE         64
  183.    #define DSP_RESOLUTION_DEFAULT           128
  184.    #define DSP_FILENAME_PRESENT             256
  185.    #define DSP_QUERY_FILENAME               256
  186.    #define DSP_DESC_PRESENT                 512
  187.    #define DSP_QUERY_DESC                   512
  188.    
  189.    #ifndef INCL_DDIDEFS
  190.       
  191.       
  192.       /*** Display Driver functions */
  193.       BOOL  APIENTRY DspSetDriverInfo(PDSPINFO pDSPInfo,
  194.                                       ULONG flOptions);
  195.       
  196.       ULONG APIENTRY DspQueryDriverInfo(PDSPINFO pDSPInfo,
  197.                                         ULONG flOptions);
  198.       
  199.       ULONG APIENTRY DspQueryDriverNames(PVOID pBuffer,
  200.                                          ULONG ulCount);
  201.       
  202.       BOOL  APIENTRY DspDefaultResolution(PVOID pScreenResolution,
  203.                                           PULONG pcbScreenResolution,
  204.                                           ULONG flOptions);
  205.       
  206.       ULONG APIENTRY DevQueryDisplayResolutions(PSZ pszDriverName,
  207.                                                 PVOID pBuf,
  208.                                                 PULONG pcbBuf);
  209.       
  210.       BOOL  APIENTRY DspInitSystemDriverName(PSZ pszDriverFileName,
  211.                                              ULONG ccbDriverFileName );
  212.    #endif /* no INCL_DDIDEFS */
  213. #endif /* non-common GPIDISPPRF */
  214.  
  215. /* NOINC */
  216. #ifdef __IBMC__
  217.    #pragma checkout( suspend )
  218.    #ifndef __CHKHDR__
  219.       #pragma checkout( resume )
  220.    #endif
  221.    #pragma checkout( resume )
  222. #endif
  223. /* INC */
  224.  
  225. /**************************** end of file **********************************/
  226.