[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 01378] Re: 1.11aのリリ ース



In article <>, nishida@csl.sony.co.jp writes:
>>  draw.c の cutin() で
>>  #ifdef USE_M17N
>>  	// we cannot use cutin with m17n-lib so far.
>>  	return;
>>  #endif
>>  とあるのに気付いたのですが、これは何故でしょう。この ifdef
>>  を外してもちゃんと動いているようなんですが。

> あまりちゃんと覚えていないのですが、開発の初期の時点では cutinの
> 機能が使えなかったので、この様にしていて、その後そのままにしてしまった
> という感じではなかったかと思います。深い理由はありません。ということで
> 外してしまいます。

ありがとうございます。

>>  それから cutin は window を作ってそれを少しずつ移動させると
>>  いう方式なので、 %grad で横や斜め方向に色を変えていると背景
>>  の処理が変になるようです。試しに XGetImage で移動させる部分
>>  全体のイメージを取得し、 main の window に描画しては XFlush 
>>  させてから、取得したイメージから必要な部分を XPutImage して
>>  元に戻すというコードを書いて見たんですが、たいして処理も遅く
>>  ならず良いようです。この方法だと Expose イベントも発生しない
>>  ので画面が散らつかないという利点もあります。

> それでうまくいきそうですね。 cutinの機能はあんまり人気が無い様で
> リクエストがなかったのと、僕自身もまったく使わないので長いこと
> 手をつけてませんでした。ちょっと考えてみます。

ちょっと気をつけなければいけないのは、 -o で起動した上で mgp 
の window の一部をスクリーンから外に出している状態だと、
XGetImage が BadMatch (だっけな?)のエラーを起こすことです。
このエラーを避けようとするとちょっと面倒なので、上記のような
場合だけは、現在のコードを使うようにするのが良いと思います。
どうせ実際のプレゼンの場ではそんな状況にはならないはずなので。

−− 半田@AIST
      handa@m17n.org