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.

312 lines
8.4 KiB

  1. #define BFT_ICON 0x4349 /* 'IC' */
  2. #define BFT_BITMAP 0x4d42 /* 'BM' */
  3. #define BFT_CURSOR 0x5450 /* 'PT' */
  4. #define ISDIB(bft) ((bft) == BFT_BITMAP)
  5. #define WM_HALFTONE_UI (WM_USER + 3000)
  6. #define HTUI_MSG_GETPAL 0
  7. #define HTUI_MSG_CLRADJ_CHANGED 1
  8. #define ALIGN_BPP_DW(cx, bpp) (((((DWORD)cx * (DWORD)bpp) + 31L) & ~31) >> 3)
  9. #ifndef _WINDDI_
  10. typedef LONG LDECI4;
  11. typedef struct _CIECHROMA
  12. {
  13. LDECI4 x;
  14. LDECI4 y;
  15. LDECI4 Y;
  16. }CIECHROMA;
  17. typedef struct _COLORINFO
  18. {
  19. CIECHROMA Red;
  20. CIECHROMA Green;
  21. CIECHROMA Blue;
  22. CIECHROMA Cyan;
  23. CIECHROMA Magenta;
  24. CIECHROMA Yellow;
  25. CIECHROMA AlignmentWhite;
  26. LDECI4 RedGamma;
  27. LDECI4 GreenGamma;
  28. LDECI4 BlueGamma;
  29. LDECI4 MagentaInCyanDye;
  30. LDECI4 YellowInCyanDye;
  31. LDECI4 CyanInMagentaDye;
  32. LDECI4 YellowInMagentaDye;
  33. LDECI4 CyanInYellowDye;
  34. LDECI4 MagentaInYellowDye;
  35. }COLORINFO, *PCOLORINFO;
  36. typedef struct _DEVHTINFO {
  37. DWORD HTFlags;
  38. DWORD HTPatternSize;
  39. DWORD DevPelsDPI;
  40. COLORINFO ColorInfo;
  41. } DEVHTINFO, *PDEVHTINFO;
  42. #define DEVHTADJF_COLOR_DEVICE 0x00000001
  43. #define DEVHTADJF_ADDITIVE_DEVICE 0x00000002
  44. typedef struct _DEVHTADJDATA {
  45. DWORD DeviceFlags;
  46. DWORD DeviceXDPI;
  47. DWORD DeviceYDPI;
  48. PDEVHTINFO pDefHTInfo;
  49. PDEVHTINFO pAdjHTInfo;
  50. } DEVHTADJDATA, *PDEVHTADJDATA;
  51. #endif
  52. #ifdef _HTUI_APIS_
  53. typedef struct _HTDEVADJPARAM {
  54. DWORD HelpID;
  55. LPWSTR pDeviceName;
  56. LPWSTR pwDecimal;
  57. DEVHTADJDATA DevHTAdjData;
  58. DEVHTINFO CurHTInfo;
  59. LONG PelScrollMin;
  60. LONG PelScrollMax;
  61. DWORD MinDevPels;
  62. BYTE UpdatePermission;
  63. BYTE NotUsed[3];
  64. } HTDEVADJPARAM, FAR *PHTDEVADJPARAM;
  65. #define HTCAPF_SHOW_MONO 0x0001
  66. #define HTCAPF_CAN_UPDATE 0x0002
  67. #define HTCAPF_FORCE_OK 0x0004
  68. typedef struct _HTCLRADJPARAM {
  69. DWORD HelpID;
  70. LPWSTR pCallerTitle;
  71. #ifdef HTUI_STATIC_HALFTONE
  72. PHTINITINFO pHTInitInfo;
  73. #endif
  74. HWND hDlg;
  75. HWND hWndBmp;
  76. HWND hWndApp;
  77. HDC hDCDlg;
  78. LPWSTR pwDecimal;
  79. HANDLE hDefDIB; // the DIB from resource
  80. HANDLE hSrcDIB;
  81. HANDLE hCurDIB;
  82. HANDLE hHTDIB;
  83. LPWSTR pDefDIBTitle;
  84. HPALETTE hHTPal;
  85. HPALETTE hPalApp;
  86. PCOLORADJUSTMENT pCallerHTClrAdj;
  87. COLORADJUSTMENT CallerHTClrAdj;
  88. COLORADJUSTMENT LastHTClrAdj;
  89. COLORADJUSTMENT CurHTClrAdj;
  90. RECT rcBmp;
  91. RECT rcDlg;
  92. WORD BmpFlags;
  93. WORD Flags;
  94. BYTE ViewMode;
  95. BYTE BmpNeedUpdate;
  96. WORD RedGamma;
  97. WORD GreenGamma;
  98. WORD BlueGamma;
  99. } HTCLRADJPARAM, FAR *PHTCLRADJPARAM;
  100. #define HT_BMP_PALETTE 0x0001
  101. #define HT_BMP_SCALE 0x0002
  102. #define HT_BMP_AUTO_MOVE 0x0004
  103. #define HT_BMP_AT_TOP 0x0008
  104. #define HT_BMP_MIRROR 0x0010
  105. #define HT_BMP_NEGATIVE 0x0020
  106. #define HT_BMP_UPSIDEDOWN 0x0040
  107. #define HT_BMP_ENABLE 0x0080
  108. #define HT_BMP_ZOOM 0x0100
  109. #define HT_BMP_SYNC_R 0x0200
  110. #define HT_BMP_SYNC_G 0x0400
  111. #define HT_BMP_SYNC_B 0x0800
  112. #define AVAI_HT_BMP_MASKS (HT_BMP_PALETTE | \
  113. HT_BMP_SCALE | \
  114. HT_BMP_AUTO_MOVE | \
  115. HT_BMP_AT_TOP | \
  116. HT_BMP_MIRROR | \
  117. HT_BMP_NEGATIVE | \
  118. HT_BMP_UPSIDEDOWN | \
  119. HT_BMP_ENABLE | \
  120. HT_BMP_ZOOM | \
  121. HT_BMP_SYNC_R | \
  122. HT_BMP_SYNC_G | \
  123. HT_BMP_SYNC_B)
  124. #define VIEW_MODE_TABLE FILL_MODE_TABLE
  125. #define VIEW_MODE_REFCOLORS FILL_MODE_REFCOLORS
  126. #define VIEW_MODE_RGB FILL_MODE_RGB
  127. #define VIEW_MODE_NTSC_BAR FILL_MODE_NTSC_BAR
  128. #define VIEW_MODE_PIC_DEF_DIB 255
  129. #define VIEW_MODE_PIC_LOADED 254
  130. #define VIEW_MODE_PIC_START VIEW_MODE_PIC_LOADED
  131. //
  132. // HELP
  133. //
  134. #define TMP_HELP_WND_ID 0x7fff
  135. #define HELP_TYPE_HTCLRADJ 0
  136. #define HELP_TYPE_HTSETUP 1
  137. typedef struct _HTHELPID {
  138. WORD DlgID;
  139. WORD HelpID;
  140. } HTHELPID, *PHTHELPID;
  141. //
  142. // Help IDs
  143. //
  144. #define IDH_HTCLR_CONTRAST 26000
  145. #define IDH_HTCLR_BRIGHTNESS 26010
  146. #define IDH_HTCLR_COLOR 26020
  147. #define IDH_HTCLR_TINT 26030
  148. #define IDH_HTCLR_DARK_PIC 26040
  149. #define IDH_HTCLR_NEGATIVE 26050
  150. #define IDH_HTCLR_ILLUMINANT 26060
  151. #define IDH_HTCLR_LINEAR_GAMMA 26070
  152. #define IDH_HTCLR_SYNC_R_CHKBOX 26080
  153. #define IDH_HTCLR_SYNC_G_CHKBOX 26090
  154. #define IDH_HTCLR_SYNC_B_CHKBOX 26100
  155. #define IDH_HTCLR_RED_GAMMA 26110
  156. #define IDH_HTCLR_GREEN_GAMMA 26120
  157. #define IDH_HTCLR_BLUE_GAMMA 26130
  158. #define IDH_HTCLR_BLACK_REF 26140
  159. #define IDH_HTCLR_WHITE_REF 26150
  160. #define IDH_HTCLR_PICTURE_NAME 26160
  161. #define IDH_HTCLR_PICTURE_DESC 26170
  162. #define IDH_HTCLR_VIEW 26180
  163. #define IDH_HTCLR_MAXIMIZE 26190
  164. #define IDH_HTCLR_PALETTE 26200
  165. #define IDH_HTCLR_SCALE 26210
  166. #define IDH_HTCLR_FLIP_X 26220
  167. #define IDH_HTCLR_FLIP_Y 26230
  168. #define IDH_HTCLR_OK 26240
  169. #define IDH_HTCLR_CANCEL 26250
  170. #define IDH_HTCLR_DEFAULT 26260
  171. #define IDH_HTCLR_REVERT 26270
  172. #define IDH_HTCLR_OPEN 26280
  173. #define IDH_HTCLR_SAVE_AS 26290
  174. #define IDH_HTDEV_DEVICE_NAME 26500
  175. #define IDH_HTDEV_HTPAT 26510
  176. #define IDH_HTDEV_DEV_GAMMA 26520
  177. #define IDH_HTDEV_PIXEL_DIAMETER 26530
  178. #define IDH_HTDEV_RGBW_CIE_XY 26540
  179. #define IDH_HTDEV_CMY_DYE_PERCENT 26550
  180. #define IDH_HTDEV_DEV_RED_GAMMA 26560
  181. #define IDH_HTDEV_DEV_GREEN_GAMMA 26570
  182. #define IDH_HTDEV_DEV_BLUE_GAMMA 26580
  183. #define IDH_HTDEV_OK 26590
  184. #define IDH_HTDEV_CANCEL 26600
  185. #define IDH_HTDEV_DEFAULT 26610
  186. #define IDH_HTDEV_REVERT 26620
  187. #define IDH_HTDEV_ALIGNMENT_WHITE 26630
  188. //
  189. // Exported Window procedure
  190. //
  191. INT_PTR
  192. CALLBACK
  193. HTClrAdjDlgProc(
  194. HWND hDlg,
  195. UINT Msg,
  196. WPARAM wParam,
  197. LPARAM lParam
  198. );
  199. INT_PTR
  200. CALLBACK
  201. HTDevAdjDlgProc(
  202. HWND hDlg,
  203. UINT Msg,
  204. WPARAM wParam,
  205. LPARAM lParam
  206. );
  207. #if DBG
  208. void DbgPrint( char *, ... );
  209. #endif
  210. #endif // _HTUI_APIS_
  211. LONG
  212. APIENTRY
  213. HTUI_ColorAdjustmentW(
  214. LPWSTR pCallerTitle,
  215. HANDLE hDefDIB,
  216. LPWSTR pDefDIBTitle,
  217. PCOLORADJUSTMENT pColorAdjustment,
  218. BOOL ShowMonochromeOnly,
  219. BOOL UpdatePermission
  220. );
  221. LONG
  222. APIENTRY
  223. HTUI_ColorAdjustmentA(
  224. LPSTR pCallerTitle,
  225. HANDLE hDefDIB,
  226. LPSTR pDefDIBTitle,
  227. PCOLORADJUSTMENT pColorAdjustment,
  228. BOOL ShowMonochromeOnly,
  229. BOOL UpdatePermission
  230. );
  231. LONG
  232. APIENTRY
  233. HTUI_ColorAdjustment(
  234. LPSTR pCallerTitle,
  235. HANDLE hDefDIB,
  236. LPSTR pDefDIBTitle,
  237. PCOLORADJUSTMENT pColorAdjustment,
  238. BOOL ShowMonochromeOnly,
  239. BOOL UpdatePermission
  240. );
  241. LONG
  242. APIENTRY
  243. HTUI_DeviceColorAdjustmentW(
  244. LPWSTR pDeviceName,
  245. PDEVHTADJDATA pDevHTAdjData
  246. );
  247. LONG
  248. APIENTRY
  249. HTUI_DeviceColorAdjustmentA(
  250. LPSTR pDeviceName,
  251. PDEVHTADJDATA pDevHTAdjData
  252. );
  253. LONG
  254. APIENTRY
  255. HTUI_DeviceColorAdjustment(
  256. LPSTR pDeviceName,
  257. PDEVHTADJDATA pDevHTAdjData
  258. );