1
/* $Xorg: XIElib.h,v 1.6 2001/02/09 02:03:41 xorgcvs Exp $ */
5
Copyright 1993, 1994, 1998 The Open Group
7
Permission to use, copy, modify, distribute, and sell this software and its
8
documentation for any purpose is hereby granted without fee, provided that
9
the above copyright notice appear in all copies and that both that
10
copyright notice and this permission notice appear in supporting
13
The above copyright notice and this permission notice shall be included
14
in all copies or substantial portions of the Software.
16
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
OTHER DEALINGS IN THE SOFTWARE.
24
Except as contained in this notice, the name of The Open Group shall
25
not be used in advertising or otherwise to promote the sale, use or
26
other dealings in this Software without prior written authorization
35
#include <X11/extensions/XIE.h>
37
/*--------------------------------------------------------------------------*
39
*--------------------------------------------------------------------------*/
41
typedef float XieFloat;
43
typedef float XieConstant[3];
45
typedef float XieMatrix[9];
47
typedef unsigned XieAlignment;
49
typedef unsigned XieArithmeticOp;
51
typedef unsigned XieColorAllocTechnique;
53
typedef XID XieColorList;
55
typedef unsigned XieColorspace;
57
typedef unsigned XieCompareOp;
59
typedef unsigned XieConstrainTechnique;
61
typedef unsigned XieConvolveTechnique;
63
typedef unsigned XieDataClass;
65
typedef unsigned XieDataType;
67
typedef unsigned XieDecodeTechnique;
69
typedef unsigned XieDitherTechnique;
71
typedef unsigned XieEncodeTechnique;
73
typedef XID XiePhotospace;
75
typedef XID XiePhotoflo;
77
typedef unsigned XieExportNotify;
79
typedef unsigned XieExportState;
81
typedef unsigned XieGamutTechnique;
83
typedef unsigned XieGeometryTechnique;
90
typedef unsigned XieHistogramShape;
92
typedef unsigned XieInterleave;
94
typedef unsigned long XieLevels[3];
98
typedef unsigned XieMathOp;
100
typedef unsigned XieOrientation;
102
typedef unsigned XiePhotofloOutcome;
104
typedef unsigned XiePhotofloState;
106
typedef XID XiePhotomap;
108
typedef unsigned XiePhototag;
113
XiePhototag phototag;
116
typedef struct { /* this is bcopyable on 32 bit machines */
117
long x; /* when using PutClientData */
120
unsigned long height;
125
typedef unsigned XieServiceClass;
127
typedef unsigned XieTechniqueGroup;
131
XieTechniqueGroup group;
143
typedef unsigned long XieLTriplet[3];
145
typedef unsigned XieWhiteAdjustTechnique;
147
#if NeedFunctionPrototypes
148
typedef void *XiePointer;
150
typedef char *XiePointer;
154
/*--------------------------------------------------------------------------*
155
* Extension information *
156
*--------------------------------------------------------------------------*/
159
unsigned server_major_rev;
160
unsigned server_minor_rev;
161
XieServiceClass service_class;
162
XieAlignment alignment;
166
int n_cnst_levels; /* number of constrained levels */
167
unsigned long *cnst_levels; /* recommended constrained levels */
174
/*--------------------------------------------------------------------------*
175
* Photoflo element union *
176
*--------------------------------------------------------------------------*/
189
XieDataClass data_class;
190
XieOrientation band_order;
196
XieDataClass data_class;
201
XieDecodeTechnique decode_tech;
202
XiePointer decode_param;
206
unsigned int rectangles;
226
unsigned long bit_plane;
228
} ImportDrawablePlane;
235
XiePhotomap photomap;
251
XieProcessDomain domain;
252
XieConstant constant;
253
#if defined(__cplusplus) || defined(c_plusplus)
254
XieArithmeticOp c_operator;
256
XieArithmeticOp operator;
258
unsigned int band_mask;
271
XieConstant coefficients;
276
unsigned int band_number;
282
XieConstant src_constant;
284
float alpha_constant;
285
XieProcessDomain domain;
286
unsigned int band_mask;
292
XieProcessDomain domain;
293
XieConstant constant;
294
#if defined(__cplusplus) || defined(c_plusplus)
295
XieCompareOp c_operator;
297
XieCompareOp operator;
300
unsigned int band_mask;
306
XieConstrainTechnique constrain_tech;
307
XiePointer constrain_param;
313
XieDataClass data_class;
314
unsigned int precision;
319
XieColorspace color_space;
320
XiePointer color_param;
326
XieColorList color_list;
328
XieColorAllocTechnique color_alloc_tech;
329
XiePointer color_alloc_param;
334
XieColorspace color_space;
335
XiePointer color_param;
340
XieProcessDomain domain;
343
unsigned int band_mask;
344
XieConvolveTechnique convolve_tech;
345
XiePointer convolve_param;
351
unsigned int band_mask;
352
XieDitherTechnique dither_tech;
353
XiePointer dither_param;
360
float coefficients[6];
361
XieConstant constant;
362
unsigned int band_mask;
363
XieGeometryTechnique sample_tech;
364
XiePointer sample_param;
370
XieProcessDomain domain;
371
XieConstant constant;
372
#if defined(__cplusplus) || defined(c_plusplus)
377
unsigned int band_mask;
382
XieProcessDomain domain;
383
XieHistogramShape shape;
384
XiePointer shape_param;
389
XieProcessDomain domain;
390
#if defined(__cplusplus) || defined(c_plusplus)
391
XieMathOp c_operator;
395
unsigned int band_mask;
401
XieConstant constant;
403
unsigned int tile_count;
408
XieProcessDomain domain;
410
unsigned int band_mask;
423
XieProcessDomain domain;
424
XieExportNotify notify;
425
} ExportClientHistogram;
429
XieOrientation band_order;
430
XieExportNotify notify;
437
XieExportNotify notify;
438
XieEncodeTechnique encode_tech;
439
XiePointer encode_param;
444
XieExportNotify notify;
461
} ExportDrawablePlane;
472
XiePhotomap photomap;
473
XieEncodeTechnique encode_tech;
474
XiePointer encode_param;
485
typedef XiePhotoElement *XiePhotofloGraph;
488
/*--------------------------------------------------------------------------*
489
* Technique Parameters *
490
*--------------------------------------------------------------------------*/
496
} XieColorAllocAllParam;
501
} XieColorAllocMatchParam;
504
unsigned long max_cells;
505
} XieColorAllocRequantizeParam;
508
/* Colorspace - conversion from RGB */
512
XieWhiteAdjustTechnique white_adjust_tech;
513
XiePointer white_adjust_param;
514
} XieRGBToCIELabParam, XieRGBToCIEXYZParam;
522
} XieRGBToYCbCrParam;
533
/* Colorspace - conversion to RGB */
537
XieWhiteAdjustTechnique white_adjust_tech;
538
XiePointer white_adjust_param;
539
XieGamutTechnique gamut_tech;
540
XiePointer gamut_param;
541
} XieCIELabToRGBParam, XieCIEXYZToRGBParam;
549
XieGamutTechnique gamut_tech;
550
XiePointer gamut_param;
551
} XieYCbCrToRGBParam;
559
XieGamutTechnique gamut_tech;
560
XiePointer gamut_param;
566
XieConstant input_low,input_high;
567
XieLTriplet output_low,output_high;
574
XieConstant constant;
575
} XieConvolveConstantParam;
581
XieOrientation fill_order;
582
XieOrientation pixel_order;
583
unsigned int pixel_stride;
584
unsigned int left_pad;
585
unsigned int scanline_pad;
586
} XieDecodeUncompressedSingleParam;
589
unsigned char left_pad[3];
590
XieOrientation fill_order;
591
unsigned char pixel_stride[3];
592
XieOrientation pixel_order;
593
unsigned char scanline_pad[3];
594
XieOrientation band_order;
595
XieInterleave interleave;
596
} XieDecodeUncompressedTripleParam;
599
XieOrientation encoded_order;
602
} XieDecodeG31DParam, XieDecodeG32DParam, XieDecodeG42DParam,
606
XieOrientation encoded_order;
608
} XieDecodeTIFFPackBitsParam;
611
XieInterleave interleave;
612
XieOrientation band_order;
614
} XieDecodeJPEGBaselineParam;
617
XieInterleave interleave;
618
XieOrientation band_order;
619
} XieDecodeJPEGLosslessParam;
625
unsigned int threshold_order;
626
} XieDitherOrderedParam;
632
XieOrientation fill_order;
633
XieOrientation pixel_order;
634
unsigned int pixel_stride;
635
unsigned int scanline_pad;
636
} XieEncodeUncompressedSingleParam;
639
unsigned char pixel_stride[3];
640
XieOrientation pixel_order;
641
unsigned char scanline_pad[3];
642
XieOrientation fill_order;
643
XieOrientation band_order;
644
XieInterleave interleave;
645
} XieEncodeUncompressedTripleParam;
650
XieOrientation encoded_order;
651
} XieEncodeG31DParam;
657
XieOrientation encoded_order;
658
unsigned long k_factor;
659
} XieEncodeG32DParam;
664
XieOrientation encoded_order;
665
} XieEncodeG42DParam;
668
unsigned int preference;
669
} XieEncodeServerChoiceParam;
672
XieInterleave interleave;
673
XieOrientation band_order;
674
unsigned char horizontal_samples[3];
675
unsigned char vertical_samples[3];
679
unsigned int ac_size;
681
unsigned int dc_size;
682
} XieEncodeJPEGBaselineParam;
685
XieInterleave interleave;
686
XieOrientation band_order;
687
unsigned char predictor[3];
689
unsigned int table_size;
690
} XieEncodeJPEGLosslessParam;
693
XieOrientation encoded_order;
695
} XieEncodeTIFF2Param;
698
XieOrientation encoded_order;
699
} XieEncodeTIFFPackBitsParam;
706
} XieGeomAntialiasByAreaParam;
710
} XieGeomAntialiasByLowpassParam;
717
} XieGeomGaussianParam;
721
} XieGeomNearestNeighborParam;
729
} XieHistogramGaussianParam;
734
} XieHistogramHyperbolicParam;
740
XieConstant white_point;
741
} XieWhiteAdjustCIELabShiftParam;
744
/*--------------------------------------------------------------------------*
746
*--------------------------------------------------------------------------*/
750
unsigned long serial;
753
unsigned long name_space;
755
unsigned long flo_id;
757
unsigned int elem_type;
758
XieColorList color_list;
759
XieColorAllocTechnique color_alloc_technique;
760
unsigned long color_alloc_data;
761
} XieColorAllocEvent;
765
unsigned long serial;
768
unsigned long name_space;
770
unsigned long flo_id;
772
unsigned int elem_type;
773
XieDecodeTechnique decode_technique;
775
unsigned int band_number;
777
unsigned long height;
778
} XieDecodeNotifyEvent;
782
unsigned long serial;
785
unsigned long name_space;
787
unsigned long flo_id;
789
unsigned int elem_type;
790
unsigned int band_number;
791
unsigned long data[3];
792
} XieExportAvailableEvent;
796
unsigned long serial;
799
unsigned long name_space;
801
unsigned long flo_id;
803
unsigned int elem_type;
809
} XieImportObscuredEvent;
813
unsigned long serial;
816
unsigned long name_space;
818
unsigned long flo_id;
819
XiePhotofloOutcome outcome;
820
} XiePhotofloDoneEvent;
823
/*--------------------------------------------------------------------------*
825
*--------------------------------------------------------------------------*/
830
unsigned long flo_id;
831
unsigned long serial;
832
unsigned char error_code;
833
unsigned char request_code;
834
unsigned char minor_code;
835
unsigned int flo_error_code;
836
unsigned long name_space;
837
XiePhototag phototag;
838
unsigned int elem_type;
839
} XieFloAccessError, XieFloAllocError, XieFloElementError, XieFloIDError,
840
XieFloLengthError, XieFloMatchError, XieFloSourceError;
845
unsigned long flo_id;
846
unsigned long serial;
847
unsigned char error_code;
848
unsigned char request_code;
849
unsigned char minor_code;
850
unsigned int flo_error_code;
851
unsigned long name_space;
852
XiePhototag phototag;
853
unsigned int elem_type;
855
} XieFloResourceError;
860
unsigned long flo_id;
861
unsigned long serial;
862
unsigned char error_code;
863
unsigned char request_code;
864
unsigned char minor_code;
865
unsigned int flo_error_code;
866
unsigned long name_space;
867
XiePhototag phototag;
868
unsigned int elem_type;
869
XiePhototag domain_src;
875
unsigned long flo_id;
876
unsigned long serial;
877
unsigned char error_code;
878
unsigned char request_code;
879
unsigned char minor_code;
880
unsigned int flo_error_code;
881
unsigned long name_space;
882
XiePhototag phototag;
883
unsigned int elem_type;
884
#if defined(__cplusplus) || defined(c_plusplus)
885
unsigned int c_operator;
887
unsigned int operator;
889
} XieFloOperatorError;
894
unsigned long flo_id;
895
unsigned long serial;
896
unsigned char error_code;
897
unsigned char request_code;
898
unsigned char minor_code;
899
unsigned int flo_error_code;
900
unsigned long name_space;
901
XiePhototag phototag;
902
unsigned int elem_type;
903
unsigned int technique_number;
904
unsigned int num_tech_params;
905
XieTechniqueGroup tech_group;
906
} XieFloTechniqueError;
911
unsigned long flo_id;
912
unsigned long serial;
913
unsigned char error_code;
914
unsigned char request_code;
915
unsigned char minor_code;
916
unsigned int flo_error_code;
917
unsigned long name_space;
918
XiePhototag phototag;
919
unsigned int elem_type;
920
unsigned long bad_value;
924
/*--------------------------------------------------------------------------*
925
* Function prototypes *
926
*--------------------------------------------------------------------------*/
928
/* Startup functions -------------------------------------------------------*/
930
extern Status XieInitialize (
931
#if NeedFunctionPrototypes
932
Display * /* display */,
933
XieExtensionInfo ** /* extinfo_ret */
937
extern Status XieQueryTechniques (
938
#if NeedFunctionPrototypes
939
Display * /* display */,
940
XieTechniqueGroup /* technique_group */,
941
int * /* ntechniques_ret */,
942
XieTechnique ** /* techniques_ret */
946
extern void XieFreeTechniques (
947
#if NeedFunctionPrototypes
948
XieTechnique * /* techs */,
949
unsigned int /* count */
954
/* Color List functions ---------------------------------------------------*/
956
extern XieColorList XieCreateColorList (
957
#if NeedFunctionPrototypes
958
Display * /* display */
962
extern void XieDestroyColorList (
963
#if NeedFunctionPrototypes
964
Display * /* display */,
965
XieColorList /* color_list */
969
extern void XiePurgeColorList (
970
#if NeedFunctionPrototypes
971
Display * /* display */,
972
XieColorList /* color_list */
976
extern Status XieQueryColorList (
977
#if NeedFunctionPrototypes
978
Display * /* display */,
979
XieColorList /* color_list */,
980
Colormap * /* colormap_ret */,
981
unsigned * /* ncolors_ret */,
982
unsigned long ** /* colors_ret */
987
/* LUT functions -----------------------------------------------------------*/
989
extern XieLut XieCreateLUT (
990
#if NeedFunctionPrototypes
991
Display * /* display */
995
extern void XieDestroyLUT (
996
#if NeedFunctionPrototypes
997
Display * /* display */,
1003
/* Photomap functions ------------------------------------------------------*/
1005
extern XiePhotomap XieCreatePhotomap (
1006
#if NeedFunctionPrototypes
1007
Display * /* display */
1011
extern void XieDestroyPhotomap (
1012
#if NeedFunctionPrototypes
1013
Display * /* display */,
1014
XiePhotomap /* photomap */
1018
extern Status XieQueryPhotomap (
1019
#if NeedFunctionPrototypes
1020
Display * /* display */,
1021
XiePhotomap /* photomap */,
1022
Bool * /* populated_ret */,
1023
XieDataType * /* datatype_ret */,
1024
XieDataClass * /* class_ret */,
1025
XieDecodeTechnique * /* decode_technique_ret */,
1026
XieLTriplet /* width_ret */,
1027
XieLTriplet /* height_ret */,
1028
XieLTriplet /* levels_ret */
1033
/* ROI functions -----------------------------------------------------------*/
1035
extern XieRoi XieCreateROI (
1036
#if NeedFunctionPrototypes
1037
Display * /* display */
1041
extern void XieDestroyROI (
1042
#if NeedFunctionPrototypes
1043
Display * /* display */,
1049
/* Photospace functions ----------------------------------------------------*/
1051
extern XiePhotospace XieCreatePhotospace (
1052
#if NeedFunctionPrototypes
1053
Display * /* display */
1057
extern void XieDestroyPhotospace (
1058
#if NeedFunctionPrototypes
1059
Display * /* display */,
1060
XiePhotospace /* photospace */
1064
extern void XieExecuteImmediate (
1065
#if NeedFunctionPrototypes
1066
Display * /* display */,
1067
XiePhotospace /* photospace */,
1068
unsigned long /* flo_id */,
1070
XiePhotoElement * /* elem_list */,
1071
int /* elem_count */
1076
/* Photoflo functions ------------------------------------------------------*/
1078
extern XiePhotoElement *XieAllocatePhotofloGraph (
1079
#if NeedFunctionPrototypes
1080
unsigned int /* count */
1084
extern void XieFreePhotofloGraph (
1085
#if NeedFunctionPrototypes
1086
XiePhotoElement * /* elements */,
1087
unsigned int /* count */
1091
extern XiePhotoflo XieCreatePhotoflo (
1092
#if NeedFunctionPrototypes
1093
Display * /* display */,
1094
XiePhotoElement * /* elem_list */,
1095
int /* elem_count */
1099
extern void XieDestroyPhotoflo (
1100
#if NeedFunctionPrototypes
1101
Display * /* display */,
1102
XiePhotoflo /* photoflo */
1106
extern void XieExecutePhotoflo (
1107
#if NeedFunctionPrototypes
1108
Display * /* display */,
1109
XiePhotoflo /* photoflo */,
1114
extern void XieModifyPhotoflo (
1115
#if NeedFunctionPrototypes
1116
Display * /* display */,
1117
XiePhotoflo /* photoflo */,
1119
XiePhotoElement * /* elem_list */,
1120
int /* elem_count */
1124
extern void XieRedefinePhotoflo (
1125
#if NeedFunctionPrototypes
1126
Display * /* display */,
1127
XiePhotoflo /* photoflo */,
1128
XiePhotoElement * /* elem_list */,
1129
int /* elem_count */
1133
extern Status XieQueryPhotoflo (
1134
#if NeedFunctionPrototypes
1135
Display * /* display */,
1136
unsigned long /* name_space */,
1137
unsigned long /* flo_id */,
1138
XiePhotofloState * /* state_ret */,
1139
XiePhototag ** /* data_expected_ret */,
1140
unsigned int * /* nexpected_ret */,
1141
XiePhototag ** /* data_available_ret */,
1142
unsigned int * /* navailable_ret */
1147
/* Client Data functions ---------------------------------------------------*/
1149
extern void XiePutClientData (
1150
#if NeedFunctionPrototypes
1151
Display * /* display */,
1152
unsigned long /* name_space */,
1153
unsigned long /* flo_id */,
1154
XiePhototag /* element */,
1156
unsigned /* band_number */,
1157
unsigned char * /* data */,
1158
unsigned /* nbytes */
1162
extern Status XieGetClientData (
1163
#if NeedFunctionPrototypes
1164
Display * /* display */,
1165
unsigned long /* name_space */,
1166
unsigned long /* flo_id */,
1167
XiePhototag /* element */,
1168
unsigned /* max_bytes */,
1169
Bool /* terminate */,
1170
unsigned /* band_number */,
1171
XieExportState * /* new_state_ret */,
1172
unsigned char ** /* data_ret */,
1173
unsigned * /* nbytes_ret */
1178
/* Abort and Await functions -----------------------------------------------*/
1180
extern void XieAbort (
1181
#if NeedFunctionPrototypes
1182
Display * /* display */,
1183
unsigned long /* name_space */,
1184
unsigned long /* flo_id */
1188
extern void XieAwait (
1189
#if NeedFunctionPrototypes
1190
Display * /* display */,
1191
unsigned long /* name_space */,
1192
unsigned long /* flo_id */
1197
/* Photoflo element functions ----------------------------------------------*/
1199
extern void XieFloImportClientLUT (
1200
#if NeedFunctionPrototypes
1201
XiePhotoElement * /* element */,
1202
XieDataClass /* data_class */,
1203
XieOrientation /* band_order */,
1204
XieLTriplet /* length */,
1205
XieLevels /* levels */
1209
extern void XieFloImportClientPhoto (
1210
#if NeedFunctionPrototypes
1211
XiePhotoElement * /* element */,
1212
XieDataClass /* data_class */,
1213
XieLTriplet /* width */,
1214
XieLTriplet /* height */,
1215
XieLevels /* levels */,
1217
XieDecodeTechnique /* decode_tech */,
1218
XiePointer /* decode_param */
1222
extern void XieFloImportClientROI (
1223
#if NeedFunctionPrototypes
1224
XiePhotoElement * /* element */,
1225
unsigned int /* rectangles */
1229
extern void XieFloImportDrawable (
1230
#if NeedFunctionPrototypes
1231
XiePhotoElement * /* element */,
1232
Drawable /* drawable */,
1235
unsigned int /* width */,
1236
unsigned int /* height */,
1237
unsigned long /* fill */,
1242
extern void XieFloImportDrawablePlane (
1243
#if NeedFunctionPrototypes
1244
XiePhotoElement * /* element */,
1245
Drawable /* drawable */,
1248
unsigned int /* width */,
1249
unsigned int /* height */,
1250
unsigned long /* fill */,
1251
unsigned long /* bit_plane */,
1256
extern void XieFloImportLUT (
1257
#if NeedFunctionPrototypes
1258
XiePhotoElement * /* element */,
1263
extern void XieFloImportPhotomap (
1264
#if NeedFunctionPrototypes
1265
XiePhotoElement * /* element */,
1266
XiePhotomap /* photomap */,
1271
extern void XieFloImportROI (
1272
#if NeedFunctionPrototypes
1273
XiePhotoElement * /* element */,
1278
extern void XieFloArithmetic (
1279
#if NeedFunctionPrototypes
1280
XiePhotoElement * /* element */,
1281
XiePhototag /* src1 */,
1282
XiePhototag /* src2 */,
1283
XieProcessDomain * /* domain */,
1284
XieConstant /* constant */,
1285
XieArithmeticOp /* operator */,
1286
unsigned int /* band_mask */
1290
extern void XieFloBandCombine (
1291
#if NeedFunctionPrototypes
1292
XiePhotoElement * /* element */,
1293
XiePhototag /* src1 */,
1294
XiePhototag /* src2 */,
1295
XiePhototag /* src3 */
1299
extern void XieFloBandExtract (
1300
#if NeedFunctionPrototypes
1301
XiePhotoElement * /* element */,
1302
XiePhototag /* src */,
1303
unsigned int /* levels */,
1305
XieConstant /* coefficients */
1309
extern void XieFloBandSelect (
1310
#if NeedFunctionPrototypes
1311
XiePhotoElement * /* element */,
1312
XiePhototag /* src */,
1313
unsigned int /* band_number */
1317
extern void XieFloBlend (
1318
#if NeedFunctionPrototypes
1319
XiePhotoElement * /* element */,
1320
XiePhototag /* src1 */,
1321
XiePhototag /* src2 */,
1322
XieConstant /* src_constant */,
1323
XiePhototag /* alpha */,
1324
double /* alpha_const */,
1325
XieProcessDomain * /* domain */,
1326
unsigned int /* band_mask */
1330
extern void XieFloCompare (
1331
#if NeedFunctionPrototypes
1332
XiePhotoElement * /* element */,
1333
XiePhototag /* src1 */,
1334
XiePhototag /* src2 */,
1335
XieProcessDomain * /* domain */,
1336
XieConstant /* constant */,
1337
XieCompareOp /* operator */,
1339
unsigned int /* band_mask */
1343
extern void XieFloConstrain (
1344
#if NeedFunctionPrototypes
1345
XiePhotoElement * /* element */,
1346
XiePhototag /* src */,
1347
XieLevels /* levels */,
1348
XieConstrainTechnique /* constrain_tech */,
1349
XiePointer /* constrain_param */
1353
extern void XieFloConvertFromIndex (
1354
#if NeedFunctionPrototypes
1355
XiePhotoElement * /* element */,
1356
XiePhototag /* src */,
1357
Colormap /* colormap */,
1358
XieDataClass /* data_class */,
1359
unsigned int /* precision */
1363
extern void XieFloConvertFromRGB (
1364
#if NeedFunctionPrototypes
1365
XiePhotoElement * /* element */,
1366
XiePhototag /* src */,
1367
XieColorspace /* color_space */,
1368
XiePointer /* color_param */
1372
extern void XieFloConvertToIndex (
1373
#if NeedFunctionPrototypes
1374
XiePhotoElement * /* element */,
1375
XiePhototag /* src */,
1376
Colormap /* colormap */,
1377
XieColorList /* color_list */,
1379
XieColorAllocTechnique /* color_alloc_tech */,
1380
XiePointer /* color_alloc_param */
1384
extern void XieFloConvertToRGB (
1385
#if NeedFunctionPrototypes
1386
XiePhotoElement * /* element */,
1387
XiePhototag /* src */,
1388
XieColorspace /* color_space */,
1389
XiePointer /* color_param */
1393
extern void XieFloConvolve (
1394
#if NeedFunctionPrototypes
1395
XiePhotoElement * /* element */,
1396
XiePhototag /* src */,
1397
XieProcessDomain * /* domain */,
1398
float * /* kernel */,
1399
int /* kernel_size */,
1400
unsigned int /* band_mask */,
1401
XieConvolveTechnique /* convolve_tech */,
1402
XiePointer /* convolve_param */
1406
extern void XieFloDither (
1407
#if NeedFunctionPrototypes
1408
XiePhotoElement * /* element */,
1409
XiePhototag /* src */,
1410
unsigned int /* band_mask */,
1411
XieLevels /* levels */,
1412
XieDitherTechnique /* dither_tech */,
1413
XiePointer /* dither_param */
1417
extern void XieFloGeometry (
1418
#if NeedFunctionPrototypes
1419
XiePhotoElement * /* element */,
1420
XiePhototag /* src */,
1421
unsigned int /* width */,
1422
unsigned int /* height */,
1423
float[6] /* coefficients[6] */,
1424
XieConstant /* constant */,
1425
unsigned int /* band_mask */,
1426
XieGeometryTechnique /* sample_tech */,
1427
XiePointer /* sample_param */
1431
extern void XieFloLogical (
1432
#if NeedFunctionPrototypes
1433
XiePhotoElement * /* element */,
1434
XiePhototag /* src1 */,
1435
XiePhototag /* src2 */,
1436
XieProcessDomain * /* domain */,
1437
XieConstant /* constant */,
1438
unsigned long /* operator */,
1439
unsigned int /* band_mask */
1443
extern void XieFloMatchHistogram (
1444
#if NeedFunctionPrototypes
1445
XiePhotoElement * /* element */,
1446
XiePhototag /* src */,
1447
XieProcessDomain * /* domain */,
1448
XieHistogramShape /* shape */,
1449
XiePointer /* shape_param */
1453
extern void XieFloMath (
1454
#if NeedFunctionPrototypes
1455
XiePhotoElement * /* element */,
1456
XiePhototag /* src */,
1457
XieProcessDomain * /* domain */,
1458
XieMathOp /* operator */,
1459
unsigned int /* band_mask */
1463
extern void XieFloPasteUp (
1464
#if NeedFunctionPrototypes
1465
XiePhotoElement * /* element */,
1466
unsigned int /* width */,
1467
unsigned int /* height */,
1468
XieConstant /* constant */,
1469
XieTile * /* tiles */,
1470
unsigned int /* tile_count */
1474
extern void XieFloPoint (
1475
#if NeedFunctionPrototypes
1476
XiePhotoElement * /* element */,
1477
XiePhototag /* src */,
1478
XieProcessDomain * /* domain */,
1479
XiePhototag /* lut */,
1480
unsigned int /* band_mask */
1484
extern void XieFloUnconstrain (
1485
#if NeedFunctionPrototypes
1486
XiePhotoElement * /* element */,
1487
XiePhototag /* src */
1491
extern void XieFloExportClientHistogram (
1492
#if NeedFunctionPrototypes
1493
XiePhotoElement * /* element */,
1494
XiePhototag /* src */,
1495
XieProcessDomain * /* domain */,
1496
XieExportNotify /* notify */
1500
extern void XieFloExportClientLUT (
1501
#if NeedFunctionPrototypes
1502
XiePhotoElement * /* element */,
1503
XiePhototag /* src */,
1504
XieOrientation /* band_order */,
1505
XieExportNotify /* notify */,
1506
XieLTriplet /* start */,
1507
XieLTriplet /* length */
1511
extern void XieFloExportClientPhoto (
1512
#if NeedFunctionPrototypes
1513
XiePhotoElement * /* element */,
1514
XiePhototag /* src */,
1515
XieExportNotify /* notify */,
1516
XieEncodeTechnique /* encode_tech */,
1517
XiePointer /* encode_param */
1521
extern void XieFloExportClientROI (
1522
#if NeedFunctionPrototypes
1523
XiePhotoElement * /* element */,
1524
XiePhototag /* src */,
1525
XieExportNotify /* notify */
1529
extern void XieFloExportDrawable (
1530
#if NeedFunctionPrototypes
1531
XiePhotoElement * /* element */,
1532
XiePhototag /* src */,
1533
Drawable /* drawable */,
1540
extern void XieFloExportDrawablePlane (
1541
#if NeedFunctionPrototypes
1542
XiePhotoElement * /* element */,
1543
XiePhototag /* src */,
1544
Drawable /* drawable */,
1551
extern void XieFloExportLUT (
1552
#if NeedFunctionPrototypes
1553
XiePhotoElement * /* element */,
1554
XiePhototag /* src */,
1557
XieLTriplet /* start */
1561
extern void XieFloExportPhotomap (
1562
#if NeedFunctionPrototypes
1563
XiePhotoElement * /* element */,
1564
XiePhototag /* src */,
1565
XiePhotomap /* photomap */,
1566
XieEncodeTechnique /* encode_tech */,
1567
XiePointer /* encode_param */
1571
extern void XieFloExportROI (
1572
#if NeedFunctionPrototypes
1573
XiePhotoElement * /* element */,
1574
XiePhototag /* src */,
1580
/* Technique functions -----------------------------------------------------*/
1582
extern XieColorAllocAllParam *XieTecColorAllocAll (
1583
#if NeedFunctionPrototypes
1584
unsigned long /* fill */
1588
extern XieColorAllocMatchParam *XieTecColorAllocMatch (
1589
#if NeedFunctionPrototypes
1590
double /* match_limit */,
1591
double /* gray_limit */
1595
extern XieColorAllocRequantizeParam *XieTecColorAllocRequantize (
1596
#if NeedFunctionPrototypes
1597
unsigned long /* max_cells */
1601
extern XieRGBToCIELabParam *XieTecRGBToCIELab (
1602
#if NeedFunctionPrototypes
1603
XieMatrix /* matrix */,
1604
XieWhiteAdjustTechnique /* white_adjust_tech */,
1605
XiePointer /* white_adjust_param */
1609
extern XieRGBToCIEXYZParam *XieTecRGBToCIEXYZ (
1610
#if NeedFunctionPrototypes
1611
XieMatrix /* matrix */,
1612
XieWhiteAdjustTechnique /* white_adjust_tech */,
1613
XiePointer /* white_adjust_param */
1617
extern XieRGBToYCbCrParam *XieTecRGBToYCbCr (
1618
#if NeedFunctionPrototypes
1619
XieLevels /* levels */,
1620
double /* luma_red */,
1621
double /* luma_green */,
1622
double /* luma_blue */,
1623
XieConstant /* bias */
1627
extern XieRGBToYCCParam *XieTecRGBToYCC (
1628
#if NeedFunctionPrototypes
1629
XieLevels /* levels */,
1630
double /* luma_red */,
1631
double /* luma_green */,
1632
double /* luma_blue */,
1637
extern XieCIELabToRGBParam *XieTecCIELabToRGB (
1638
#if NeedFunctionPrototypes
1639
XieMatrix /* matrix */,
1640
XieWhiteAdjustTechnique /* white_adjust_tech */,
1641
XiePointer /* white_adjust_param */,
1642
XieGamutTechnique /* gamut_tech */,
1643
XiePointer /* gamut_param */
1647
extern XieCIEXYZToRGBParam *XieTecCIEXYZToRGB (
1648
#if NeedFunctionPrototypes
1649
XieMatrix /* matrix */,
1650
XieWhiteAdjustTechnique /* white_adjust_tech */,
1651
XiePointer /* white_adjust_param */,
1652
XieGamutTechnique /* gamut_tech */,
1653
XiePointer /* gamut_param */
1657
extern XieYCbCrToRGBParam *XieTecYCbCrToRGB (
1658
#if NeedFunctionPrototypes
1659
XieLevels /* levels */,
1660
double /* luma_red */,
1661
double /* luma_green */,
1662
double /* luma_blue */,
1663
XieConstant /* bias */,
1664
XieGamutTechnique /* gamut_tech */,
1665
XiePointer /* gamut_param */
1669
extern XieYCCToRGBParam *XieTecYCCToRGB (
1670
#if NeedFunctionPrototypes
1671
XieLevels /* levels */,
1672
double /* luma_red */,
1673
double /* luma_green */,
1674
double /* luma_blue */,
1676
XieGamutTechnique /* gamut_tech */,
1677
XiePointer /* gamut_param */
1681
extern XieClipScaleParam *XieTecClipScale (
1682
#if NeedFunctionPrototypes
1683
XieConstant /* in_low */,
1684
XieConstant /* in_high */,
1685
XieLTriplet /* out_low */,
1686
XieLTriplet /* out_high */
1690
extern XieConvolveConstantParam *XieTecConvolveConstant (
1691
#if NeedFunctionPrototypes
1692
XieConstant /* constant */
1696
extern XieDecodeUncompressedSingleParam *XieTecDecodeUncompressedSingle (
1697
#if NeedFunctionPrototypes
1698
XieOrientation /* fill_order */,
1699
XieOrientation /* pixel_order */,
1700
unsigned int /* pixel_stride */,
1701
unsigned int /* left_pad */,
1702
unsigned int /* scanline_pad */
1706
extern XieDecodeUncompressedTripleParam *XieTecDecodeUncompressedTriple (
1707
#if NeedFunctionPrototypes
1708
XieOrientation /* fill_order */,
1709
XieOrientation /* pixel_order */,
1710
XieOrientation /* band_order */,
1711
XieInterleave /* interleave */,
1712
unsigned char[3] /* pixel_stride[3] */,
1713
unsigned char[3] /* left_pad[3] */,
1714
unsigned char[3] /* scanline_pad[3] */
1718
extern XieDecodeG31DParam *XieTecDecodeG31D (
1719
#if NeedFunctionPrototypes
1720
XieOrientation /* encoded_order */,
1722
Bool /* radiometric */
1726
extern XieDecodeG32DParam *XieTecDecodeG32D (
1727
#if NeedFunctionPrototypes
1728
XieOrientation /* encoded_order */,
1730
Bool /* radiometric */
1734
extern XieDecodeG42DParam *XieTecDecodeG42D (
1735
#if NeedFunctionPrototypes
1736
XieOrientation /* encoded_order */,
1738
Bool /* radiometric */
1742
extern XieDecodeTIFF2Param *XieTecDecodeTIFF2 (
1743
#if NeedFunctionPrototypes
1744
XieOrientation /* encoded_order */,
1746
Bool /* radiometric */
1750
extern XieDecodeTIFFPackBitsParam *XieTecDecodeTIFFPackBits (
1751
#if NeedFunctionPrototypes
1752
XieOrientation /* encoded_order */,
1757
extern XieDecodeJPEGBaselineParam *XieTecDecodeJPEGBaseline (
1758
#if NeedFunctionPrototypes
1759
XieInterleave /* interleave */,
1760
XieOrientation /* band_order */,
1761
Bool /* up_sample */
1765
extern XieDecodeJPEGLosslessParam *XieTecDecodeJPEGLossless (
1766
#if NeedFunctionPrototypes
1767
XieInterleave /* interleave */,
1768
XieOrientation /* band_order */
1772
extern XieDitherOrderedParam *XieTecDitherOrderedParam (
1773
#if NeedFunctionPrototypes
1774
unsigned int /* threshold_order */
1778
extern XieEncodeUncompressedSingleParam *XieTecEncodeUncompressedSingle (
1779
#if NeedFunctionPrototypes
1780
XieOrientation /* fill_order */,
1781
XieOrientation /* pixel_order */,
1782
unsigned int /* pixel_stride */,
1783
unsigned int /* scanline_pad */
1787
extern XieEncodeUncompressedTripleParam *XieTecEncodeUncompressedTriple (
1788
#if NeedFunctionPrototypes
1789
XieOrientation /* fill_order */,
1790
XieOrientation /* pixel_order */,
1791
XieOrientation /* band_order */,
1792
XieInterleave /* interleave */,
1793
unsigned char[3] /* pixel_stride[3] */,
1794
unsigned char[3] /* scanline_pad[3] */
1798
extern XieEncodeG31DParam *XieTecEncodeG31D (
1799
#if NeedFunctionPrototypes
1800
Bool /* align_eol */,
1801
Bool /* radiometric */,
1802
XieOrientation /* encoded_order */
1806
extern XieEncodeG32DParam *XieTecEncodeG32D (
1807
#if NeedFunctionPrototypes
1808
Bool /* uncompressed */,
1809
Bool /* align_eol */,
1810
Bool /* radiometric */,
1811
XieOrientation /* encoded_order */,
1812
unsigned long /* k_factor */
1816
extern XieEncodeG42DParam *XieTecEncodeG42D (
1817
#if NeedFunctionPrototypes
1818
Bool /* uncompressed */,
1819
Bool /* radiometric */,
1820
XieOrientation /* encoded_order */
1824
extern XieEncodeServerChoiceParam *XieTecEncodeServerChoice (
1825
#if NeedFunctionPrototypes
1826
unsigned int /* preference */
1830
extern XieEncodeJPEGBaselineParam *XieTecEncodeJPEGBaseline (
1831
#if NeedFunctionPrototypes
1832
XieInterleave /* interleave */,
1833
XieOrientation /* band_order */,
1834
unsigned char[3] /* horizontal_samples[3] */,
1835
unsigned char[3] /* vertical_samples[3] */,
1836
char * /* q_table */,
1837
unsigned int /* q_size */,
1838
char * /* ac_table */,
1839
unsigned int /* ac_size */,
1840
char * /* dc_table */,
1841
unsigned int /* dc_size */
1845
extern void XieFreeEncodeJPEGBaseline (
1846
#if NeedFunctionPrototypes
1847
XieEncodeJPEGBaselineParam * /* param */
1851
extern XieEncodeJPEGLosslessParam *XieTecEncodeJPEGLossless (
1852
#if NeedFunctionPrototypes
1853
XieInterleave /* interleave */,
1854
XieOrientation /* band_order */,
1855
unsigned char[3] /* predictor[3] */,
1857
unsigned int /* table_size */
1861
extern void XieFreeEncodeJPEGLossless (
1862
#if NeedFunctionPrototypes
1863
XieEncodeJPEGLosslessParam * /* param */
1867
extern void XieFreePasteUpTiles (
1868
#if NeedFunctionPrototypes
1869
XiePhotoElement * /* element */
1873
extern XieEncodeTIFF2Param *XieTecEncodeTIFF2 (
1874
#if NeedFunctionPrototypes
1875
XieOrientation /* encoded_order */,
1876
Bool /* radiometric */
1880
extern XieEncodeTIFFPackBitsParam *XieTecEncodeTIFFPackBits (
1881
#if NeedFunctionPrototypes
1882
XieOrientation /* encoded_order */
1886
extern XieGeomAntialiasByAreaParam *XieTecGeomAntialiasByArea (
1887
#if NeedFunctionPrototypes
1892
extern XieGeomAntialiasByLowpassParam *XieTecGeomAntialiasByLowpass (
1893
#if NeedFunctionPrototypes
1894
int /* kernel_size */
1898
extern XieGeomGaussianParam *XieTecGeomGaussian (
1899
#if NeedFunctionPrototypes
1901
double /* normalize */,
1902
unsigned int /* radius */,
1907
extern XieGeomNearestNeighborParam *XieTecGeomNearestNeighbor (
1908
#if NeedFunctionPrototypes
1909
unsigned int /* modify */
1913
extern XieHistogramGaussianParam *XieTecHistogramGaussian (
1914
#if NeedFunctionPrototypes
1920
extern XieHistogramHyperbolicParam *XieTecHistogramHyperbolic (
1921
#if NeedFunctionPrototypes
1922
double /* constant */,
1923
Bool /* shape_factor */
1927
extern XieWhiteAdjustCIELabShiftParam *XieTecWhiteAdjustCIELabShift (
1928
#if NeedFunctionPrototypes
1929
XieConstant /* white_point */
1934
#endif /* _XIELIB_H_ */