Lines Matching defs:arcs
101 * Self intersecting arcs (i.e. those spanning 360 degrees)
102 * never join with other arcs, and are drawn without caps
107 * double dash arcs are drawn in two parts, first the
205 * This is an entire sequence of arcs, computed and categorized according
211 miArcDataPtr arcs;
247 static void miFreeArcs(miPolyArcPtr arcs, GCPtr pGC);
941 /* find bounding box around arcs */
1040 arcData = &polyArcs[iphase].arcs[i];
1052 if (polyArcs[iphase].arcs[i].render) {
1054 /* don't cap self-joining arcs */
1055 if (polyArcs[iphase].arcs[i].selfJoin &&
1056 cap[iphase] < polyArcs[iphase].arcs[i].cap)
1058 while (cap[iphase] < polyArcs[iphase].arcs[i].cap) {
1064 arcData0 = &polyArcs[iphase].arcs[arcIndex];
1072 while (join[iphase] < polyArcs[iphase].arcs[i].join) {
1085 arcData0 = &polyArcs[phase0].arcs[arcIndex0];
1086 arcData1 = &polyArcs[phase1].arcs[arcIndex1];
1418 * don't miter arcs with less than 11 degrees between them
1805 miFreeArcs(miPolyArcPtr arcs, GCPtr pGC)
1811 if (arcs[iphase].narcs > 0)
1812 free(arcs[iphase].arcs);
1813 if (arcs[iphase].njoins > 0)
1814 free(arcs[iphase].joins);
1815 if (arcs[iphase].ncaps > 0)
1816 free(arcs[iphase].caps);
1818 free(arcs);
1874 miPolyArcPtr arcs;
1901 arcs = xallocarray(isDoubleDash ? 2 : 1, sizeof(*arcs));
1902 if (!arcs) {
1926 arcs[iphase].njoins = 0;
1927 arcs[iphase].joins = 0;
1930 arcs[iphase].ncaps = 0;
1931 arcs[iphase].caps = 0;
1934 arcs[iphase].narcs = 0;
1935 arcs[iphase].arcs = 0;
1970 addCap(&arcs[iphase].caps, &arcs[iphase].ncaps,
1988 ** deal with dashed arcs. Use special rules for certain 0 area arcs.
1989 ** Presumably, the other 0 area arcs still aren't done right.
2040 * add dashed arcs to each bucket
2049 /* avoid troubles with huge arcs and small dashes */
2095 arc = addArc(&arcs[iphase].arcs, &arcs[iphase].narcs,
2104 addCap(&arcs[iphase].caps,
2105 &arcs[iphase].ncaps,
2107 arc - arcs[iphase].arcs);
2111 addCap(&arcs[iphase].caps,
2112 &arcs[iphase].ncaps,
2114 arc - arcs[iphase].arcs);
2117 arc->cap = arcs[iphase].ncaps;
2118 arc->join = arcs[iphase].njoins;
2141 arc = addArc(&arcs[prevphase].arcs, &arcs[prevphase].narcs,
2145 arc->join = arcs[prevphase].njoins;
2146 arc->cap = arcs[prevphase].ncaps;
2151 arc = addArc(&arcs[iphase].arcs, &arcs[iphase].narcs,
2155 arc->join = arcs[iphase].njoins;
2156 arc->cap = arcs[iphase].ncaps;
2161 k = arcs[prevphase].narcs - 1;
2163 nextk = arcs[iphase].narcs;
2192 * arcs are computed second, the results
2199 addJoin(&arcs[joinphase].joins,
2200 &arcs[joinphase].njoins,
2203 arc->join = arcs[prevphase].njoins;
2212 addCap(&arcs[prevphase].caps, &arcs[prevphase].ncaps,
2214 arc->cap = arcs[prevphase].ncaps;
2221 nextk = arcs[iphase].narcs;
2239 addCap(&arcs[iphase].caps, &arcs[iphase].ncaps,
2250 if (arcs[iphase].narcs > 0) {
2251 arcs[iphase].arcs[arcs[iphase].narcs - 1].render = 1;
2252 arcs[iphase].arcs[arcs[iphase].narcs - 1].join =
2253 arcs[iphase].njoins;
2254 arcs[iphase].arcs[arcs[iphase].narcs - 1].cap = arcs[iphase].ncaps;
2257 return arcs;
2259 miFreeArcs(arcs, pGC);
2420 * scan convert wide arcs.
2424 * draw zero width/height arcs
3004 * create whole arcs out of pieces. This code is
3255 * only deal with arcs completely contained in the