From dafebc5bb70303f0b5baf0b087cf4d9a64b5c7f0 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 12 Sep 2011 11:27:51 +0200 Subject: Synchronised line endinge with release branch --- libXmu/src/Distinct.c | 178 +++++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) (limited to 'libXmu/src/Distinct.c') diff --git a/libXmu/src/Distinct.c b/libXmu/src/Distinct.c index 254eb7f04..9d31494ec 100644 --- a/libXmu/src/Distinct.c +++ b/libXmu/src/Distinct.c @@ -1,89 +1,89 @@ -/* - -Copyright 1990, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -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 -OPEN GROUP 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. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -*/ - -/* - * Author: Keith Packard, MIT X Consortium - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include - -/* - * Distinguishable colors routine. Determines if two colors are - * distinguishable or not. Somewhat arbitrary meaning. - */ - -#define MIN_DISTINGUISH 10000.0 - -Bool -XmuDistinguishableColors(XColor *colors, int count) -{ - double deltaRed, deltaGreen, deltaBlue; - double dist; - int i, j; - - for (i = 0; i < count - 1; i++) - for (j = i + 1; j < count; j++) - { - deltaRed = (double)colors[i].red - (double)colors[j].red; - deltaGreen = (double)colors[i].green - (double)colors[j].green; - deltaBlue = (double)colors[i].blue - (double)colors[j].blue; - dist = deltaRed * deltaRed + - deltaGreen * deltaGreen + - deltaBlue * deltaBlue; - if (dist <= MIN_DISTINGUISH * MIN_DISTINGUISH) - return False; - } - return True; -} - -Bool -XmuDistinguishablePixels(Display *dpy, Colormap cmap, - unsigned long *pixels, int count) -{ - XColor *defs; - int i, j; - Bool ret; - - for (i = 0; i < count - 1; i++) - for (j = i + 1; j < count; j++) - if (pixels[i] == pixels[j]) - return False; - defs = (XColor *) malloc (count * sizeof (XColor)); - if (!defs) - return False; - for (i = 0; i < count; i++) - defs[i].pixel = pixels[i]; - XQueryColors (dpy, cmap, defs, count); - ret = XmuDistinguishableColors (defs, count); - free ((char *) defs); - return ret; -} +/* + +Copyright 1990, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ + +/* + * Author: Keith Packard, MIT X Consortium + */ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include +#include +#include +#include + +/* + * Distinguishable colors routine. Determines if two colors are + * distinguishable or not. Somewhat arbitrary meaning. + */ + +#define MIN_DISTINGUISH 10000.0 + +Bool +XmuDistinguishableColors(XColor *colors, int count) +{ + double deltaRed, deltaGreen, deltaBlue; + double dist; + int i, j; + + for (i = 0; i < count - 1; i++) + for (j = i + 1; j < count; j++) + { + deltaRed = (double)colors[i].red - (double)colors[j].red; + deltaGreen = (double)colors[i].green - (double)colors[j].green; + deltaBlue = (double)colors[i].blue - (double)colors[j].blue; + dist = deltaRed * deltaRed + + deltaGreen * deltaGreen + + deltaBlue * deltaBlue; + if (dist <= MIN_DISTINGUISH * MIN_DISTINGUISH) + return False; + } + return True; +} + +Bool +XmuDistinguishablePixels(Display *dpy, Colormap cmap, + unsigned long *pixels, int count) +{ + XColor *defs; + int i, j; + Bool ret; + + for (i = 0; i < count - 1; i++) + for (j = i + 1; j < count; j++) + if (pixels[i] == pixels[j]) + return False; + defs = (XColor *) malloc (count * sizeof (XColor)); + if (!defs) + return False; + for (i = 0; i < count; i++) + defs[i].pixel = pixels[i]; + XQueryColors (dpy, cmap, defs, count); + ret = XmuDistinguishableColors (defs, count); + free ((char *) defs); + return ret; +} -- cgit v1.2.3