1unit xcms; 2interface 3uses 4 x,xlib; 5 6{$ifndef os2} 7 {$LinkLib c} 8 {$LinkLib X11} 9const 10 libX11='X11'; 11{$else} 12const 13 libX11='X11'; 14{$endif} 15 16{ 17 Automatically converted by H2Pas 0.99.15 from xcms.h 18 The following command line parameters were used: 19 -p 20 -T 21 -S 22 -d 23 -c 24 xcms.h 25} 26 27 28{$PACKRECORDS C} 29 30 31const 32 XcmsFailure = 0; 33 XcmsSuccess = 1; 34 XcmsSuccessWithCompression = 2; 35type 36 PXcmsColorFormat = ^TXcmsColorFormat; 37 TXcmsColorFormat = dword; 38function XcmsUndefinedFormat : TXcmsColorFormat; 39 40function XcmsCIEXYZFormat : TXcmsColorFormat; 41 42function XcmsCIEuvYFormat : TXcmsColorFormat; 43 44function XcmsCIExyYFormat : TXcmsColorFormat; 45 46function XcmsCIELabFormat : TXcmsColorFormat; 47 48function XcmsCIELuvFormat : TXcmsColorFormat; 49 50function XcmsTekHVCFormat : TXcmsColorFormat; 51 52function XcmsRGBFormat : TXcmsColorFormat; 53 54function XcmsRGBiFormat : TXcmsColorFormat; 55 56 57const 58 XcmsInitNone = $00; 59 XcmsInitSuccess = $01; 60 XcmsInitFailure = $ff; 61{$ifdef MACROS} 62function DisplayOfCCC(ccc : longint) : longint; 63 64function ScreenNumberOfCCC(ccc : longint) : longint; 65 66function VisualOfCCC(ccc : longint) : longint; 67 68function ClientWhitePointOfCCC(ccc : longint) : longint; 69 70function ScreenWhitePointOfCCC(ccc : longint) : longint; 71 72function FunctionSetOfCCC(ccc : longint) : longint; 73{$endif MACROS} 74 75type 76 77 PXcmsFloat = ^TXcmsFloat; 78 TXcmsFloat = double; 79 80 PXcmsRGB = ^TXcmsRGB; 81 TXcmsRGB = record 82 red : word; 83 green : word; 84 blue : word; 85 end; 86 87 PXcmsRGBi = ^TXcmsRGBi; 88 TXcmsRGBi = record 89 red : TXcmsFloat; 90 green : TXcmsFloat; 91 blue : TXcmsFloat; 92 end; 93 94 PXcmsCIEXYZ = ^TXcmsCIEXYZ; 95 TXcmsCIEXYZ = record 96 X : TXcmsFloat; 97 Y : TXcmsFloat; 98 Z : TXcmsFloat; 99 end; 100 101 PXcmsCIEuvY = ^TXcmsCIEuvY; 102 TXcmsCIEuvY = record 103 u_prime : TXcmsFloat; 104 v_prime : TXcmsFloat; 105 Y : TXcmsFloat; 106 end; 107 108 PXcmsCIExyY = ^TXcmsCIExyY; 109 TXcmsCIExyY = record 110 x : TXcmsFloat; 111 y : TXcmsFloat; 112 _Y : TXcmsFloat; 113 end; 114 115 PXcmsCIELab = ^TXcmsCIELab; 116 TXcmsCIELab = record 117 L_star : TXcmsFloat; 118 a_star : TXcmsFloat; 119 b_star : TXcmsFloat; 120 end; 121 122 PXcmsCIELuv = ^TXcmsCIELuv; 123 TXcmsCIELuv = record 124 L_star : TXcmsFloat; 125 u_star : TXcmsFloat; 126 v_star : TXcmsFloat; 127 end; 128 129 PXcmsTekHVC = ^TXcmsTekHVC; 130 TXcmsTekHVC = record 131 H : TXcmsFloat; 132 V : TXcmsFloat; 133 C : TXcmsFloat; 134 end; 135 136 PXcmsPad = ^TXcmsPad; 137 TXcmsPad = record 138 pad0 : TXcmsFloat; 139 pad1 : TXcmsFloat; 140 pad2 : TXcmsFloat; 141 pad3 : TXcmsFloat; 142 end; 143 144 PXcmsColor = ^TXcmsColor; 145 TXcmsColor = record 146 spec : record 147 case longint of 148 0 : ( RGB : TXcmsRGB ); 149 1 : ( RGBi : TXcmsRGBi ); 150 2 : ( CIEXYZ : TXcmsCIEXYZ ); 151 3 : ( CIEuvY : TXcmsCIEuvY ); 152 4 : ( CIExyY : TXcmsCIExyY ); 153 5 : ( CIELab : TXcmsCIELab ); 154 6 : ( CIELuv : TXcmsCIELuv ); 155 7 : ( TekHVC : TXcmsTekHVC ); 156 8 : ( Pad : TXcmsPad ); 157 end; 158 pixel : dword; 159 format : TXcmsColorFormat; 160 end; 161 162 PXcmsPerScrnInfo = ^TXcmsPerScrnInfo; 163 TXcmsPerScrnInfo = record 164 screenWhitePt : TXcmsColor; 165 functionSet : TXPointer; 166 screenData : TXPointer; 167 state : byte; 168 pad : array[0..2] of char; 169 end; 170 171 PXcmsCCC = ^TXcmsCCC; 172 173 TXcmsCompressionProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl; 174 175 TXcmsWhiteAdjustProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor; 176 para6:dword; para7:PBool):TStatus;cdecl; 177 178 TXcmsCCC = record 179 dpy : PDisplay; 180 screenNumber : longint; 181 visual : PVisual; 182 clientWhitePt : TXcmsColor; 183 gamutCompProc : TXcmsCompressionProc; 184 gamutCompClientData : TXPointer; 185 whitePtAdjProc : TXcmsWhiteAdjustProc; 186 whitePtAdjClientData : TXPointer; 187 pPerScrnInfo : PXcmsPerScrnInfo; 188 end; 189 TXcmsCCCRec = TXcmsCCC; 190 PXcmsCCCRec = ^TXcmsCCCRec; 191 192 TXcmsScreenInitProc = function (para1:PDisplay; para2:longint; para3:PXcmsPerScrnInfo):TStatus;cdecl; 193 194 TXcmsScreenFreeProc = procedure (para1:TXPointer);cdecl; 195 196 TXcmsConversionProc = procedure;cdecl; 197 198 PXcmsFuncListPtr = ^TXcmsFuncListPtr; 199 TXcmsFuncListPtr = TXcmsConversionProc; 200 201 TXcmsParseStringProc = function (para1:Pchar; para2:PXcmsColor):longint;cdecl; 202 203 PXcmsColorSpace = ^TXcmsColorSpace; 204 TXcmsColorSpace = record 205 prefix : Pchar; 206 id : TXcmsColorFormat; 207 parseString : TXcmsParseStringProc; 208 to_CIEXYZ : TXcmsFuncListPtr; 209 from_CIEXYZ : TXcmsFuncListPtr; 210 inverse_flag : longint; 211 end; 212 213 PXcmsFunctionSet = ^TXcmsFunctionSet; 214 TXcmsFunctionSet = record 215 DDColorSpaces : ^PXcmsColorSpace; 216 screenInitProc : TXcmsScreenInitProc; 217 screenFreeProc : TXcmsScreenFreeProc; 218 end; 219(* error 220extern Status XcmsAddColorSpace ( 221in declaration at line 323 *) 222 223function XcmsAddFunctionSet(para1:PXcmsFunctionSet):TStatus;cdecl;external libX11; 224function XcmsAllocColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external libX11; 225function XcmsAllocNamedColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor; 226 para6:TXcmsColorFormat):TStatus;cdecl;external libX11; 227function XcmsCCCOfColormap(para1:PDisplay; para2:TColormap):TXcmsCCC;cdecl;external libX11; 228function XcmsCIELabClipab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 229function XcmsCIELabClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 230function XcmsCIELabClipLab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 231function XcmsCIELabQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 232function XcmsCIELabQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 233function XcmsCIELabQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external libX11; 234function XcmsCIELabQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 235function XcmsCIELabToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 236function XcmsCIELabWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor; 237 para6:dword; para7:PBool):TStatus;cdecl;external libX11; 238function XcmsCIELuvClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 239function XcmsCIELuvClipLuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 240function XcmsCIELuvClipuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 241function XcmsCIELuvQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 242function XcmsCIELuvQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 243function XcmsCIELuvQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external libX11; 244function XcmsCIELuvQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 245function XcmsCIELuvToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 246function XcmsCIELuvWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor; 247 para6:dword; para7:PBool):TStatus;cdecl;external libX11; 248function XcmsCIEXYZToCIELab(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 249function XcmsCIEXYZToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 250function XcmsCIEXYZToCIExyY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 251function XcmsCIEXYZToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external libX11; 252function XcmsCIEuvYToCIELuv(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 253function XcmsCIEuvYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 254function XcmsCIEuvYToTekHVC(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 255function XcmsCIExyYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 256function XcmsClientWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external libX11; 257function XcmsConvertColors(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:TXcmsColorFormat; para5:PBool):TStatus;cdecl;external libX11; 258function XcmsCreateCCC(para1:PDisplay; para2:longint; para3:PVisual; para4:PXcmsColor; para5:TXcmsCompressionProc; 259 para6:TXPointer; para7:TXcmsWhiteAdjustProc; para8:TXPointer):TXcmsCCC;cdecl;external libX11; 260function XcmsDefaultCCC(para1:PDisplay; para2:longint):TXcmsCCC;cdecl;external libX11; 261function XcmsDisplayOfCCC(para1:TXcmsCCC):PDisplay;cdecl;external libX11; 262function XcmsFormatOfPrefix(para1:Pchar):TXcmsColorFormat;cdecl;external libX11; 263procedure XcmsFreeCCC(para1:TXcmsCCC);cdecl;external libX11; 264function XcmsLookupColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor; 265 para6:TXcmsColorFormat):TStatus;cdecl;external libX11; 266function XcmsPrefixOfFormat(para1:TXcmsColorFormat):Pchar;cdecl;external libX11; 267function XcmsQueryBlack(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external libX11; 268function XcmsQueryBlue(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external libX11; 269function XcmsQueryColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external libX11; 270function XcmsQueryColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:TXcmsColorFormat):TStatus;cdecl;external libX11; 271function XcmsQueryGreen(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external libX11; 272function XcmsQueryRed(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external libX11; 273function XcmsQueryWhite(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external libX11; 274function XcmsRGBiToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external libX11; 275function XcmsRGBiToRGB(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external libX11; 276function XcmsRGBToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external libX11; 277function XcmsScreenNumberOfCCC(para1:TXcmsCCC):longint;cdecl;external libX11; 278function XcmsScreenWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external libX11; 279function XcmsSetCCCOfColormap(para1:PDisplay; para2:TColormap; para3:TXcmsCCC):TXcmsCCC;cdecl;external libX11; 280function XcmsSetCompressionProc(para1:TXcmsCCC; para2:TXcmsCompressionProc; para3:TXPointer):TXcmsCompressionProc;cdecl;external libX11; 281function XcmsSetWhiteAdjustProc(para1:TXcmsCCC; para2:TXcmsWhiteAdjustProc; para3:TXPointer):TXcmsWhiteAdjustProc;cdecl;external libX11; 282function XcmsSetWhitePoint(para1:TXcmsCCC; para2:PXcmsColor):TStatus;cdecl;external libX11; 283function XcmsStoreColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor):TStatus;cdecl;external libX11; 284function XcmsStoreColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 285function XcmsTekHVCClipC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 286function XcmsTekHVCClipV(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 287function XcmsTekHVCClipVC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external libX11; 288function XcmsTekHVCQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 289function XcmsTekHVCQueryMaxV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 290function XcmsTekHVCQueryMaxVC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external libX11; 291function XcmsTekHVCQueryMaxVSamples(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 292function XcmsTekHVCQueryMinV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external libX11; 293function XcmsTekHVCToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external libX11; 294function XcmsTekHVCWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor; 295 para6:dword; para7:PBool):TStatus;cdecl;external libX11; 296function XcmsVisualOfCCC(para1:TXcmsCCC):PVisual;cdecl;external libX11; 297 298 299implementation 300 301function XcmsUndefinedFormat : TXcmsColorFormat; 302 begin 303 XcmsUndefinedFormat:=TXcmsColorFormat($00000000); 304 end; 305 306function XcmsCIEXYZFormat : TXcmsColorFormat; 307 begin 308 XcmsCIEXYZFormat:=TXcmsColorFormat($00000001); 309 end; 310 311function XcmsCIEuvYFormat : TXcmsColorFormat; 312 begin 313 XcmsCIEuvYFormat:=TXcmsColorFormat($00000002); 314 end; 315 316function XcmsCIExyYFormat : TXcmsColorFormat; 317 begin 318 XcmsCIExyYFormat:=TXcmsColorFormat($00000003); 319 end; 320 321function XcmsCIELabFormat : TXcmsColorFormat; 322 begin 323 XcmsCIELabFormat:=TXcmsColorFormat($00000004); 324 end; 325 326function XcmsCIELuvFormat : TXcmsColorFormat; 327 begin 328 XcmsCIELuvFormat:=TXcmsColorFormat($00000005); 329 end; 330 331function XcmsTekHVCFormat : TXcmsColorFormat; 332 begin 333 XcmsTekHVCFormat:=TXcmsColorFormat($00000006); 334 end; 335 336function XcmsRGBFormat : TXcmsColorFormat; 337 begin 338 XcmsRGBFormat:=TXcmsColorFormat($80000000); 339 end; 340 341function XcmsRGBiFormat : TXcmsColorFormat; 342 begin 343 XcmsRGBiFormat:=TXcmsColorFormat($80000001); 344 end; 345 346{$ifdef MACROS} 347function DisplayOfCCC(ccc : longint) : longint; 348begin 349 DisplayOfCCC:=ccc^.dpy; 350end; 351 352function ScreenNumberOfCCC(ccc : longint) : longint; 353begin 354 ScreenNumberOfCCC:=ccc^.screenNumber; 355end; 356 357function VisualOfCCC(ccc : longint) : longint; 358begin 359 VisualOfCCC:=ccc^.visual; 360end; 361 362function ClientWhitePointOfCCC(ccc : longint) : longint; 363begin 364 ClientWhitePointOfCCC:=@(ccc^.clientWhitePt); 365end; 366 367function ScreenWhitePointOfCCC(ccc : longint) : longint; 368begin 369 ScreenWhitePointOfCCC:=@(ccc^.(pPerScrnInfo^.screenWhitePt)); 370end; 371 372function FunctionSetOfCCC(ccc : longint) : longint; 373begin 374 FunctionSetOfCCC:=ccc^.(pPerScrnInfo^.functionSet); 375end; 376{$endif MACROS} 377 378end. 379