XtOpenDisplay(3) ディスプレイを初期化・オープン・クローズする

Other Alias

XtDisplayInitialize, XtDatabase, XtScreenDatabase, XtCloseDisplay

書式

void XtDisplayInitialize(app_context, display, application_name, application_class,

                       optionsnum_optionsargcargv)

      XtAppContext app_context;

      Display *display;

      String application_name;

      String application_class;

      XrmOptionDescRec *options;

      Cardinal num_options;

      int *argc;

      String *argv;

Display *XtOpenDisplay(app_context, display_string, application_name, application_class,

                       optionsnum_optionsargcargv)

       XtAppContext app_context;

       String display_string;

       String application_name;

       String application_class;

       XrmOptionDescRec *options;

       Cardinal num_options;

       int *argc;

       String *argv;

void XtCloseDisplay(display)

      Display *display;

XrmDatabase XtDatabase(display)

      Display *display;

XrmDatabase XtScreenDatabase(screen)

      Screen* screen;

引き数

argc
コマンド行パラメータの個数へのポインタを指定する。
argv
コマンド行パラメータを指定する。
app_context
アプリケーションコンテクストを指定する。
application_class
このアプリケーションのクラス名を指定する。通常はこのアプリケーションの 全インスタンスの総称的名称である。
application_name
アプリケーションのインスタンス名を指定する。
display
ディスプレイを指定する。 1 つのディスプレイは 1 つのアプリケーションコ ンテクストにだけ存在することができる点に注意すること。
num_options
options リストのエントリの個数を指定する。
options
アプリケーション固有のリソースに対する、コマンド行の解析方法を指定する。 options 引き数は XrmParseCommand にパラメタとして渡される。 詳細は Xlib - C 言語 X インターフェイス を参照。
screen
返り値であるリソースデータベースに所属するスクリーンを指定する。

説明

XtDisplayInitialize 関数はリソースデータベースをビルドし、コマンド行を解析するために XrmParseCommand 関数を呼び、さらに他のディスプレイ毎に初期化を実施する。 XrmParseCommand が呼ばれた後、 argc と argv は標準のオプションテーブルにないパラメータや、 options 引 数によって指定されたテーブルにもないパラメータだけを含むことになる。 もし変更後の argc が 0 であった時は、ほとんどのアプリケーションは、単 に変更された argv を、指定可能なオプションのリストとともに表示するだけ となる。 一般的にUNIXベースのシステムにおいて、アプリケーション名は argv[0] の 最後の構成要素になる。 指定されたアプリケーションの同期リソースが True ならば、 XtDisplayInitialize はこのディスプレイの接続において Xlib を同期モードにするために XSynchronize 関数を呼ぶ。 また、reverseVideo リソースが True であれば、このディスプレイ上で生成されたウィジェットに対して、 イントリンシクスは XtDefaultForegroundXtDefaultBackground を交換する。 (Section 9.6.1 を参照)

XtOpenDisplay 関数は指定されたディスプレイ名を使用して XOpenDisplay を呼ぶ。 display_string が NULL の場合、 XtOpenDisplay は argv に指定された -display オプションの現在の値を使用する。ただしこ の argv にディスプレイが指定されていない場合は、ユーザのデフォルトのデ ィスプレイ(UNIX ベースのシステムにおける環境変数 DISPLAY の値)を使用する。

これが成功した場合、 XtOpenDisplay 関数は XtDisplayInitialize を呼び、オープンしたディスプレイとアプリケーション名として argv に指定 された -name オプションの値を渡す。 ただしこの -name オプションが指定されていない場合は、 XtOpenDisplay に渡されたアプリケーション名を使用する。 さらにこのアプリケーション名が NULL の場合は、argv[0] の最後の構成要素 を使用する。 XtOpenDisplay は正常に終了すれば新しくオープンしたディスプレイを返し、逆に失敗すれば NULL を返す。

アプリケーションプログラマに便宜をはかるために XtOpenDisplay は提供されている。

XtCloseDisplay 関数はクローズが安全に行えるようになりしだい、指定されたディスプレイを クローズする。 もしイベント配送 (例えばコールバック手続き) 中に呼び出された場 合、配送が完了するまで XtCloseDisplay はディスプレイをクローズしない。 ディスプレイをクローズした後もアプリケーションを実行し続ける場合のみ、 XtCloseDisplay を呼ぶことができることに注意すること。そうでなければ XtDestroyApplicationContext を呼ぶか、ただ終了すればよい。

XtDatabase 関数は指定したディスプレイに関して、 XtDisplayInitialize によって生成された、完全にマージされたリソースデータベースを返す。 このディスプレイが XtDisplayInitialize によって初期化されていない場合、その返り値は未定義である。

XtScreenDatabase 関数は指定されたスクリーンに対応する、完全にマージされたリソースデータ ベースを返す。 XtDisplayInitialize によって初期化された Displayscreen が所属していない場合、その返り値は未定義である。