2
* Motif Tools Library, Version 3.1
5
* Written by David Flanagan.
6
* Copyright (c) 1992-2001 by David Flanagan.
7
* All Rights Reserved. See the file COPYRIGHT for details.
8
* This is open source software. See the file LICENSE for details.
9
* There is no warranty for this software. See NO_WARRANTY for details.
12
* Revision 1.1.1.1 2001/07/18 11:06:02 root
15
* Revision 1.2 2001/06/12 16:25:28 andre
16
* *** empty log message ***
22
#include <Xmt/AppResP.h>
23
#include <Xmt/ConvertersP.h>
24
#include <X11/IntrinsicP.h>
27
* A replacement for XtCvtStringToPixel that uses XmtAllocColor()
30
#if NeedFunctionPrototypes
31
Boolean XmtConvertStringToPixel(Display *dpy,
32
XrmValue *args, Cardinal *num_args,
33
XrmValue *from, XrmValue *to,
34
XtPointer *closure_return)
36
Boolean XmtConvertStringToPixel(dpy, args, num_args, from, to, closure_return)
42
XtPointer *closure_return;
45
String str = (String)from->addr;
46
Widget rootshell = *((Widget *)args[0].addr);
47
Colormap colormap = *((Colormap *)args[1].addr);
48
Visual *visual = *((Visual **)args[2].addr);
52
status = XmtAllocColor(rootshell, colormap, visual, NULL, str, &pixel);
57
XtDisplayStringConversionWarning(dpy, str, XtRPixel);
59
XmtWarningMsg("XmtConvertStringToPixel", "parse",
60
"malformed or unrecognized color name '%s'.",
63
XmtWarningMsg("XmtConvertStringToPixel", "alloc",
64
"can't allocate color '%s'; colormap full.",
71
#if NeedFunctionPrototypes
72
static void FreeConvertedPixel(XtAppContext app, XrmValue *to,
74
XrmValue *args, Cardinal *num_args)
76
static void FreeConvertedPixel(app, to, closure, args, num_args)
84
Widget rootshell = *((Widget *)args[0].addr);
85
Colormap colormap = *((Colormap *)args[1].addr);
86
Pixel pixel = *((Pixel *)to->addr);
88
XmtFreeColor(rootshell, colormap, pixel);
91
static XtConvertArgRec pixel_args[] = {
92
{XtProcedureArg, (XtPointer)_XmtFetchRootWidget, 0},
94
(XtPointer)XtOffsetOf(WidgetRec, core.colormap),
96
{XtProcedureArg, (XtPointer)_XmtFetchVisual, 0},
99
#if NeedFunctionPrototypes
100
void XmtRegisterPixelConverter(void)
102
void XmtRegisterPixelConverter()
105
static Boolean registered = False;
108
XtSetTypeConverter(XtRString, XtRPixel,
109
XmtConvertStringToPixel,
110
pixel_args, XtNumber(pixel_args),
111
XtCacheByDisplay | XtCacheRefCount,