1.3.1 IMSSLの構造 |
 |
クライアントがXOpenIM()を呼び出すと, IMライブラリとIMSSLとの間の接続が行われます。 IMSSLは接続を行い,IMライブラリ・コンテキストを作成し,クライアントに対するXIMIDを生成します。クライアントは,XCreateIC()を使用して各入力テキスト・フィールドに対応する入力コンテキスト(IC)を作成します。
クライアントが複数の入力フィールドを持っている場合, IMSSLは個々の入力フィールドを管理するためにフィールドと同数のICを作成し,有効なXICIDを生成します。さらに,個々のICに対応するDIMsウィジェットが作成されます。このDIMsウィジェットは, IMSプログラマによってコールバック・ルーチンなどのリソースで設定されるDIMsクラスの動作を継承します。このように, IMSSLのIMおよびICのコンテキストがIMSプログラマに対して透過的になっています。このため, IMSプログラマはそれぞれのDIMsウィジェットを扱い, IMSのスタートアップ時にDIMsクラスのリソースを設定するだけでよいのです。
図 1-1 に,IMSSLの構造と各構成要素の関係を示します。
図 1-1 IMSSLの構造