288kis00022yav 1998/02/13 00:05:53 前へ 後へ 上へ

Re: setとchangecol

286へのコメント

fkissのchange_setpalのルーチンだけど,こんなふうにしてみました.
------
int change_setpal(s, p)
     int s;
     int p;
{
  int set_changed, pal_changed;	/* quick and darty hack */
  static int nest = 0;
  
  if (s < 0 || s >= setcnt || !active_set[s])
    s = cset;
  if (p < 0 || p >= palcnt)
    p = kset[s].pal;
  set_changed = (s != cset);
  pal_changed = (p != kset[cset].pal);
  if (!set_changed && !pal_changed)
    return 0;			/* not changed */
  if (debug_mode)
    fprintf(stderr, "set = %d, pal = %d\n", s, p);
  cset = s;
  kset[cset].pal = p;
  nest++;
  if (set_changed)
    kissevent_handler(EVE_SET, s);
  if (pal_changed)
    kissevent_handler(EVE_COL, p);
  if (!--nest)
    redraw_all();
  return 1;			/* changed */
}
------
これだったら,nestの処理がえむけいさんの意図どおりだと思います.
どんなもんでしょう?
-- 
                                        UHD98984@biglobe.ne.jp
                                        yav@bigfoot.com
                                                        yav

前へ 後へ 上へ