Home | History | Annotate | Download | only in dist

Lines Matching refs:di

250 ddText(Display *dpy, const DoodadInfo *di)
254 if (di == NULL)
259 if (di->section)
262 XkbAtomText(dpy, di->name, XkbMessage),
263 scText(dpy, di->section));
266 return XkbAtomText(dpy, di->name, XkbMessage);
416 FindDoodadByType(DoodadInfo * di, unsigned type)
418 while (di)
420 if (di->type == type)
421 return di;
422 di = (DoodadInfo *) di->defs.next;
428 FindDoodadByName(DoodadInfo * di, Atom name)
430 while (di)
432 if (di->name == name)
433 return di;
434 di = (DoodadInfo *) di->defs.next;
440 InitDoodadInfo(DoodadInfo * di, unsigned type, SectionInfo * si,
452 *di = *dflt;
453 di->defs.next = NULL;
457 bzero(di, sizeof(DoodadInfo));
458 di->defs.fileID = info->fileID;
459 di->type = type;
461 di->section = si;
464 di->priority = si->nextDoodadPriority++;
472 di->priority = info->nextPriority++;
480 ClearDoodadInfo(DoodadInfo * di)
484 defs = di->defs;
485 bzero(di, sizeof(DoodadInfo));
486 di->defs = defs;
487 di->defs.defined = 0;
503 FreeDoodads(DoodadInfo * di, SectionInfo * si, GeometryInfo * info)
510 if (si->doodads == di)
515 if (si->dfltDoodads == di)
518 if (info->doodads == di)
523 if (info->dfltDoodads == di)
525 for (tmp = di; tmp != NULL; tmp = next)
880 DoodadInfo *di;
882 di = calloc(1, sizeof(DoodadInfo));
883 if (!di)
889 (CommonInfo *) di);
895 (CommonInfo *) di);
897 return di;
903 DoodadInfo *di;
905 di = calloc(1, sizeof(DoodadInfo));
906 if (di)
911 (CommonInfo *) di);
918 (CommonInfo *) di);
922 return di;
1149 DoodadInfo *di;
1150 for (di = new->doodads; di; di = (DoodadInfo *) di->defs.next)
1152 di->section = new;
1306 DoodadInfo *di;
1308 for (di = from->doodads; di; di = (DoodadInfo *) di->defs.next)
1310 if (!AddDoodad(NULL, into, di))
1434 SetShapeDoodadField(DoodadInfo *di, const char *field, const ExprDef *arrayNdx,
1441 (di->type == XkbSolidDoodad ? "solid doodad" : "outline doodad");
1448 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1453 return ReportBadType(typeName, field, ddText(info->dpy, di),
1456 di->defs.defined |= _GD_Corner;
1457 di->corner = tmp.ival;
1465 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1470 return ReportBadType(typeName, field, ddText(info->dpy, di),
1473 di->defs.defined |= _GD_Angle;
1474 di->angle = tmp.ival;
1482 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1487 return ReportBadType(typeName, field, ddText(info->dpy, di),
1490 di->shape = XkbInternAtom(info->dpy, tmp.str, False);
1491 di->defs.defined |= _GD_Shape;
1494 return ReportBadField(typeName, field, ddText(info->dpy, di));
1502 SetTextDoodadField(DoodadInfo *di, const char *field, const ExprDef *arrayNdx,
1521 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1526 return ReportBadType(typeName, field, ddText(info->dpy, di),
1529 di->defs.defined |= _GD_Angle;
1530 di->angle = tmp.ival;
1536 pField.uval = &di->width;
1542 pField.uval = &di->height;
1548 pField.str = &di->text;
1554 pField.str = &di->font;
1561 pField.str = &di->fontSlant;
1568 pField.str = &di->fontWeight;
1575 pField.str = &di->fontSetWidth;
1582 pField.str = &di->fontVariant;
1589 pField.str = &di->fontEncoding;
1596 pField.str = &di->fontSpec;
1602 pField.uval = &di->fontSize;
1607 return ReportBadField(typeName, field, ddText(info->dpy, di));
1612 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1619 return ReportBadType(typeName, field, ddText(info->dpy, di),
1622 di->defs.defined |= def;
1630 return ReportBadType(typeName, field, ddText(info->dpy, di),
1637 ReportBadType(typeName, field, ddText(info->dpy, di),
1640 di->defs.defined |= def;
1650 SetIndicatorDoodadField(DoodadInfo * di, const char *field,
1664 ddText(info->dpy, di));
1670 ddText(info->dpy, di), "string");
1674 di->defs.defined |= _GD_Color;
1675 di->color = XkbInternAtom(NULL, tmp.str, False);
1679 di->defs.defined |= _GD_OffColor;
1680 di->offColor = XkbInternAtom(NULL, tmp.str, False);
1684 di->defs.defined |= _GD_Shape;
1685 di->shape = XkbInternAtom(info->dpy, tmp.str, False);
1689 return ReportBadField("indicator doodad", field, ddText(info->dpy, di));
1693 SetLogoDoodadField(DoodadInfo *di, const char *field, const ExprDef *arrayNdx,
1705 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1710 return ReportBadType(typeName, field, ddText(info->dpy, di),
1713 di->defs.defined |= _GD_Corner;
1714 di->corner = tmp.ival;
1722 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1727 return ReportBadType(typeName, field, ddText(info->dpy, di),
1730 di->defs.defined |= _GD_Angle;
1731 di->angle = tmp.ival;
1739 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1744 return ReportBadType(typeName, field, ddText(info->dpy, di),
1747 di->shape = XkbInternAtom(info->dpy, tmp.str, False);
1748 di->defs.defined |= _GD_Shape;
1757 return ReportNotArray(typeName, field, ddText(info->dpy, di));
1762 return ReportBadType(typeName, field, ddText(info->dpy, di),
1765 di->logoName = uStringDup(tmp.str);
1768 return ReportBadField(typeName, field, ddText(info->dpy, di));
1772 SetDoodadField(DoodadInfo *di, const char *field,
1783 return ReportNotArray("doodad", field, ddText(info->dpy, di));
1788 return ReportBadType("doodad", field, ddText(info->dpy, di),
1797 ddText(info->dpy, di));
1800 di->defs.defined |= _GD_Priority;
1801 di->priority = tmp.ival;
1809 return ReportNotArray("doodad", field, ddText(info->dpy, di));
1814 return ReportBadType("doodad", field, ddText(info->dpy, di),
1817 di->defs.defined |= _GD_Left;
1818 di->left = tmp.ival;
1826 return ReportNotArray("doodad", field, ddText(info->dpy, di));
1831 return ReportBadType("doodad", field, ddText(info->dpy, di),
1834 di->defs.defined |= _GD_Top;
1835 di->top = tmp.ival;
1843 return ReportNotArray("doodad", field, ddText(info->dpy, di));
1848 return ReportBadType("doodad", field, ddText(info->dpy, di),
1851 di->defs.defined |= _GD_Color;
1852 di->color = XkbInternAtom(NULL, tmp.str, False);
1855 switch (di->type)
1859 return SetShapeDoodadField(di, field, arrayNdx, value, si, info);
1861 return SetTextDoodadField(di, field, arrayNdx, value, si, info);
1863 return SetIndicatorDoodadField(di, field, arrayNdx, value, si, info);
1865 return SetLogoDoodadField(di, field, arrayNdx, value, si, info);
1868 (unsigned int) di->type);
1869 ACTION("Definition of %s in %s ignored\n", field, ddText(info->dpy, di));
2127 DoodadInfo *di;
2157 && ((di = FindDfltDoodadByTypeName(elem.str, NULL, info)) != NULL))
2159 return SetDoodadField(di, field.str, ndx, stmt->value, NULL, info);
2716 DoodadInfo *di;
2737 else if ((di =
2740 if (!SetDoodadField(di, field.str, ndx, var->value, si, info))
2947 VerifyDoodadInfo(DoodadInfo * di, GeometryInfo * info)
2949 if ((di->defs.defined & (_GD_Top | _GD_Left)) != (_GD_Top | _GD_Left))
2954 ddText(info->dpy, di));
2959 if ((di->defs.defined & _GD_Priority) == 0)
2963 switch (di->type)
2967 if ((di->defs.defined & _GD_Shape) == 0)
2970 (di->type == XkbOutlineDoodad ? "outline" : "filled"),
2971 ddText(info->dpy, di));
2978 si = FindShape(info, di->shape,
2979 (di->type ==
2981 "solid doodad"), ddText(info->dpy, di));
2983 di->shape = si->name;
2986 ERROR("No legal shape for %s\n", ddText(info->dpy, di));
2991 if ((di->defs.defined & _GD_Color) == 0)
2995 WARN("No color for doodad %s\n", ddText(info->dpy, di));
2998 di->color = XkbInternAtom(NULL, "black", False);
3002 if ((di->defs.defined & _GD_Text) == 0)
3005 ddText(info->dpy, di));
3009 if ((di->defs.defined & _GD_Angle) == 0)
3010 di->angle = 0;
3011 if ((di->defs.defined & _GD_Color) == 0)
3016 ddText(info->dpy, di));
3019 di->color = XkbInternAtom(NULL, "black", False);
3021 if ((di->defs.defined & _GD_FontSpec) != 0)
3023 if ((di->defs.defined & _GD_FontParts) == 0)
3029 ddText(info->dpy, di));
3032 di->defs.defined &= ~_GD_FontSpec;
3033 di->fontSpec = None;
3035 if ((di->defs.defined & _GD_Font) == 0)
3040 ddText(info->dpy, di));
3043 di->font = XkbInternAtom(NULL, DFLT_FONT, False);
3045 if ((di->defs.defined & _GD_FontSlant) == 0)
3050 ddText(info->dpy, di));
3053 di->fontSlant = XkbInternAtom(NULL, DFLT_SLANT, False);
3055 if ((di->defs.defined & _GD_FontWeight) == 0)
3060 ddText(info->dpy, di));
3063 di->fontWeight = XkbInternAtom(NULL, DFLT_WEIGHT, False);
3065 if ((di->defs.defined & _GD_FontSetWidth) == 0)
3070 ddText(info->dpy, di));
3073 di->fontSetWidth = XkbInternAtom(NULL, DFLT_SET_WIDTH, False);
3075 if ((di->defs.defined & _GD_FontVariant) == 0)
3080 ddText(info->dpy, di));
3083 di->fontVariant = XkbInternAtom(NULL, DFLT_VARIANT, False);
3085 if ((di->defs.defined & _GD_FontEncoding) == 0)
3090 ddText(info->dpy, di));
3093 di->fontEncoding = XkbInternAtom(NULL, DFLT_ENCODING, False);
3095 if ((di->defs.defined & _GD_FontSize) == 0)
3100 ddText(info->dpy, di));
3104 di->fontSize = DFLT_SIZE;
3106 if ((di->defs.defined & _GD_Height) == 0)
3110 size = (di->fontSize * 120) / 100;
3112 for (nLines = 1, tmp = XkbAtomGetString(NULL, di->text); *tmp;
3122 ddText(info->dpy, di));
3126 di->height = size;
3128 if ((di->defs.defined & _GD_Width) == 0)
3133 for (str = XkbAtomGetString(NULL, di->text); *str; str++)
3146 width *= (di->height * 2) / 3;
3149 WARN("No width for text doodad %s\n", ddText(info->dpy, di));
3153 di->width = width;
3157 if ((di->defs.defined & _GD_Shape) == 0)
3160 ddText(info->dpy, di));
3167 si = FindShape(info, di->shape, "indicator doodad",
3168 ddText(info->dpy, di));
3170 di->shape = si->name;
3174 ddText(info->dpy, di));
3179 if ((di->defs.defined & _GD_Color) == 0)
3184 ddText(info->dpy, di));
3187 di->color = XkbInternAtom(NULL, "green", False);
3189 if ((di->defs.defined & _GD_OffColor) == 0)
3194 ddText(info->dpy, di));
3197 di->offColor = XkbInternAtom(NULL, "black", False);
3201 if (di->logoName == NULL)
3204 ddText(info->dpy, di));
3208 if ((di->defs.defined & _GD_Shape) == 0)
3211 ddText(info->dpy, di));
3218 si = FindShape(info, di->shape, "logo doodad",
3219 ddText(info->dpy, di));
3221 di->shape = si->name;
3224 ERROR("No legal shape for %s\n", ddText(info->dpy, di));
3229 if ((di->defs.defined & _GD_Color) == 0)
3233 WARN("No color for doodad %s\n", ddText(info->dpy, di));
3236 di->color = XkbInternAtom(NULL, "black", False);
3241 (unsigned int) di->type);
3294 XkbSectionPtr section, DoodadInfo * di, GeometryInfo * info)
3302 if (!VerifyDoodadInfo(di, info))
3304 name = XkbInternAtom(NULL, XkbAtomGetString(NULL, di->name), False);
3310 ACTION("Cannot copy doodad %s\n", ddText(info->dpy, di));
3313 doodad->any.type = di->type;
3314 doodad->any.priority = di->priority;
3315 doodad->any.top = di->top;
3316 doodad->any.left = di->left;
3317 switch (di->type)
3321 si = FindShape(info, di->shape, NULL, NULL);
3324 doodad->shape.angle = di->angle;
3326 XkbAddGeomColor(geom, XkbAtomGetString(NULL, di->color),
3333 doodad->text.angle = di->angle;
3334 doodad->text.width = di->width;
3335 doodad->text.height = di->height;
3336 if (di->fontSpec == None)
3337 doodad->text.font = FontFromParts(di->font, di->fontWeight,
3338 di->fontSlant,
3339 di->fontSetWidth,
3340 di->fontVariant, di->fontSize,
3341 di->fontEncoding);
3343 doodad->text.font = XkbAtomGetString(NULL, di->fontSpec);
3344 doodad->text.text = XkbAtomGetString(NULL, di->text);
3346 XkbAddGeomColor(geom, XkbAtomGetString(NULL, di->color),
3351 si = FindShape(info, di->shape, NULL, NULL);
3356 XkbAddGeomColor(geom, XkbAtomGetString(NULL, di->color),
3361 XkbAddGeomColor(geom, XkbAtomGetString(NULL, di->offColor),
3366 si = FindShape(info, di->shape, NULL, NULL);
3369 doodad->logo.angle = di->angle;
3371 XkbAddGeomColor(geom, XkbAtomGetString(NULL, di->color),
3376 doodad->logo.logo_name = di->logoName;
3377 di->logoName = NULL;
3612 for (DoodadInfo *di = si->doodads; di != NULL;
3613 di = (DoodadInfo *) di->defs.next)
3615 CopyDoodadDef(geom, section, di, info);
3731 for (DoodadInfo *di = info.doodads; di != NULL;
3732 di = (DoodadInfo *) di->defs.next)
3734 if (!CopyDoodadDef(geom, NULL, di, &info))