/* <<< Start of information >>>                                             */
/* This file is part of the xwatch package.                                 */
/* Copyright (C) 1995 Karel Kubat.  All rights reserved.                    */
/*                                                                          */
/* This program is free software; you can redistribute it and/or modify it  */
/* under the terms of the GNU General Public License as published by the    */
/* Free Software Foundation; either version 2 of the License, or (at your   */
/* option) any later version.                                               */
/*                                                                          */
/* You may link this software with XForms (Copyright (C) by T.C. Zhao and   */
/* Mark Overmars) and distribute the resulting binary, under the            */
/* restrictions in clause 3 of the GPL, even though the resulting binary is */
/* not, as a whole, covered by the GPL. (You still need a separate license  */
/* to do so from the owner(s) of the copyright for XForms, however).  If a  */
/* derivative no longer requires XForms, you may use the unsupplemented GPL */
/* as its license by deleting this paragraph and therefore removing this    */
/* exemption for XForms.                                                    */
/*                                                                          */
/* This program is distributed in the hope that it will be useful,          */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of           */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            */
/* GNU General Public License for more details.                             */
/*                                                                          */
/* You should have received a copy of the GNU General Public License        */
/* along with this program; if not, write to the Free Software              */
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA */
/* <<< End of information >>>                                               */

#include "xwatch.h"

int getcolorindex (int red, int green, int blue)
{
    register int
	i;
    int
	r, g, b;
    static int
	lastdefined = FL_FREE_COL1 - 1;
    
    /* see if color table already has the r/g/b */
    for (i = 0; i <= lastdefined; i++)
    {
	fl_getmcolor (i, &r, &g, &b);
	if (red == r && g == green && b == blue)
	    return (i);
    }

    /* now reassign it */
    lastdefined++;
    if (lastdefined > FL_FREE_COL16)
    {
	warning ("Failure to create color %d/%d/%d", red, green, blue);
	return (FL_BLACK);
    }
    fl_mapcolor (lastdefined, red, green, blue);
    
    return (lastdefined);
}
