From bc19e25d710f4553c27f039320dcd8812630ca21 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Mon, 14 Apr 2003 22:42:44 +0000 Subject: [PATCH] Support for colour selection in the Mac OS. [originally from svn r3119] --- mac/macctrls.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/mac/macctrls.c b/mac/macctrls.c index a654d632..7f164de2 100644 --- a/mac/macctrls.c +++ b/mac/macctrls.c @@ -1,4 +1,4 @@ -/* $Id: macctrls.c,v 1.34 2003/04/14 21:34:46 ben Exp $ */ +/* $Id: macctrls.c,v 1.35 2003/04/14 22:42:44 ben Exp $ */ /* * Copyright (c) 2003 Ben Harris * All rights reserved. @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -1946,14 +1947,31 @@ void printer_finish_enum(printer_enum *pe) void dlg_coloursel_start(union control *ctrl, void *dlg, int r, int g, int b) { + struct macctrls *mcs = dlg; + union macctrl *mc = findbyctrl(mcs, ctrl); + Point where = {-1, -1}; /* Screen with greatest colour depth */ + RGBColor incolour; + incolour.red = r * 0x0101; + incolour.green = g * 0x0101; + incolour.blue = b * 0x0101; + mcs->gotcolour = GetColor(where, "\pModify Colour:", &incolour, + &mcs->thecolour); + ctrlevent(mcs, mc, EVENT_CALLBACK); } int dlg_coloursel_results(union control *ctrl, void *dlg, int *r, int *g, int *b) { + struct macctrls *mcs = dlg; - return 0; + if (mcs->gotcolour) { + *r = mcs->thecolour.red >> 8; + *g = mcs->thecolour.green >> 8; + *b = mcs->thecolour.blue >> 8; + return 1; + } else + return 0; } /*