キター!!

guiserver_window* GetTargetWindow(int x, int y)
{
    int size = captures.size();
    if (size > 0)
    {
        return captures[size - 1];
    }

というコードをGUIサーバーに発見。


capturesリストの一番最後のオブジェクトには優先的にマウスイベントが送られるようだ。
この場合座標チェックは行われないので、所望の動作になりそうだ。


でcapturesリストにオブジェクトを登録するためには MSG_GUISERVER_MOUSECAPTURE というメッセージをGUIサーバーに投げればよいらしい。ウィンドウのタイトルバークリック時とリリース時にcapturesリストを増減させるコードを追加してみた・・


キター!!うまく動いたよママン。


とりあえずBayGUIでは部品のフォーカス制御もうまくいっているようなのでMona0.2.1と同じ水準まではきたようだ。あとはブラウザもどきで再描画が比較的とろいのを改善せねばなぁ・・


※描画のパフォーマンスチューニングしてくれる方募集