This is multipart message.

----------------------1937958362420088
Content-Type: text/plain; charset=iso-2022-jp

もりきゅうです。

Yasushi Shoji さんはましえ造造─舛函countを知りたい理由は、全体の描画をやり直すなら、ひとつづきの
>expose eventの最後だけで描画したいんです。ですんで、うちの環境での蟲さん
>がいなくなっても使えると思うんですけど、どうでしょう?

ですね。これで効率的に再描画できるようになりますね。
  def win.exposed(count) ... end
または
  win.event 'exposed' do |count| ... end
と韻襪茲Δ砲靴泙靴拭


話題の蟲さんについてですが,
window.c:138 に
  attr.backing_store  henMapped;
という記あります。私の環境では,ここえ
  癆鬯矚站蜴艤齡闥  阡專繙譴砲垢襪函

>たとえば、diamond-event.rbで描画された windowの一部を他の windowで隠しま
>すよね。で、diamond-event.rbの windowを 「上」に持ってくると expose
>eventが起ると思います。このとき、他の windowに隠されていた部分だけが、元
>通りに描画されて、隠れていなかった部分は黒く塗り潰されます。

という症状がでるようになりました。
で,ひょっとすると,やすしさんの環境では
  attr.backing_store  lways;
とすれば,うまくいくのではないかと思いました。


あと,diamond-buffer.rb について,
win.show
は
win.title  0
の直後くらいにいれないと,たまに
(exposed)
(exposed)
となって,ウィンドウが真っ黒になることがあるようです。
# Ruby/Xlib の Window.show は expose event を待ちます。
Xlib のイベント発行のタイミングによるのでしょう。


パッチを添付しましたのでお試しください。

----
Kazuhiro Yoshida  moriq.kazuhiro / nifty.ne.jp

----------------------1937958362420088
Content-Type: application/octet-stream;
	namelib.patch"
Content-Transfer-Encoding: X-uuencode
Content-Disposition: attachment;
	filenamelib.patch"

begin 644 xlib.patch
M9&EF9B`M R`Y+7AL:6(M;W)I9R]D:7-P;&%Y+F,@<G5B>2UX;&EB+V1I
M<W!L87DN8PHM+2T@<G5B>2UX;&EB+6]R:6<O9&ES<&QA>2YC"49R:2!$96,@
M,3<@,3@Z,#$Z,#0@,3DY.0HK*RL@<G5B>2UX;&EB+V1I<W!L87DN8PE3870@
M1&5C(#$X(#$T.C0R.C(X(#$Y.3D*0$`@+3,S-RPW("LS,S<L."!`0`H@"7-W
M:71C:"`H978Nミケイトタセミネタ「カュチシヨエタアキチミサラュナョタネタ「ーナノケ「ンィヲナトキヨオリ
ヘシヲンモケカーロ「ツヤゥ「カ・メケラャタッイ。メクナンチシヌナソサニオラャツタミェウフェェミトゥクキゥヌシメンィァゥツ
ヘキヨ・メセオンホケキシモェ「ムォネヒ「ートゥイエルエャトルオウイチナケキチミサラュナォニュマヤェイノ
ヘョミネタ「ーナツシニオチコモフェィナテクキュナィ、ゥユマサナ。メケキュモョタネタ「ーナノケ「ンィヲナトキヨゥユ
ヘマサナンミシニオモシモフェケヲナニケツヘ メルォキチフコカィヘサラゥノケメンラコカルトサラシホクメ。メ
ヘルォキチフコカィマホケヲンラォニャェォイヤヘィァゥユクヌトヘセヲムノクツユマシニナヌォラニアマテ
ヘ「エケメコイ。、ケカャタャウシタャウシレュウーレュウエタャウトルョーネヒェメフタシヌオツセイユリサヲナツォラニアマ
ヘテ「オュチ、ケカャタャウタタャウーレュウエレュウシタャウトルョーノー「ヘャウャユォ」シタェモ、モュイミラ
ヘィ、。「ツゥィ「レィ、ルオウウゥゥウナーネクニタヨムマシツトェィトタィ」フェィネヘ「カ・ヤホクニ・テ
ヘコヨナホケユンモメケインィ・	カルュクキ。ミケカーロ「ツフゥクキアヤシツルツクカュヒコカルヌキラュヤサラゥナ
ヘィ」ヤターカムラクキナモョミネタ「カ・ヤホケキケナサヌアソサカ・モコメンィヲオヨケカルヤシモフェィナヘクキュヒ
ヘィ」ヤターユカュヒコカルヌエラアマシニエタソ「。」オヤオヨケカルヤウカ・モコモフェィノー「ヘャテャヤォ」シタ
ヘェモィモュ「ミラィ、。「ツ。ロ「ツゥラコカルトサラシタェヌヌロ「ツゥオト・ャオエエタシヨチマロ
ヘ「ツヤゥカ、オヨケカルヤィァチナェェミナクアキケナサヌータケキクロ「ツェィナモコヲンラサツンィァゥツ
ヘキヨナヨキヨチマクニネフィ「ゥシヨチマツェウフェィナノケツネシヨチマタッウヤタエキアメノ
ヘィァゥナメサツ。アサニナフョミノー「ヘャテーメォ」タタェモィヤャツミムャ「。ーネタ「エニアマ
ヘ
マクニネフィァヌノョミネタ「ツゥカ、ユチシ・ニアマ
ラコカルミォウルリケヲナモシヲムチセイミタ
ヘホシ「ヤ゛セァニアマ
ロ「ツヤゥケヲワタカ、ルナセァア・
ラコカルミォウルリケヲナモシヲムチ
ヘセイミタゥヌチナ
ロィァカムナィ「チリケキケナサヌーホミケイチッイ。・セァ。マシヨエノョミネヘ
ヘ「キチフコカゥソケキケナサヌーネサヨゥハォ「。ノケ・ンナセァ。マシヨオトォ「。メクナンチシヌナソサニオラェ「トノョミネヒ
ヘ「カアマィ・チョケキチヤアキケナサヌーネホシ「ヤ゛セヲアノシラ。フクキトフィ「ケナィァカムナィ「チナ
ヘーヤセキ。ナィ「、ンィ、オリシヲンモケイトロ「ツフゥセヲムノクナンナ
マクニネフィヲナトキヨオリシヲンモ
ヘケカーフ「ツフゥ「キゥツキヨ・メセオンホケキシモェ「ムォネヒ「ートゥイエルエャトルオウイチナケキチミサラュナ
タォニュマヤェイノェウフェィネタ「キゥナメサツ。アサニナフョミネタソーノオ



ュュュュュュュュュュュュュュュュュュュュュュアケウキケオクウカイエイーーククュュ