/* Copyright (C) 1994, 1997, 1999 artofcode LLC. 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. 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. */ /*$Id: zhsb.c,v 1.2.6.1.2.1 2003/01/17 00:49:06 giles Exp $ */ /* HSB color operators */ #include "ghost.h" #include "oper.h" #include "igstate.h" #include "store.h" #include "gshsb.h" /* - currenthsbcolor */ private int zcurrenthsbcolor(i_ctx_t *i_ctx_p) { os_ptr op = osp; float par[3]; gs_currenthsbcolor(igs, par); push(3); make_floats(op - 2, par, 3); return 0; } /* sethsbcolor - */ private int zsethsbcolor(i_ctx_t *i_ctx_p) { os_ptr op = osp; double par[3]; int code; if ((code = num_params(op, 3, par)) < 0 || (code = gs_sethsbcolor(igs, par[0], par[1], par[2])) < 0 ) return code; make_null(&istate->colorspace.array); pop(3); return 0; } /* ------ Initialization procedure ------ */ const op_def zhsb_op_defs[] = { {"0currenthsbcolor", zcurrenthsbcolor}, {"3sethsbcolor", zsethsbcolor}, op_def_end(0) };