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

[b-free: 1954] Re: BTK




隆一です。


From: Hidetosi Ochiai <h953046b@ice.nuie.nagoya-u.ac.jp>
Subject: [b-free: 1938] Re: BTK
Date: Sat, 25 Jul 1998 03:29:16 +0900

> /* In [b-free: 1916] Re: BTK
>    Yasushi Shoji <yashi@yashi.com> Wrote: */
> 

...[snip]...

>    |> B-Free が十分使えるようになって、開発に余裕が出てきたら
>    |> 「X の 1つの window = B-Free のディスプレイ」
>    |> もできるように改造するのも良いでしょう。
>    |
>    |B-Free良くわかってないので質問させてください。
>    |Xの XCreateWindow()という関数にあたるものは
>    |BTRON1では、wopn_wnd()だと思っていたのですが?
> 
> X は Xt をちょこっと使ったことがあるだけなので、
> 詳しいことはなにも言えません。
> おおまかに見ると一緒なのですが、
> X の window と BTRON1 のウインドウでは機能的に
> 異なる部分もあるので、単純に wopn_wnd() の引き数を
> 修正して XCreateWindow() を呼ぶだけではだめじゃないかと思います。

私は、X でいう Window と BTRON でいうウィンドウって、全然別物ではない
かと思っています(名前が同じだから、迷ってしまいますが)。


X の Window はあくまでも一枚の単純な長方形の Window を指しています。だ
から、XCreateWindow あるいは XCreateSimpleWindow で Window を作っても、
単に一枚長方形ができるだけです。それだけだとほとんど何もできないので、
大抵の X のアプリケーションは、単純な Window を多数重ね合わせています。

BTRON でいっているところのウィンドウというのは X の単純な Window を多
数重ね合わせたものを指しているように思います。たとえば、BTRON だとウィ
ンドウに附属する形で(自動的に)スクロールバーとかタイトルバーができます。
しかし、X だとスクロールバーとか、タイトルバーなどの装飾も全部 window 
の組み合わせで作っており、window に附属するようなものではありません。

wopn_wnd() は、X サーバへ XCreateWindow() を何回も呼び出すような処理へ
分解する必要があるのではないでしょうか?  単に、wopn_wnd() ->
XCreateWindow() へ一対一に変換するだけでは機能的に一致しないので、うま
く実装できないと思います。


そこで、Blue では API 変換をどこで行うかが問題になってくるわけです。


p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail:                                                              |
|         rnaitoh@st.rim.or.jp                                         |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC  37 A1 A7 FA 1C 66 FF D0   |
b----------------------------------------------------------------------d