diff options
Diffstat (limited to 'xts5/Xlib7/XcmsConversionProc/XcmsConversionProc.m')
-rw-r--r-- | xts5/Xlib7/XcmsConversionProc/XcmsConversionProc.m | 1008 |
1 files changed, 1008 insertions, 0 deletions
diff --git a/xts5/Xlib7/XcmsConversionProc/XcmsConversionProc.m b/xts5/Xlib7/XcmsConversionProc/XcmsConversionProc.m new file mode 100644 index 00000000..b429342f --- /dev/null +++ b/xts5/Xlib7/XcmsConversionProc/XcmsConversionProc.m @@ -0,0 +1,1008 @@ +Copyright (c) 2005 X.Org Foundation LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +$Header: /cvs/xtest/xtest/xts5/tset/Xlib7/XcmsConversionProc/XcmsConversionProc.m,v 1.1 2005-02-12 14:37:35 anderson Exp $ + +Copyright (c) Applied Testing and Technology, Inc. 1993, 1994, 1995 +Copyright (c) 88open Consortium, Ltd. 1990, 1991, 1992, 1993 +All Rights Reserved. + +>># +>># Project: VSW5 +>># +>># File: tset/Xlib7/XcmsConversionProc/XcmsConversionProc.m +>># +>># Description: +>># Tests for XcmsConversionProc() +>># +>># Modifications: +>># $Log: cmscproc.m,v $ +>># Revision 1.1 2005-02-12 14:37:35 anderson +>># Initial revision +>># +>># Revision 8.0 1998/12/23 23:27:06 mar +>># Branch point for Release 5.0.2 +>># +>># Revision 7.0 1998/10/30 22:45:24 mar +>># Branch point for Release 5.0.2b1 +>># +>># Revision 6.0 1998/03/02 05:19:19 tbr +>># Branch point for Release 5.0.1 +>># +>># Revision 5.0 1998/01/26 03:15:50 tbr +>># Branch point for Release 5.0.1b1 +>># +>># Revision 4.0 1995/12/15 08:49:46 tbr +>># Branch point for Release 5.0.0 +>># +>># Revision 3.1 1995/12/15 00:49:26 andy +>># Prepare for GA Release +>># +>>AVSCODE +>>TITLE XcmsConversionProc Xlib7 +XcmsConversionProc() +>>EXTERN + +Bool writeable_colormaps = 1; +Display *display_good; +Visual *visual_good ; +XcmsCCC ccc_good ; +Colormap colormap_good, colormap_return ; +Colormap rw_colormap ; +XcmsColor color_good[2] ; +XcmsColor white_point[2] ; +XcmsColor *white_ptr ; +XcmsColorFormat format_good ; +int screen_good ; +int depth_good ; +unsigned int ncolors ; +/* +Bool compression_flags_return[] ; +*/ + +int (*XcmsConversionFunc)() ; + +char *exec_file_name; +int x_init, y_init, h_init, w_init; + +svccmsConversionProc(display, ccc, white_point, colors, num) +Display *display ; +XcmsCCC ccc ; +XcmsColor white_point[] ; +XcmsColor colors[] ; +unsigned int num ; +{ + extern int errcnt; + extern int errflg; + extern int chkflg; + extern int signal_status(); + extern int unexp_err(); + extern char *svc_user_arg; + +/****** + * local storage + ******/ + char fmtstr[256], *call_string; + union msglst fmt_lst[1]; + int skip_pixcheck; + + int + ss_status, /* save stat return status */ + stat_status, /* check stat return status */ + setup_status, + cleanup_status, + i1; + + Status svc_ret_value; + + +/****** + * Turn on buffering and buffer parameter information + * in case an error occurs + ******/ + + regr_args.l_flags.bufrout = 1; + + (void)strcpy(fmtstr, "*********************\n"); + message(fmtstr, fmt_lst, 0); + (void)strcpy(fmtstr, "An error occurred during a call to %s\n\n"); + fmt_lst[0].typ_str = TestName; + message(fmtstr, fmt_lst, 1); + + + call_string = "svc_ret_value = XcmsConversionProc("; + + (void)strcpy(fmtstr, "The routine call looked like this - \n %s\n"); + fmt_lst[0].typ_str = call_string; + message(fmtstr, fmt_lst, 1); + + call_string = " ccc, white_point, colors, ncolors);\n\n"; + message(call_string, fmt_lst, 0); + (void)strcpy(fmtstr, "The parameter values were as follows... \n"); + message(fmtstr, fmt_lst, 0); + + bufrdisp(display); /* buffer display struct info for error checking */ + +/****** + * Setup code for this service - this should always be executed. + ******/ + + XSync(display_arg, 0); + +/****** + * save environment + ******/ + if (regr_args.l_flags.chksta == 1) + ss_status = save_stat(dpy_msk | win_msk , + gc_id, + display_arg, + drawable_id); + + + first_error = 0; /* no errors encountered yet */ +/****** + * service call + ******/ + + svc_ret_value = 0 ; + errflg = 0; + XSetErrorHandler(signal_status); + svc_ret_value = XcmsConversionFunc(ccc, &white_point[0], colors, num) ; + XSync(display_arg, 0); + XSetErrorHandler(unexp_err); + r_wait(display_arg, window_arg, time_delay, None); /* no colormap by default */ + +/****** + * check saved environment with current environment. + ******/ + if (regr_args.l_flags.chksta == 1) + stat_status = chek_stat (dpy_msk | win_msk , + gc_id, + display_arg, + drawable_id, + ss_status); + else + stat_status = REGR_NORMAL; + +/****** + * check Success returns with expected returns + ******/ + if ((!errflg) && (!chkflg)) + if ((badstat(display_arg, estatus, Success)) != REGR_NORMAL) + errflg = 1; + + +/****** + * verify the results of the service if successful completion. + ******/ + if ((regr_args.l_flags.check) && + (errflg == 0) && + (stat_status == REGR_NORMAL)) + { + check_dec(XcmsSuccess, svc_ret_value, "return value") ; + } + XSync(display_arg, 0); + +/****** + * cleanup code for this service. + ******/ + if (regr_args.l_flags.cleanup) + { + cleanup_status = REGR_NORMAL; + } + XSync(display_arg, 0); + + if (errflg) { /* if there was an error ... */ + errcnt++; /* ...increment the error count */ + (void)strcpy(fmtstr, "\nEnd of error report\n"); + message(fmtstr, fmt_lst, 0); + (void)strcpy(fmtstr, "*********************\n"); + message(fmtstr, fmt_lst, 0); + } + +/***** + * clear all flags + *****/ + chkflg = 0; + regr_args.l_flags.bufrout = 0; + + dumpbuf(); +} + +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIELab to XcmsCIELXYZ. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIELabToCIEXYZ for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIELabFormat ; + color_good[0].spec.CIELab.L_star = 1.8 ; + color_good[0].spec.CIELab.a_star = 0.6 ; + color_good[0].spec.CIELab.b_star = 1.4 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIELabToCIEXYZ ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + } + } /* end if */ + } + else + message("Warning: not a writeable colormap\n", NULL, 0) ; + + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIELuv to XcmsCIEuvY. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIELuvToCIEuvY for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIELuvFormat ; + color_good[0].spec.CIELuv.L_star = 100.0 ; + color_good[0].spec.CIELuv.u_star = 100.0 ; + color_good[0].spec.CIELuv.v_star = 100.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIELuvToCIEuvY ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } else + message("Warning: not a writeable colormap\n", NULL, 0) ; + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIEXYZ to XcmsCIELab. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + message("Assertion #3\n", NULL, 0); + if ( writeable_colormaps ) { + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIEXYZToCIELab for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIEXYZFormat ; + color_good[0].spec.CIEXYZ.X = 1.0 ; + color_good[0].spec.CIEXYZ.Y = 1.0 ; + color_good[0].spec.CIEXYZ.Z = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIEXYZToCIELab ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } else + message("Warning: not a writeable colormap\n", NULL, 0) ; + + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIEXYZ to XcmsCIELuvY. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIEXYZToCIEuvY for Success\n"); + + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIEXYZFormat ; + color_good[0].spec.CIEXYZ.X = 1.0 ; + color_good[0].spec.CIEXYZ.Y = 1.0 ; + color_good[0].spec.CIEXYZ.Z = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIEXYZToCIEuvY ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } else + message("Warning: not a writeable colormap\n", NULL, 0) ; + + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIEXYZ to XcmsCIExyY. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIEXYZToCIExyY for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIEXYZFormat ; + color_good[0].spec.CIEXYZ.X = 1.0 ; + color_good[0].spec.CIEXYZ.Y = 1.0 ; + color_good[0].spec.CIEXYZ.Z = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIEXYZToCIExyY ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } + else + message("Warning: not a writeable colormap\n", NULL, 0) ; + + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname shall convert color specifications from XcmsCIEXYZ +to XcmsCIExyY. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + message("Assertion #6\n", NULL, 0); + if (writeable_colormaps) + { + + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIEuvYToCIELuv for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIEuvYFormat ; + color_good[0].spec.CIEuvY.u_prime = 0.6 ; + color_good[0].spec.CIEuvY.v_prime = 0.6 ; + color_good[0].spec.CIEuvY.Y = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIEuvYToCIELuv ; + svccmsConversionProc(display_good, ccc_good, &white_point[0], + &color_good[0], ncolors); + + } + } /* end if */ + } + else + message("Warning: not a writeable colormap\n", NULL, 0) ; + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIEuvY to XcmsCIEXYZ. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + message("Assertion #7\n", NULL, 0); + if (writeable_colormaps) + { + + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) { + tet_infoline("TEST: Testing XcmsCIEuvYToCIEXYZ for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIEuvYFormat ; + color_good[0].spec.CIEuvY.u_prime = 1.0 ; + color_good[0].spec.CIEuvY.v_prime = 1.0 ; + color_good[0].spec.CIEuvY.Y = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIEuvYToCIEXYZ ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } else + message("Warning: not a writeable colormap\n", NULL, 0) ; + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsCIExyY to XcmsCIEXYZ. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsCIExyYToCIEXYZ for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsCIExyYFormat ; + color_good[0].spec.CIExyY.x = 0.75 ; + color_good[0].spec.CIExyY.y = 0.85 ; + color_good[0].spec.CIExyY.Y = 1.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsCIExyYToCIEXYZ ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } + else + message("Warning: not a writeable colormap\n", NULL, 0) ; + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif +>>ASSERTION Good C +If the implementation is X11R5 or later: +A call to xname +shall convert color specifications from XcmsTekHVC to XcmsCIEuvY. +>>CODE + +#if XT_X_RELEASE > 4 + display_arg = Dsp; + /* + * Create a GC to save environmental data in + */ + gc_save = XCreateGC(display_arg,XRootWindow(display_arg,XDefaultScreen(display_arg)),(unsigned long)0,(XGCValues *)0); + + regr_args.l_flags.check = 0; + regr_args.l_flags.nostat = 0; + regr_args.l_flags.perf = 0; + regr_args.l_flags.setup = 0; + regr_args.l_flags.cleanup = 0; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + regr_args.l_flags.verbose = 0; + regr_args.iter = 1; /* execute service once */ + estatus[0] = 1; + + display_good = display_arg; + + screen_good = XDefaultScreen(display_good); + depth_good = DisplayPlanes( display_good, screen_good ); + visual_good = XDefaultVisual(display_good, screen_good ); + + if ((visual_good->class == StaticGray) || + (visual_good->class == StaticColor) || + (visual_good->class == TrueColor)) + writeable_colormaps = 0 ; + + if ( writeable_colormaps ) { + colormap_good = XCreateColormap( + display_good, + XRootWindow(display_good, screen_good), + visual_good, + AllocAll); + ccc_good = XcmsCCCOfColormap(display_good, colormap_good) ; + } + + if (writeable_colormaps) + { + + estatus[0] = 1; + estatus[1] = Success; + + if ((regr_args.l_flags.good == 0) || (estatus[1] == Success)) + { + tet_infoline("TEST: Testing XcmsTekHVCToCIEuvY for Success\n"); + regr_args.l_flags.check = 1; + regr_args.l_flags.setup = 1; + regr_args.l_flags.cleanup = 1; + regr_args.l_flags.chksta = 0; + regr_args.l_flags.chkdpy = 0; + + { + color_good[0].format = XcmsTekHVCFormat ; + color_good[0].spec.TekHVC.H = 360.0 ; + color_good[0].spec.TekHVC.V = 100.0 ; + color_good[0].spec.TekHVC.C = 100.0 ; + white_point[0].format = XcmsCIEXYZFormat ; + white_point[0].spec.CIEXYZ.X = 1.0 ; + white_point[0].spec.CIEXYZ.Y = 1.0 ; + white_point[0].spec.CIEXYZ.Z = 1.0 ; + ncolors = 1 ; + XcmsConversionFunc = XcmsTekHVCToCIEuvY ; + svccmsConversionProc( + display_good, + ccc_good, + &white_point[0], + &color_good[0], + ncolors + ); + + } + } /* end if */ + } else + message("Warning: not a writeable colormap\n", NULL, 0) ; + + tet_result(TET_PASS); +#else + tet_infoline("INFO: Implementation not X11R5 or greater"); + tet_result(TET_UNSUPPORTED); +#endif |