IMMウィンドウ制御、再び

http://d.hatena.ne.jp/propella/20050609/p2 で、最新版Tweakでは動かないとご報告いただきました。従来は、CRootMorph-CWorldPlayerという構造が丸見えだったので、

player root ownerMorph topLeft

として、Morphic世界中でのTweak世界の相対座標を求めていました。
しかし、「Project」の導入の際、Morphic世界の中にTweakのWorldを浮かべておく仕組みが全面的に変わってしまい、この方法はとれなくなりました。最新版での階層構造は次のようになっています。

  • Morphic側から見た階層構造:CProjectMorph→CProjectBuilder→CProject
  • Tweakの普通のプレイヤ側から見た階層構造:EToysWorld→(普通のプレイヤ)

そして、普通のプレイヤから見た時、EToysWorldより外側の世界(CProjectより上位)を見る手段が見つかっていません。CProjectBuilderにアクセスできれば、Morphic側に手が届くのですが。
http://d.hatena.ne.jp/korakurider/20050528 で、id:squeakerさんがいみじくもコメントいただいた通りの展開になってしまいました。アドホックなやり方を見つけてもまた変更が入って動かなくなるのは嫌なので、「根本対応」についてMLで相談するしかなさそうです。。。。