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
7.3 KiB
312 lines
7.3 KiB
/*++
|
|
|
|
Copyright (c) 1990-1991 Microsoft Corporation
|
|
|
|
|
|
Module Name:
|
|
|
|
htapi.h
|
|
|
|
|
|
Abstract:
|
|
|
|
This module contains all the public defines, constants, structures and
|
|
functions declarations for htapi.c
|
|
|
|
Author:
|
|
|
|
15-Jan-1991 Wed 21:13:21 updated -by- Daniel Chou (danielc)
|
|
add in test pattern support
|
|
|
|
15-Jan-1991 Tue 21:13:21 created -by- Daniel Chou (danielc)
|
|
wrote it
|
|
|
|
|
|
|
|
[Environment:]
|
|
|
|
GDI Device Driver - Halftone.
|
|
|
|
|
|
[Notes:]
|
|
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
#ifndef _HTAPI_
|
|
#define _HTAPI_
|
|
|
|
//
|
|
// The following are default printer and monitor C.I.E. color space Red,
|
|
// Green, Blue, Alignment White's coordinate and its white/black luminance.
|
|
//
|
|
|
|
#define VALID_YC 0xFFFE
|
|
#define VALID_YB_DENSITY 0xFFFE
|
|
#define MIN_RGB_GAMMA 100
|
|
#define MAX_RGB_GAMMA 65500
|
|
|
|
#define INTENSITY_R (FD6)212674
|
|
#define INTENSITY_G (FD6)715151
|
|
#define INTENSITY_B (FD6) 72175
|
|
|
|
#define HT_BRUSH_COLORFULNESS 5
|
|
|
|
#define HT_K_REF_CLIP (FD6)0
|
|
#define HT_W_REF_CLIP (FD6)0
|
|
#define HT_K_REF_BASE HT_K_REF_CLIP
|
|
#define HT_W_REF_BASE (FD6_1 - HT_W_REF_CLIP)
|
|
#define HT_KW_REF_RANGE (FD6_1 - (HT_K_REF_CLIP + HT_W_REF_CLIP))
|
|
#define HT_K_REF_ADD (HT_K_REF_CLIP + (FD6)0)
|
|
#define HT_W_REF_SUB (HT_W_REF_CLIP + (FD6)0)
|
|
|
|
#define DEFAULT_SCR_HTPAT_SIZE HTPAT_SIZE_SUPERCELL_M
|
|
|
|
|
|
#if 0
|
|
|
|
CIEINFO CIEInfoSRGBScreen = {
|
|
|
|
{ 6400, 3300, 0 }, // xr, yr, Yr CIE_NORNAL_MONITOR
|
|
{ 3000, 6000, 0 }, // xg, yg, Yg
|
|
{ 1500, 600, 0 }, // xb, yb, Yb
|
|
{ 0, 0,VALID_YC }, // xc, yc, Yc
|
|
{ 0, 0, 0 }, // xm, ym, Ym
|
|
{ 0, 0, 0 }, // xy, yy, Yy
|
|
{ 3127, 3290,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
CIEINFO CIEInfoSRGBPrinter = {
|
|
|
|
{ 6400, 3300, 0 }, // xr, yr, Yr CIE_NORNAL_MONITOR
|
|
{ 3000, 6000, 0 }, // xg, yg, Yg
|
|
{ 1500, 600, 0 }, // xb, yb, Yb
|
|
{ 0, 0,VALID_YC }, // xc, yc, Yc
|
|
{ 0, 0, 0 }, // xm, ym, Ym
|
|
{ 0, 0, 0 }, // xy, yy, Yy
|
|
{ 3457, 3585,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
|
|
CIEINFO CIEInfoNormalMonitor = {
|
|
|
|
{ 6280, 3475, 0 }, // xr, yr, Yr CIE_NORNAL_MONITOR
|
|
{ 2750, 5980, 0 }, // xg, yg, Yg
|
|
{ 1480, 625, 0 }, // xb, yb, Yb
|
|
{ 0, 0,VALID_YC }, // xc, yc, Yc
|
|
{ 0, 0, 0 }, // xm, ym, Ym
|
|
{ 0, 0, 0 }, // xy, yy, Yy
|
|
{ 3127, 3290,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
|
|
CIEINFO CIEInfoNTSC = {
|
|
|
|
{ 6700, 3300, 0 }, // xr, yr, Yr CIE_NTSC
|
|
{ 2100, 7100, 0 }, // xg, yg, Yg
|
|
{ 1250, 800, 0 }, // xb, yb, Yb
|
|
{ 1750, 3950,VALID_YC }, // xc, yc, Yc
|
|
{ 2550, 2050, 0 }, // xm, ym, Ym
|
|
{ 4250, 5200, 0 }, // xy, yy, Yy
|
|
{ 3127, 3290,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
|
|
CIEINFO CIEInfoNormalPrinter = {
|
|
|
|
{ 6380, 3350, 0 }, // xr, yr, Yr
|
|
{ 2345, 6075, 0 }, // xg, yg, Yg
|
|
{ 1410, 932, 0 }, // xb, yb, Yb
|
|
{ 2000, 2450,VALID_YC }, // xc, yc, Yc
|
|
{ 5210, 2100, 0 }, // xm, ym, Ym
|
|
{ 4750, 5100, 0 }, // xy, yy, Yy
|
|
{ 3127, 3290,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
CIEINFO CIEInfoColorFilm = {
|
|
|
|
{ 6810, 3050, 0 }, // xr, yr, Yr
|
|
{ 2260, 6550, 0 }, // xg, yg, Yg
|
|
{ 1810, 500, 0 }, // xb, yb, Yb
|
|
{ 2000, 2450,VALID_YC }, // xc, yc, Yc
|
|
{ 5210, 2100, 0 }, // xm, ym, Ym
|
|
{ 4750, 5100, 0 }, // xy, yy, Yy
|
|
{ 3470, 2985,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef INCLUDE_DEF_CIEINFO
|
|
|
|
|
|
CONST CIEINFO HT_CIE_SRGB = {
|
|
|
|
{ 6400, 3300, 0 }, // xr, yr, Yr CIE_NORNAL_MONITOR
|
|
{ 3000, 6000, 0 }, // xg, yg, Yg
|
|
{ 1500, 600, 0 }, // xb, yb, Yb
|
|
{ 0, 0,VALID_YC }, // xc, yc, Yc
|
|
{ 0, 0, 0 }, // xm, ym, Ym
|
|
{ 0, 0, 0 }, // xy, yy, Yy
|
|
{ 3127, 3290,UDECI4_1 } // xw, yw, Yw
|
|
};
|
|
|
|
CONST SOLIDDYESINFO DefaultSolidDyesInfo = {
|
|
|
|
2720, 1730, // M/C, Y/C
|
|
1720, 1068, // C/M, Y/M
|
|
320, 210, // C/Y, M/Y
|
|
};
|
|
|
|
#if 0
|
|
|
|
CONST SOLIDDYESINFO DefaultSolidDyesInfo = {
|
|
|
|
712, 121, // M/C, Y/C
|
|
86, 468, // C/M, Y/M
|
|
21, 35 // C/Y, M/Y
|
|
};
|
|
|
|
#endif
|
|
|
|
CONST HTCOLORADJUSTMENT DefaultCA = {
|
|
|
|
sizeof(COLORADJUSTMENT),
|
|
0,
|
|
ILLUMINANT_DEFAULT,
|
|
HT_DEF_RGB_GAMMA,
|
|
HT_DEF_RGB_GAMMA,
|
|
HT_DEF_RGB_GAMMA,
|
|
0,
|
|
10000,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
};
|
|
|
|
|
|
#define MAX_RES_PERCENT 15000
|
|
#define MIN_RES_PERCENT 333
|
|
#define TOT_RES_PERCENT (MAX_RES_PERCENT - MIN_RES_PERCENT + 1)
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#ifndef _HTUI_CIEINFO_ONLY_
|
|
|
|
|
|
typedef struct _HTTESTDATA {
|
|
WORD cx;
|
|
WORD cy;
|
|
FD6 cyRatio;
|
|
LPBYTE pBitmap;
|
|
} HTTESTDATA, FAR *PHTTESTDATA;
|
|
|
|
typedef struct _HTTESTINFO {
|
|
COLORTRIAD ColorTriad;
|
|
PHTTESTDATA pTestData;
|
|
BYTE SurfaceFormat;
|
|
BYTE TotalData;
|
|
BYTE cx;
|
|
BYTE cy;
|
|
} HTTESTINFO, FAR *PHTTESTINFO;
|
|
|
|
|
|
#define DEFAULT_DENSITY_WHITE (DECI4)9127
|
|
#define DEFAULT_DENSITY_BLACK (DECI4)478
|
|
|
|
#define HTAPI_IDX_INIT 0
|
|
#define HTAPI_IDX_CREATE_DHI 1
|
|
#define HTAPI_IDX_DESTROY_DHI 2
|
|
#define HTAPI_IDX_CHB 3
|
|
#define HTAPI_IDX_CCT 4
|
|
#define HTAPI_IDX_CREATE_SMP 5
|
|
#define HTAPI_IDX_HALFTONE_BMP 6
|
|
|
|
|
|
#if DBG
|
|
|
|
LONG
|
|
HTENTRY
|
|
HT_LOADDS
|
|
SetHalftoneError(
|
|
DWORD HT_FuncIndex,
|
|
LONG ErrorID
|
|
);
|
|
|
|
|
|
|
|
#define SET_ERR(a,b) SetHalftoneError((a),(b))
|
|
#define HTAPI_RET(a,b) return((LONG)(((b)<0) ? SET_ERR((a),(b)) : (b)))
|
|
|
|
#else
|
|
|
|
#define SET_ERR(a,b)
|
|
#define HTAPI_RET(a,b) return(b)
|
|
|
|
#endif
|
|
|
|
#define HTINITINFO_INITIAL_CHECKSUM 0x1234f012
|
|
#define HTSMP_INITIAL_CHECKSUM 0xa819203f
|
|
|
|
#define MAX_CDCI_COUNT 16
|
|
#define MAX_CSMP_COUNT 10
|
|
|
|
|
|
//
|
|
// Following are the function prototype
|
|
//
|
|
|
|
BOOL
|
|
HTENTRY
|
|
CleanUpDHI(
|
|
PDEVICEHALFTONEINFO pDeviceHalftoneInfo
|
|
);
|
|
|
|
PCDCIDATA
|
|
HTENTRY
|
|
FindCachedDCI(
|
|
PDEVICECOLORINFO pDCI
|
|
);
|
|
|
|
BOOL
|
|
HTENTRY
|
|
AddCachedDCI(
|
|
PDEVICECOLORINFO pDCI
|
|
);
|
|
|
|
BOOL
|
|
HTENTRY
|
|
GetCachedDCI(
|
|
PDEVICECOLORINFO pDCI
|
|
);
|
|
|
|
PCSMPBMP
|
|
HTENTRY
|
|
FindCachedSMP(
|
|
PDEVICECOLORINFO pDCI,
|
|
UINT PatternIndex
|
|
);
|
|
|
|
LONG
|
|
HTENTRY
|
|
GetCachedSMP(
|
|
PDEVICECOLORINFO pDCI,
|
|
PSTDMONOPATTERN pSMP
|
|
);
|
|
|
|
DWORD
|
|
HTENTRY
|
|
ComputeHTINITINFOChecksum(
|
|
PDEVICECOLORINFO pDCI,
|
|
PHTINITINFO pHTInitInfo
|
|
);
|
|
|
|
|
|
#endif // _HTUI_API_
|
|
#endif // _HTAPI_
|