IF/Prologバージョン3.4.6では、IF/PrologからX11.4 toolkit intrinsicsへの完全なインタフェ−スを使用できます。これにより、Cを全く使わずにIF/Prologだけを使ってXのアプリケ−ションを開発することができます。
IF/Prologでは特別にX11 toolkitのProlog言語バインディング(Prolog版)が実現されています。この章では、Prolog言語バインディングとC言語バインディングの違いを中心に説明します。
'X Toolkit Intrinsics'とそのC言語バインディングに関する基礎的な知識が必要になります。
IF/Prolog言語バインディングによって、ある特定のwidget set中のすべてのwidgetsが使えます。X11.4のAthena widgetsはすでに含まれています。
Xlib関数の大部分は、直接使用することはできません。直接使用することは、拡張機能として新しいwidgetsを構築するのに限られています。この例としては、新たに構築された'ドロー'(draw)widgetがあります。これによって、ほとんどすべてのXlib draw関数をtoolkitコンテクスト内で使用できます。しかし重要なXlib関数のいくつか、たとえばウインドウを積み重ねる順序を指示したり、スクリ−ンの大きさをリクエストするのに影響を与える関数は、特別な述語を通して直接使うことができます。
toolkitを使う場合にPrologのデ−タ型を使用できます。Cで使われているデ−タ型は、明確的にPrologに適していません。このため多くの場合、デ−タ型の変換を行わなければなりません。
| 冒頭へ |
|