mxdc.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. #ifndef _MXDC_H_
  6. #define _MXDC_H_
  7. #include <winapifamily.h>
  8. #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #include <pshpack1.h>
  13. typedef enum tagMxdcS0PageEnums {
  14. MXDC_RESOURCE_TTF = 0,
  15. MXDC_RESOURCE_JPEG = 1,
  16. MXDC_RESOURCE_PNG = 2,
  17. MXDC_RESOURCE_TIFF = 3,
  18. MXDC_RESOURCE_WDP = 4,
  19. MXDC_RESOURCE_DICTIONARY = 5,
  20. MXDC_RESOURCE_ICC_PROFILE = 6,
  21. MXDC_RESOURCE_JPEG_THUMBNAIL = 7,
  22. MXDC_RESOURCE_PNG_THUMBNAIL = 8,
  23. MXDC_RESOURCE_MAX
  24. } MXDC_S0_PAGE_ENUMS;
  25. #if NTDDI_VERSION >= 0x06000100
  26. typedef enum tagMxdcLandscapeRotationEnums {
  27. MXDC_LANDSCAPE_ROTATE_NONE = 0,
  28. MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_90_DEGREES = 90,
  29. MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_270_DEGREES = -90
  30. } MXDC_LANDSCAPE_ROTATION_ENUMS;
  31. typedef enum tagMxdcImageTypeEnums {
  32. MXDC_IMAGETYPE_JPEGHIGH_COMPRESSION = 1,
  33. MXDC_IMAGETYPE_JPEGMEDIUM_COMPRESSION = 2,
  34. MXDC_IMAGETYPE_JPEGLOW_COMPRESSION = 3,
  35. MXDC_IMAGETYPE_PNG = 4
  36. } MXDC_IMAGE_TYPE_ENUMS;
  37. #endif
  38. typedef struct tagMxdcEscapeHeader {
  39. ULONG cbInput;
  40. ULONG cbOutput;
  41. ULONG opCode;
  42. } MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
  43. typedef struct tagMxdcGetFileNameData {
  44. ULONG cbOutput;
  45. wchar_t wszData[1];
  46. } MXDC_GET_FILENAME_DATA_T, *P_MXDC_GET_FILENAME_DATA_T;
  47. typedef struct tagMxdcS0PageData {
  48. DWORD dwSize;
  49. BYTE bData[1];
  50. } MXDC_S0PAGE_DATA_T, *P_MXDC_S0PAGE_DATA_T;
  51. typedef struct tagMxdcXpsS0PageResource {
  52. DWORD dwSize;
  53. DWORD dwResourceType;
  54. BYTE szUri[MAX_PATH];
  55. DWORD dwDataSize;
  56. BYTE bData[1];
  57. } MXDC_XPS_S0PAGE_RESOURCE_T, *P_MXDC_XPS_S0PAGE_RESOURCE_T;
  58. typedef struct tagMxdcPrintTicketPassthrough {
  59. DWORD dwDataSize;
  60. BYTE bData[1];
  61. } MXDC_PRINTTICKET_DATA_T, *P_MXDC_PRINTTICKET_DATA_T;
  62. typedef struct tagMxdcPrintTicketEscape {
  63. MXDC_ESCAPE_HEADER_T mxdcEscape;
  64. MXDC_PRINTTICKET_DATA_T printTicketData;
  65. } MXDC_PRINTTICKET_ESCAPE_T, *P_MXDC_PRINTTICKET_ESCAPE_T;
  66. typedef struct tagMxdcS0PagePassthroughEscape {
  67. MXDC_ESCAPE_HEADER_T mxdcEscape;
  68. MXDC_S0PAGE_DATA_T xpsS0PageData;
  69. } MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T, *P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T;
  70. typedef struct tagMxdcS0PageResourceEscape {
  71. MXDC_ESCAPE_HEADER_T mxdcEscape;
  72. MXDC_XPS_S0PAGE_RESOURCE_T xpsS0PageResourcePassthrough;
  73. } MXDC_S0PAGE_RESOURCE_ESCAPE_T, *P_MXDC_S0PAGE_RESOURCE_ESCAPE_T;
  74. #include <poppack.h>
  75. #define MXDC_ESCAPE 4122
  76. #define MXDCOP_GET_FILENAME 14
  77. #define MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 22
  78. #define MXDCOP_PRINTTICKET_FIXED_DOC 24
  79. #define MXDCOP_PRINTTICKET_FIXED_PAGE 26
  80. #define MXDCOP_SET_S0PAGE 28
  81. #define MXDCOP_SET_S0PAGE_RESOURCE 30
  82. #define MXDCOP_SET_XPSPASSTHRU_MODE 32
  83. #if NTDDI_VERSION >= 0x06000100
  84. #define MXDC_IMAGEABLE_AREA_PROP_NAME_WSTR (L"MxdcImageableArea")
  85. #define MXDC_IMAGE_COMPRESSION_TYPE_PROP_NAME_WSTR (L"MxdcImageCompressionType")
  86. #define MXDC_DOTS_PER_INCH_PROP_NAME_WSTR (L"MxdcDotsPerInch")
  87. #define MXDC_LANDSCAPE_ROTATION_PROP_NAME_WSTR (L"MxdcLandscapeRotation")
  88. #endif
  89. #if NTDDI_VERSION >= 0x06000100
  90. HRESULT WINAPI MxdcGetPDEVAdjustment (HANDLE hPrinter, ULONG cbDevMode, const DEVMODE *pDevMode, ULONG cbIn, const VOID *pvIn, ULONG cbPrintPropertiesCollection, PrintPropertiesCollection *pPrintPropertiesCollection);
  91. #endif
  92. #ifdef __cplusplus
  93. }
  94. #endif
  95. #endif
  96. #endif