2011-01-25 4 views
0

私はいつも不思議に思っていました:画像、テキスト、ボタンをレンダリングするためにどのようなlibrairies/APIがWebブラウザエンジン(Gecko、WebKit ...)によって使用されていますか?& stuff?Webブラウザエンジンはhtmlをレンダリングするために何を使用しますか?

ウェブページは、オペレーティングシステム間でピクセル単位で同じようにレンダリングされます。しかし、ボタン、ドロップリスト、およびテキストは、ほとんどのプラットフォームでネイティブに見えます。これらのエンジンは、HTMLのオブジェクト構造を作成し、ページを構築するためにコンポーネントを使用http://en.wikipedia.org/wiki/Web_browser_engine

、ブラウザエンジンは、ピクセルをレンダリングしません:

+0

WebKitなどについては、あなた自身の質問に答えました。 それ以降は、OSとそのグラフィックスレイヤーに入ります。 –

答えて

2

の主は、あなたがここで多くを読むことができます

Trident (IE and derivats) 
Webkit (Safari, Chrome) 
KHTML (KDE Konqueror) This was the base for webkit 
Presto (Opera) 

ですボタン、コンボボックス、イメージ要素を使用し、それらのすべてがバッファに自己レンダリングされ、次にそれらのイメージバッファが画面に折りたたまれます。

一部のエンジンでは、プラットフォーム自身のコンポーネント(トライデント)を使用するエンジンや、別のプラットフォームで異なるスキンを使用するエンジンがあります。

実際のレンダリングでは、私が知っているようにIEはWindowsコントロールとGeckoを使用しています。

私はgtkやqtを使うかもしれないと思いますが、わかりません。オペラのために私は考えていませんが、フレームワークやツールキットの何らかの形を使っていると思います。

+0

確かに。しかし、ボタン、コンボボックス、画像はどのように画面に表示されますか?いくつかの研究の後、私はGeckoが独自のC++ラッパー(Thebes)を使ってグラフィック(矩形、線など)にカイロを使用していることを発見しました。これらのリンクを参照してください:https://bugzilla.mozilla.org/show_bug.cgi?id=322938およびhttp://blog.vlad1.com/2007/12/11/graphics-in-mozilla/ – fouronnes

関連する問題