Home | History | Annotate | Download | only in dist

Lines Matching refs:si

440 InitDoodadInfo(DoodadInfo * di, unsigned type, SectionInfo * si,
446 if (si && si->dfltDoodads)
447 dflt = FindDoodadByType(si->dfltDoodads, type);
461 di->section = si;
462 if (si != NULL)
464 di->priority = si->nextDoodadPriority++;
466 if (si->nextDoodadPriority > XkbGeomMaxPriority)
467 si->nextDoodadPriority = XkbGeomMaxPriority;
503 FreeDoodads(DoodadInfo * di, SectionInfo * si, GeometryInfo * info)
508 if (si)
510 if (si->doodads == di)
512 si->doodads = NULL;
513 si->nDoodads = 0;
515 if (si->dfltDoodads == di)
516 si->dfltDoodads = NULL;
535 InitSectionInfo(SectionInfo * si, GeometryInfo * info)
537 if (si != &info->dfltSection)
539 *si = info->dfltSection;
540 si->defs.defined &= ~_GS_Default;
541 si->name = XkbInternAtom(info->dpy, "unknown", False);
542 si->priority = info->nextPriority++;
548 bzero(si, sizeof(SectionInfo));
549 si->defs.fileID = info->fileID;
550 si->defs.merge = info->merge;
551 si->defs.next = NULL;
552 si->geometry = info;
553 si->name = XkbInternAtom(info->dpy, "default", False);
554 InitRowInfo(&si->dfltRow, si, info);
582 ClearSectionInfo(SectionInfo * si, GeometryInfo * info)
585 si->defs.defined &= ~_GS_Default;
586 si->name = XkbInternAtom(info->dpy, "default", False);
587 si->top = si->left = 0;
588 si->width = si->height = 0;
589 si->angle = 0;
590 if (si->rows)
592 FreeRows(si->rows, si, info);
593 si->rows = NULL;
595 ClearRowInfo(&si->dfltRow, info);
596 if (si->doodads)
598 FreeDoodads(si->doodads, si, info);
599 si->doodads = NULL;
601 si->dfltRow.defs.defined = _GR_Default;
606 FreeSections(SectionInfo * si, GeometryInfo * info)
611 if (si == info->sections)
616 for (tmp = si; tmp != NULL; tmp = next)
626 FreeShapes(ShapeInfo * si, GeometryInfo * info)
631 if (si == info->shapes)
636 for (tmp = si; tmp != NULL; tmp = next)
777 ShapeInfo *si;
779 si = calloc(1, sizeof(ShapeInfo));
780 if (si)
783 (CommonInfo *) si);
785 si->dfltCornerRadius = info->dfltCornerRadius;
787 return si;
878 NextDfltDoodad(SectionInfo * si, GeometryInfo * info)
885 if (si)
887 si->dfltDoodads =
888 (DoodadInfo *) AddCommonInfo(&si->dfltDoodads->defs,
901 NextDoodad(SectionInfo * si, GeometryInfo * info)
908 if (si)
910 si->doodads = (DoodadInfo *) AddCommonInfo(&si->doodads->defs,
912 si->nDoodads++;
926 AddDoodad(SectionInfo * si, GeometryInfo * info, DoodadInfo * new)
930 old = FindDoodadByName((si ? si->doodads : info->doodads), new->name);
944 old->section = si;
957 if ((new = NextDoodad(si, info)) == NULL)
960 new->section = si;
966 FindDfltDoodadByTypeName(const char *name, SectionInfo *si, GeometryInfo *info)
983 if ((si) && (si->dfltDoodads))
984 dflt = FindDoodadByType(si->dfltDoodads, type);
991 dflt = NextDfltDoodad(si, info);
1004 AddOverlay(SectionInfo * si, GeometryInfo * info, OverlayInfo * new)
1008 for (old = si->overlays; old != NULL;
1025 XkbAtomText(info->dpy, si->name, XkbMessage));
1040 XkbAtomText(info->dpy, si->name, XkbMessage));
1055 XkbAtomText(info->dpy, si->name, XkbMessage));
1062 si->overlays = (OverlayInfo *) AddCommonInfo(&si->overlays->defs,
1064 si->nOverlays++;
1073 SectionInfo *si;
1075 si = malloc(sizeof(SectionInfo));
1076 if (si)
1078 *si = info->dfltSection;
1079 si->defs.defined &= ~_GS_Default;
1080 si->defs.next = NULL;
1081 si->nRows = 0;
1082 si->rows = NULL;
1085 (CommonInfo *) si);
1088 return si;
1161 NextRow(SectionInfo * si)
1168 *row = si->dfltRow;
1173 si->rows =
1174 (RowInfo *) AddCommonInfo(&si->rows->defs, (CommonInfo *) row);
1175 row->index = si->nRows++;
1181 AddRow(SectionInfo * si, RowInfo * new)
1186 if ((new = NextRow(si)) == NULL)
1286 ShapeInfo *si;
1288 for (si = from->shapes; si; si = (ShapeInfo *) si->defs.next)
1290 if (!AddShape(into, si))
1296 SectionInfo *si;
1298 for (si = from->sections; si; si = (SectionInfo *) si->defs.next)
1300 if (!AddSection(into, si))
1403 SetShapeField(ShapeInfo *si, const char *field,
1415 return ReportNotArray("key shape", field, shText(info->dpy, si));
1421 shText(info->dpy, si), "number");
1423 if (si)
1424 si->dfltCornerRadius = tmp.ival;
1430 return ReportBadField("key shape", field, shText(info->dpy, si));
1435 const ExprDef *value, SectionInfo *si, GeometryInfo *info)
1503 const ExprDef *value, SectionInfo *si, GeometryInfo *info)
1652 SectionInfo *si, GeometryInfo *info)
1694 const ExprDef *value, SectionInfo *si, GeometryInfo *info)
1774 SectionInfo *si, GeometryInfo *info)
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);
1874 SetSectionField(SectionInfo *si, const char *field,
1890 scText(info->dpy, si));
1896 scText(info->dpy, si), "integer");
1905 scText(info->dpy, si));
1908 si->priority = tmp.ival;
1909 si->defs.defined |= _GS_Priority;
1914 pField = &si->top;
1919 pField = &si->left;
1924 pField = &si->width;
1929 pField = &si->height;
1934 pField = &si->angle;
1941 scText(info->dpy, si));
1947 scText(info->dpy, si));
1952 ReportBadType("keyboard section", field, scText(info->dpy, si),
1956 si->defs.defined |= def;
2374 HandleShapeBody(ShapeDef * def, ShapeInfo * si, unsigned merge,
2384 WARN("Shape \"%s\" has no outlines\n", shText(info->dpy, si));
2388 si->nOutlines = def->nOutlines;
2389 si->outlines = calloc(def->nOutlines, sizeof(XkbOutlineRec));
2390 if (!si->outlines)
2393 shText(info->dpy, si));
2403 SetShapeField(si, XkbAtomGetString(NULL, ol->field), NULL,
2407 outline = &si->outlines[nOut++];
2409 outline->corner_radius = si->dfltCornerRadius;
2414 shText(info->dpy, si));
2432 if (si->approx == NULL)
2433 si->approx = outline;
2437 shText(info->dpy, si));
2443 if (si->primary == NULL)
2444 si->primary = outline;
2448 shText(info->dpy, si));
2455 shText(info->dpy, si));
2460 if (nOut != si->nOutlines)
2463 (unsigned int) si->nOutlines, nOut);
2464 si->nOutlines = nOut;
2473 ShapeInfo si;
2478 bzero(&si, sizeof(ShapeInfo));
2479 si.defs.merge = merge;
2480 si.name =
2482 si.dfltCornerRadius = info->dfltCornerRadius;
2483 if (!HandleShapeBody(def, &si, merge, info))
2485 if (!AddShape(info, &si))
2494 unsigned merge, SectionInfo * si, GeometryInfo * info)
2506 InitDoodadInfo(&new, def->type, si, info);
2519 else if (!SetDoodadField(&new, field.str, ndx, var->value, si, info))
2522 if (!AddDoodad(si, info, &new))
2532 unsigned merge, SectionInfo * si, GeometryInfo * info)
2540 si));
2558 scText(info->dpy, si));
2570 if (!AddOverlay(si, info, &ol))
2706 SectionInfo * si, unsigned merge, GeometryInfo * info)
2722 if (!SetSectionField(si, field.str, ndx, var->value, info))
2728 (&si->dfltRow, field.str, ndx, var->value, info))
2733 if (!SetKeyField(&si->dfltRow.dfltKey, field.str, ndx,
2738 FindDfltDoodadByTypeName(elem.str, si, info)) != NULL)
2740 if (!SetDoodadField(di, field.str, ndx, var->value, si, info))
2752 InitRowInfo(&row, si, info);
2755 if (!AddRow(si, &row))
2762 if (!HandleDoodadDef((DoodadDef *) rowDef, merge, si, info))
2767 if (!HandleOverlayDef((OverlayDef *) rowDef, merge, si, info))
2777 if (si->nRows != def->nRows)
2780 (unsigned int) si->nRows);
2782 scText(info->dpy, si));
2791 SectionInfo si;
2796 InitSectionInfo(&si, info);
2797 si.defs.merge = merge;
2805 si.name =
2807 if (!HandleSectionBody(def, &si, merge, info))
2809 if (!AddSection(info, &si))
2899 CopyShapeDef(Display * dpy, XkbGeometryPtr geom, ShapeInfo * si)
2906 si->index = geom->num_shapes;
2907 name = XkbInternAtom(dpy, XkbAtomGetString(NULL, si->name), False);
2908 shape = XkbAddGeomShape(geom, name, si->nOutlines);
2912 ACTION("Shape %s not compiled\n", shText(dpy, si));
2915 old_outline = si->outlines;
2916 for (int i = 0; i < si->nOutlines; i++, old_outline++)
2924 ACTION("Shape %s is incomplete\n", shText(dpy, si));
2932 if (si->approx)
2934 n = (si->approx - si->outlines);
2937 if (si->primary)
2939 n = (si->primary - si->outlines);
2977 ShapeInfo *si;
2978 si = FindShape(info, di->shape,
2982 if (si)
2983 di->shape = si->name;
3166 ShapeInfo *si;
3167 si = FindShape(info, di->shape, "indicator doodad",
3169 if (si)
3170 di->shape = si->name;
3217 ShapeInfo *si;
3218 si = FindShape(info, di->shape, "logo doodad",
3220 if (si)
3221 di->shape = si->name;
3300 ShapeInfo *si;
3321 si = FindShape(info, di->shape, NULL, NULL);
3322 if (!si)
3328 shape = &geom->shapes[si->index];
3351 si = FindShape(info, di->shape, NULL, NULL);
3352 if (!si)
3354 shape = &geom->shapes[si->index];
3366 si = FindShape(info, di->shape, NULL, NULL);
3367 if (!si)
3373 shape = &geom->shapes[si->index];
3537 CopySectionDef(XkbGeometryPtr geom, SectionInfo * si, GeometryInfo * info)
3542 name = XkbInternAtom(NULL, XkbAtomGetString(NULL, si->name), False);
3544 XkbAddGeomSection(geom, name, si->nRows, si->nDoodads, si->nOverlays);
3548 ACTION("Section %s not compiled\n", scText(info->dpy, si));
3551 section->top = si->top;
3552 section->left = si->left;
3553 section->width = si->width;
3554 section->height = si->height;
3555 section->angle = si->angle;
3556 section->priority = si->priority;
3557 for (RowInfo *ri = si->rows; ri != NULL; ri = (RowInfo *) ri->defs.next)
3563 ACTION("Section %s is incomplete\n", scText(info->dpy, si));
3577 scText(info->dpy, si));
3578 ACTION("Section %s ignored\n", scText(info->dpy, si));
3585 ACTION("Section %s is incomplete\n", scText(info->dpy, si));
3610 if (si->doodads != NULL)
3612 for (DoodadInfo *di = si->doodads; di != NULL;
3618 if (si->overlays != NULL)
3620 for (OverlayInfo *oi = si->overlays; oi != NULL;
3629 if ((si->defs.defined & _GS_Width) == 0)
3631 if ((si->defs.defined & _GS_Height) == 0)
3713 for (ShapeInfo *si = info.shapes; si != NULL;
3714 si = (ShapeInfo *) si->defs.next)
3716 if (!CopyShapeDef(xkb->dpy, geom, si))
3722 for (SectionInfo *si = info.sections; si != NULL;
3723 si = (SectionInfo *) si->defs.next)
3725 if (!CopySectionDef(geom, si, &info))