[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 2068] Re: Xlib interfaceの存在価値 (was: BTK)
やすしです。
From: Ryuichi Naitoh <naitoh_r@soft.hitachi.co.jp>
Subject: [b-free: 2067] Re: Xlib interfaceの存在価値 (was: BTK)
Date: Wed, 09 Sep 1998 13:43:45 +0900 (JST)
>
> 隆一です。
>
>
> From: Yasushi Shoji <yashi@yashi.com>
> Subject: [b-free: 2065] Re: Xlib interfaceの存在価値 (was: BTK)
> Date: Tue, 08 Sep 1998 23:26:13 -0400
> > > なになに.so っていうのは、dynamic link library のことでしょうか?
> >
> > そうです。shared objectの略です。
> > # 略すのはやめた方が良いみたい‥。
>
> うーん、とすると今の B-Free OS にはディスプレイプリミティブの実装のこ
> とは考えていないんですが、その機構が必要ということでしょうか?
何でそうなるのかな?
so が、shared objectですねって言う話ですよね、ここ?
display primitiveが、何をさしているのかはいまだにはっきりしない‥。
> > > > > たとえば、ディスプレイプリミティブが独自の管理情報をもっている場合、問
> > > > > 題があると思います。これは、アプリケーションから X を使えるようにした
> > > > > 場合でも問題になりますが。
> > > >
> > > > 自分が思っていた方法なら、display primitiveの情報はもちろん API を通して
> > > > 受け取ります。たとえ Xlibを直接使ったからと行って display primitive API
> > > > に、accessできないわけではないですから。
> > >
> > > いや、だからアプリケーションが Xlib に直接アクセスすると、ディスプレイ
> > > プリミティブの内部情報と X サーバ側とで不一致が生じるんじゃないですか?
> > > これは、アプリケーションがディスプレイプリミティブを呼び出せるとしても
> > > 解決できません。
> >
> > これを吸収するために wrapperが存在するわけですが、
> > もしこれがむりなら、X + Xlibを使う自体無理ですよね。
> > X + Xlib for B-Free libなら、どうでしょう?
>
> ラッパというか、アプリケーションが X11 に直接アクセスしないとするなら
> ば、大丈夫だと思います。アプリケーションが X11 に直接アクセスしてしま
> うと、いくら利口なラッパでも実際の表示との不一致が生じることは避けられ
> ないでしょう。
どうして、applicationが Xlibに直接触るとprimitive と X serverの内部情報に
不一致が生じるのですか? で、どうしてX11(たぶんX serverのことですよね?)に
直接触ると、平気なのですか?
share するものは、X server resouceとして、serverが持てば良いのですよね?
それともICEや、ICCCMのようなもののこと?
> > > > display primitiveがlibraryでも情報を持つことになりますか?
> > >
> > > えーと、ディスプレイプリミティブはライブラリで実装できるんでしょうか?
> >
> > display primitiveとは、何なのでしょう?
> > 画面上に、点、線、文字などを書くための routineですよね?
>
> ディスプレイプリミティブは、単純に図形描画のルーチンではないと
> 思いますよ。むしろ X サーバのようなものでしょう。
そうでしょうか? BTRON Display Primitive APIは、X が持つ display primitive
に、情報を渡すための窓口に過ぎないのでは?つまり、Xlibと同じですよね?
それで、前に、「bdp(Btron display primitive)と、Xlibとの共存は可能ですか?」
と聞いたのでは?で、僕は、共存と言うより、bdpはconverterとして、
データをXlibに渡すだけにすれば良いかなと思ったのですが?
で、そのconverterが独自に管理する情報があったらどうなるのか?となって
僕の訳のわからないX11.soのメールに行くわけですが‥。
converterなのですから、独自の情報なんてありません。
もしも、bdpの情報を変換できない場合は、Extensionを書きましょう。
> > これは、Xでは XlibでClient側に提供されているものでしょうか?
> > それとも X server自体が持つ物の方でしょうか?
> > # ちなみに、X serverには Graphics Contextも必要ですね。
> > # これは X serverが持つ物です。
>
> えっと、この段落で何を言いたいのかいまいちわかりません。
> 説明していただけないでしょうか?
Xでのdisplay primitiveは、X serverが持つ機能だと思っています。
しかし、描画する場合 その display primitiveを abstruct したた部分と、
X serverが持つroutine(primitive そのもの)と、X serverが必要とする
resouceが必要だと思います。GCなどは、そのresouceにあたる部分であり、
Xlibは Clientが X serverの持つ routineを簡単に使えるように abstruct
した物なのではないでしょうか?(間違っていたら指摘してくださいm(__)m)
generalize とも、言えるかな?
この段落では単に、GCの例を出して、GC は X server の resouce だが、
primitive は、何のだろうか?と言う疑問を書きたかっただけです。
bdp APIは、converterという事を上に書きました。
本来、bdpは描画を行うことまでを含むのかも知れません。が、Xを使うのなら
X の display primitiveを使ってしまえば良いのではないでしょうか?
> > > 私としては、ディスプレイプリミティブを X11 上に作るにしても、あるいは
> > > X11 を改造するにしても、プロセス(or タスク)として実装する方がいいと思
> > > います。
> >
> > イマイチdisplay primitiveが、何をさしているのかわからないので
> > このthreadの他の枝の方へ‥。
>
> うーん、やすしさんがこれまでのメイルでおっしゃっていたディプレイプリミ
> ティブとは何のことを指していたのでしょうか?
# 他の枝にしようかと思ってましたが、ここにつなげてしまいました‥。
上記のように、display primitiveは、X の機能を使うべきだと思っています。
その機能を使うための Xlibであるので、そのままでなくてはならないわけではなく
BTRON APIを理解して、X serverと、話ができるものなら良いわけです。
その場合、Xlibの APIはなくなってしまいます。もちろん Xlibも移植すれば
すむことですが。
個人的には、X serverが、直接 BTRON APIを持つのはどうかなと思います。
他の枝の話ですが、3通りのうち今の所やっぱり3番かな?
X serverの、OS依存を直してB-FreeOSで動くようにして、
Xlibも、OS依存の所を直して、さらにその上にWrapperですかね?
> 3) X サーバと Xlib はそのままで、Xlib の上にライブラリとしてディスプレ
> イプリミティブを作る。アプリケーションは、Xlib とディスプレイプリミ
> ティブの両方を呼び出すことができる(画面情報の整合性は?)。
「display primitiveを作る」じゃなくて、「display primitive APIを、
Xlibに変換するwrapperを作る」ですね。画面情報は、X server だけですから
統合も何もないと思いますが? bdp APIを介しても、会さなくても元のデータは同じ
X serverから来るものですから。
でも、2番もかなり気になります。Xlib BTRON API版を作るってことですよね?
これだと、BTRON仕様のdisplay primitive APIだけになるから、
前に議論にでた、「Xlib APIを残すか?」での、残さないになりますよね。
と言うか、このスレッドはその続きか‥‥。
> 2) X サーバはそのままで、X プロトコルをしゃべるディスプレイプリミティ
> ブマネージャを作る(ディスプレイプリミティブは Xlib をリンクする)。
でも、Xlibを linkするってところがわからないけど‥。
(つまり、X server、Xlibともにdisplay primitiveじゃないと?)
1番は、個人的には好きじゃないですね。
Driverの所だけを使って、全く新しいものを作る様なものですよね?
---
-o) Yasushi Shoji | PGP Public Key
/\\ yashi@yashi.com | http://yashi.com/public_key.txt
_\_v2.1.119 Powered by Linux and Open Source Software