• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/tcl-105/tcl/tcl/generic/

Lines Matching refs:cm

35 #define	CISERR()	VISERR(cm->v)
36 #define CERR(e) VERR(cm->v, (e))
46 struct colormap *cm)
54 cm->magic = CMMAGIC;
55 cm->v = v;
57 cm->ncds = NINLINECDS;
58 cm->cd = cm->cdspace;
59 cm->max = 0;
60 cm->free = 0;
62 cd = cm->cd; /* cm->cd[WHITE] */
72 for (t=&cm->tree[0], j=NBYTS-1 ; j>0 ; t=nextt, j--) {
83 t = &cm->tree[NBYTS-1];
97 struct colormap *cm)
102 cm->magic = 0;
104 cmtreefree(cm, cm->tree, 0);
106 for (i=1 ; i<=cm->max ; i++) { /* skip WHITE */
107 if (!UNUSEDCOLOR(&cm->cd[i])) {
108 cb = cm->cd[i].block;
114 if (cm->cd != cm->cdspace) {
115 FREE(cm->cd);
126 struct colormap *cm,
132 union tree *fillt = &cm->tree[level+1];
141 cmtreefree(cm, t, level+1);
144 cb = cm->cd[t->tcolor[0]].block;
160 struct colormap *cm,
176 assert(cm->magic == CMMAGIC);
181 t = cm->tree;
187 fillt = &cm->tree[level+1];
189 cb = (bottom) ? cm->cd[t->tcolor[0]].block : fillt;
220 struct colormap *cm)
226 return (color) cm->max;
237 struct colormap *cm)
246 if (cm->free != 0) {
247 assert(cm->free > 0);
248 assert((size_t) cm->free < cm->ncds);
249 cd = &cm->cd[cm->free];
252 cm->free = cd->sub;
253 } else if (cm->max < cm->ncds - 1) {
254 cm->max++;
255 cd = &cm->cd[cm->max];
263 n = cm->ncds * 2;
264 if (cm->cd == cm->cdspace) {
267 memcpy(newCd, cm->cdspace,
268 cm->ncds * sizeof(struct colordesc));
272 REALLOC(cm->cd, n * sizeof(struct colordesc));
278 cm->cd = newCd;
279 cm->ncds = n;
280 assert(cm->max < cm->ncds - 1);
281 cm->max++;
282 cd = &cm->cd[cm->max];
291 return (color) (cd - cm->cd);
301 struct colormap *cm,
304 struct colordesc *cd = &cm->cd[co];
321 if ((size_t) co == cm->max) {
322 while (cm->max > WHITE && UNUSEDCOLOR(&cm->cd[cm->max])) {
323 cm->max--;
325 assert(cm->free >= 0);
326 while ((size_t) cm->free > cm->max) {
327 cm->free = cm->cd[cm->free].sub;
329 if (cm->free > 0) {
330 assert(cm->free < cm->max);
331 pco = cm->free;
332 nco = cm->cd[pco].sub;
334 if ((size_t) nco > cm->max) {
339 nco = cm->cd[nco].sub;
340 cm->cd[pco].sub = nco;
342 assert(nco < cm->max);
344 nco = cm->cd[pco].sub;
349 cd->sub = cm->free;
350 cm->free = (color) (cd - cm->cd);
361 struct colormap *cm)
365 co = newcolor(cm);
369 cm->cd[co].nchrs = 1;
370 cm->cd[co].flags = PSEUDO;
381 struct colormap *cm,
387 co = GETCOLOR(cm, c);
388 sco = newsub(cm, co);
397 cm->cd[co].nchrs--;
398 cm->cd[sco].nchrs++;
399 setcolor(cm, c, sco);
410 struct colormap *cm,
415 sco = cm->cd[co].sub;
417 if (cm->cd[co].nchrs == 1) { /* optimization */
420 sco = newcolor(cm); /* must create subcolor */
425 cm->cd[co].sub = sco;
426 cm->cd[sco].sub = sco; /* open subcolor points to self */
459 newarc(v->nfa, PLAIN, subcolor(v->cm, from), lp, rp);
478 newarc(v->nfa, PLAIN, subcolor(v->cm, from), lp, rp);
495 struct colormap *cm = v->cm;
515 t = cm->tree;
522 fillt = &cm->tree[level+1];
538 cb = cm->cd[co].block;
544 sco = newsub(cm, co);
545 t = cm->cd[sco].block;
555 cm->cd[sco].block = t;
564 cm->cd[co].nchrs -= BYTTAB;
565 cm->cd[sco].nchrs += BYTTAB;
576 sco = newsub(cm, co);
583 cm->cd[co].nchrs -= ndone;
584 cm->cd[sco].nchrs += ndone;
596 struct colormap *cm)
599 struct colordesc *end = CDEND(cm);
605 for (cd=cm->cd, co=0 ; cd<end ; cd++, co++) {
621 scd = &cm->cd[sco];
627 uncolorchain(cm, a);
629 colorchain(cm, a);
631 freecolor(cm, co);
638 scd = &cm->cd[sco];
657 struct colormap *cm,
660 struct colordesc *cd = &cm->cd[a->co];
677 struct colormap *cm,
680 struct colordesc *cd = &cm->cd[a->co];
706 struct colormap *cm,
713 struct colordesc *end = CDEND(cm);
716 for (cd=cm->cd, co=0 ; cd<end && !CISERR(); cd++, co++) {
734 struct colormap *cm,
741 struct colordesc *end = CDEND(cm);
745 for (cd=cm->cd, co=0 ; cd<end && !CISERR() ; cd++, co++) {
766 struct colormap *cm,
775 fprintf(f, "max %ld\n", (long) cm->max);
777 fillcheck(cm, cm->tree, 0, f);
779 end = CDEND(cm);
780 for (cd=cm->cd+1, co=1 ; cd<end ; cd++, co++) { /* skip 0 */
795 if (GETCOLOR(cm, c) == co) {
800 if (GETCOLOR(cm, c) == co) {
815 struct colormap *cm,
822 union tree *fillt = &cm->tree[level+1];
832 fillcheck(cm, t, level+1, f);