Lines Matching refs:section
299 XkbFreeGeomOverlays(XkbSectionPtr section, int first, int count, Bool freeAll)
302 §ion->num_overlays, §ion->sz_overlays,
303 (char **) §ion->overlays,
333 XkbFreeGeomRows(XkbSectionPtr section, int first, int count, Bool freeAll)
336 §ion->num_rows, §ion->sz_rows,
337 (char **) §ion->rows,
346 XkbSectionPtr section = (XkbSectionPtr) section_in;
348 if (section->rows != NULL)
349 XkbFreeGeomRows(section, 0, section->num_rows, True);
350 if (section->doodads != NULL) {
351 XkbFreeGeomDoodads(section->doodads, section->num_doodads, True);
352 section->doodads = NULL;
553 XkbAllocGeomOverlays(XkbSectionPtr section, int nOverlays)
555 return _XkbAllocOverlays(section, nOverlays);
577 XkbAllocGeomSectionDoodads(XkbSectionPtr section, int nDoodads)
579 return _XkbAllocDoodads(section, nDoodads);
589 XkbAllocGeomRows(XkbSectionPtr section, int nRows)
591 return _XkbAllocRows(section, nRows);
802 XkbAddGeomRow(XkbSectionPtr section, int sz_keys)
806 if ((!section) || (sz_keys < 0))
808 if ((section->num_rows >= section->sz_rows) &&
809 (_XkbAllocRows(section, 1) != Success))
811 row = §ion->rows[section->num_rows];
815 section->num_rows++;
827 XkbSectionPtr section;
831 for (i = 0, section = geom->sections; i < geom->num_sections;
832 i++, section++) {
833 if (section->name != name)
835 if (((sz_rows > 0) && (_XkbAllocRows(section, sz_rows) != Success)) ||
837 (_XkbAllocDoodads(section, sz_doodads) != Success)) ||
838 ((sz_over > 0) && (_XkbAllocOverlays(section, sz_over) != Success)))
840 return section;
845 section = &geom->sections[geom->num_sections];
846 if ((sz_rows > 0) && (_XkbAllocRows(section, sz_rows) != Success))
848 if ((sz_doodads > 0) && (_XkbAllocDoodads(section, sz_doodads) != Success)) {
849 if (section->rows) {
850 _XkbFree(section->rows);
851 section->rows = NULL;
852 section->sz_rows = section->num_rows = 0;
856 section->name = name;
858 return section;
862 XkbAddGeomDoodad(XkbGeometryPtr geom, XkbSectionPtr section, Atom name)
869 if ((section != NULL) && (section->num_doodads > 0)) {
870 old = section->doodads;
871 nDoodads = section->num_doodads;
881 if (section) {
882 if ((section->num_doodads >= geom->sz_doodads) &&
883 (_XkbAllocDoodads(section, 1) != Success)) {
886 doodad = §ion->doodads[section->num_doodads++];
907 XkbSectionPtr section;
913 section = overlay->section_under;
914 if (row->row_under >= section->num_rows)
916 row_under = §ion->rows[row->row_under];
968 XkbAddGeomOverlay(XkbSectionPtr section, Atom name, int sz_rows)
973 if ((!section) || (name == None) || (sz_rows == 0))
976 for (i = 0, overlay = section->overlays; i < section->num_overlays;
985 if ((section->num_overlays >= section->sz_overlays) &&
986 (_XkbAllocOverlays(section, 1) != Success))
988 overlay = §ion->overlays[section->num_overlays];
992 overlay->section_under = section;
993 section->num_overlays++;