#include <X11/Intrinsic.h>#include <X11/Xmu/Converters.h>#include <X11/Xmu/CharSet.h>Include dependency graph for StrToGrav.c:

Go to the source code of this file.
Data Structures | |
| struct | _namepair |
Defines | |
| #define | done(address, type) { (*toVal).size = sizeof(type); (*toVal).addr = (XPointer) address; } |
Functions | |
| void | XmuCvtStringToGravity (XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal) |
| Boolean | XmuCvtGravityToString (Display *dpy, XrmValue *args, Cardinal *num_args, XrmValue *fromVal, XrmValue *toVal, XtPointer *data) |
Variables | |
| static struct _namepair | names [] |
| #define done | ( | address, | |||
| type | ) | { (*toVal).size = sizeof(type); (*toVal).addr = (XPointer) address; } |
Definition at line 34 of file StrToGrav.c.
| Boolean XmuCvtGravityToString | ( | Display * | dpy, | |
| XrmValue * | args, | |||
| Cardinal * | num_args, | |||
| XrmValue * | fromVal, | |||
| XrmValue * | toVal, | |||
| XtPointer * | data | |||
| ) |
Definition at line 106 of file StrToGrav.c.
References buffer, _namepair::gravity, _namepair::name, names, NULL, and size.
00108 { 00109 static char *buffer; 00110 Cardinal size; 00111 struct _namepair *np; 00112 XtGravity gravity; 00113 00114 gravity = *(XtGravity *)fromVal->addr; 00115 buffer = NULL; 00116 for (np = names; np->name; np++) 00117 if (np->gravity == gravity) 00118 { 00119 buffer = np->name; 00120 break; 00121 } 00122 00123 if (!buffer) 00124 { 00125 XtAppWarning(XtDisplayToApplicationContext(dpy), 00126 "Cannot convert Gravity to String"); 00127 toVal->addr = NULL; 00128 toVal->size = 0; 00129 00130 return (False); 00131 } 00132 00133 size = strlen(buffer) + 1; 00134 if (toVal->addr != NULL) 00135 { 00136 if (toVal->size <= size) 00137 { 00138 toVal->size = size; 00139 return (False); 00140 } 00141 strcpy((char *)toVal->addr, buffer); 00142 } 00143 else 00144 toVal->addr = (XPointer)buffer; 00145 toVal->size = size; 00146 00147 return (True); 00148 }
| void XmuCvtStringToGravity | ( | XrmValuePtr | args, | |
| Cardinal * | num_args, | |||
| XrmValuePtr | fromVal, | |||
| XrmValuePtr | toVal | |||
| ) |
Definition at line 69 of file StrToGrav.c.
References done, _namepair::gravity, haveQuarks, _namepair::name, name, names, NULL, _namepair::quark, and XmuNCopyISOLatin1Lowered().
00071 { 00072 static Boolean haveQuarks = False; 00073 char name[10]; 00074 XrmQuark q; 00075 struct _namepair *np; 00076 00077 if (*num_args != 0) 00078 XtWarningMsg("wrongParameters","cvtStringToGravity","XtToolkitError", 00079 "String to Gravity conversion needs no extra arguments", 00080 (String *)NULL, (Cardinal *)NULL); 00081 00082 if (!haveQuarks) 00083 { 00084 for (np = names; np->name; np++) 00085 np->quark = XrmPermStringToQuark(np->name); 00086 haveQuarks = True; 00087 } 00088 00089 XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name)); 00090 q = XrmStringToQuark(name); 00091 00092 for (np = names; np->name; np++) 00093 { 00094 if (np->quark == q) 00095 { 00096 done(&np->gravity, XtGravity); 00097 return; 00098 } 00099 } 00100 00101 XtStringConversionWarning((char *)fromVal->addr, XtRGravity); 00102 }
Here is the call graph for this function:

Referenced by _XEditResCheckMessages(), addinter(), XmuCvtGravityToString(), and XmuCvtStringToGravity().
1.5.1