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

[b-free: 1868] Re: B-Free にXを 載せる (Re: B-FreeO Sの解説ほん





Hidetosi Ochiai wrote:

> うしろのウインドウをクリックしてアクティブウインドウが
> 切り換わる場合のイベントの流れを追ってみました。
>
> マウスドライバ
>      ↓
> イベントマネージャ
>      ↓
> アクティブプロセスのイベントキュー
>      ↓
> アクティブプロセスがwget_evt()でイベントを取り出す
> wget_evt()
> {
>     get_evt()
>     if(マウスのクリック && ポインタの位置が他のウインドウ)
>     {
>         クリックされたウインドウに EV_SWITCH イベントを送る
>         EV_INACT を返す
>     }
>     :
>     : (その他の処理)
>     :
> }
>
> ようするに、wget_evt() の中でウインドウの切り換えが必要かどうかを
> 判断して切り換え処理を行なっている、ということです。

そうですね。了解しました。


>     |そういうことで、window の流れの詳しいことは、前に落合さんに送った
>    |(様な気のする) BTRON1 の Window Class をみてください。
>
> これはアプリケーション側のイベント処理ですね。

その通りです。

>   |# っていうか、まだ持っています? この前、HD が飛んだときに最新版を
>    |# 失ってしまったので、もし、お手数でなければ、そして捨てていなければ
>    |# こちらに送っていただけないでしょうか? 勝手なことを言ってすみません。
>    |# よろしく。m(_._)m
>
> 持ってますので、送ります。

受け取りました。感謝!

> # 実はあんまり読んでなかったりします。

あはは。(^_^;


>    |> とすると、アプリケーションが wget_evt()を使わずに
>    |> get_evt()でイベントを取ってしまうと、ウインドウの切り替えが
>    |> 一切できなくなってしまいますね。(実際に確かめた訳ではないです)
>    |
>    |ということで、こいつは、rule 違反っていう奴ですね。
>
> アプリのせいでウインドウが切り換わらない、というのは
> システムとして問題のような気がします。

うーん、BTRON1の作られた時代を考えて見れば、あんまり、System の中身を言えなかった来
もしますが、、、。

だってですよ!

80286の時代ですよ。初期の頃の1Bなんか、それ用の tuning で
window が横には 4 pixels おきにしか、動かなかったっていうし、、、。

とりあえず、なるだけ、軽量に動くことが一番で、まあ、OS核が App からみて
すけすけでも、いたしかたなかったかなぁなんて。同情してしまいますが。

ちなみに、プロハン IX の「BTRON1仕様の構成と仕様書の関係図」を
見る限り、「システム利用者」や「システム・アプリケーション」はOS核には
触らなくて良いようにしたかったみたいですね。

要は、BTRON3を見習うであろう B-free は、そんなBTRON1な
ところまでは見習わなくても良いだろうという事でした。


>
>
> ===
>   落合秀俊   名古屋大学工学部情報工学科
>   h953046b@ice.nuie.nagoya-u.ac.jp



-Aki.