Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
3.7 KiB

  1. /*++ BUILD Version: 0002 // Increment this if a change has global effects
  2. Copyright (c) 1990-2003 Microsoft Corporation
  3. Module Name:
  4. plotdm.h
  5. Abstract:
  6. This module contains the PLOTDEVMODE plotter extented devmode definitions
  7. Author:
  8. 18-Nov-1993 Thu 06:28:56 created
  9. [Environment:]
  10. GDI Device Driver - Plotter.
  11. [Notes:]
  12. Revision History:
  13. --*/
  14. #ifndef _PLOTPLOTDM_
  15. #define _PLOTPLOTDM_
  16. //
  17. // Plotter pen definitions
  18. //
  19. typedef struct _PLOTPEN {
  20. BYTE r; // Red Color
  21. BYTE g; // Green Color
  22. BYTE b; // Blue Color
  23. BYTE Type; // What type of the pen
  24. } PLOTPEN, *PPLOTPEN;
  25. //
  26. // we print on anything at least 1cm x 1cm
  27. //
  28. #define MIN_PLOTGPC_FORM_CX 10000
  29. #define MIN_PLOTGPC_FORM_CY 10000
  30. //
  31. // Variation defitions for the forms
  32. //
  33. typedef struct _FORMSIZE {
  34. SIZEL Size;
  35. RECTL ImageArea;
  36. } FORMSIZE, FAR *PFORMSIZE;
  37. typedef struct _PAPERINFO {
  38. WCHAR Name[CCHFORMNAME];
  39. SIZEL Size;
  40. RECTL ImageArea;
  41. } PAPERINFO, FAR *PPAPERINFO;
  42. //
  43. // Following are the flags for the printer properties flags setting
  44. //
  45. #define PPF_AUTO_ROTATE 0x0001
  46. #define PPF_SMALLER_FORM 0x0002
  47. #define PPF_MANUAL_FEED_CX 0x0004
  48. #define PPF_ALL_BITS (PPF_AUTO_ROTATE | \
  49. PPF_SMALLER_FORM | \
  50. PPF_MANUAL_FEED_CX)
  51. typedef struct _PPDATA {
  52. WORD Flags;
  53. WORD NotUsed;
  54. } PPDATA, FAR *PPPDATA;
  55. //
  56. // Now, this is our EXTDEVMODE
  57. //
  58. #define PDMF_FILL_TRUETYPE 0x00000001
  59. #define PDMF_PLOT_ON_THE_FLY 0x00000002
  60. #define PDMF_ALL_BITS 0x00000003
  61. typedef struct _PLOTDEVMODE {
  62. DEVMODE dm; // standard DEVMODE portion
  63. DWORD PrivID; // a ID Checker
  64. DWORD PrivVer; // a private version
  65. DWORD Flags; // PDMF_xxxx variouse flags
  66. COLORADJUSTMENT ca; // default color adjustment for stretchblt
  67. } PLOTDEVMODE, FAR *PPLOTDEVMODE;
  68. //
  69. // Extra DM bits for ourself
  70. //
  71. #define DM_INV_SPEC_VER 0x80000000L
  72. #define DM_INV_DEVMODESIZE 0x40000000L
  73. #define DM_INV_PLOTPRIVATE 0x20000000L
  74. #define DM_INV_ERRORS (DM_INV_SPEC_VER | DM_INV_DEVMODESIZE)
  75. #define DM_GDI_ERRORS (DM_ORIENTATION | \
  76. DM_PAPERSIZE | \
  77. DM_PAPERLENGTH | \
  78. DM_PAPERWIDTH | \
  79. DM_SCALE | \
  80. DM_COPIES | \
  81. DM_DEFAULTSOURCE | \
  82. DM_PRINTQUALITY | \
  83. DM_COLOR | \
  84. DM_DUPLEX | \
  85. DM_YRESOLUTION | \
  86. DM_TTOPTION | \
  87. DM_COLLATE | \
  88. DM_FORMNAME)
  89. #define PLOTDM_PRIV_ID 'PEDM'
  90. #define PLOTDM_PRIV_VER 0x0001000
  91. #define PLOTDM_PRIV_SIZE (sizeof(PLOTDEVMODE) - sizeof(DEVMODE))
  92. #endif // _PLOTPLOTDM_