[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 2046] 外殻の探索2



以下の mail は、kernel ML に出したところ、SMTP delivery error で
返ってきたので、general ML に再送します。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−



 こんどは、外殻に必要な機能を BTRON1 の方から見てみましょう。「プログラ

ミング標準ハンドブック」を見る限り、以下の機能は必要なようです。実装する
ことを念頭に置いて、種類別に分類してみました。


ディスプレイ関連関数群:
 描画環境の管理(表示長方形などの管理を含む)
 図形描画関数
 文字描画関数
 ポインタ描画関数

ウインドウ関連関数群:
 加工されたイベントの配信
 処理要求の通達(W_REDISP, W_PASTE, ...,etc)
 ウインドウ構造体の管理
 ウインドウの描画関数
 「表示管理メニュー」の管理
 「ダブルクリック」の判定・設定関数

メニュー関連関数群:
 メニュー構造体の管理
 メニューの描画関数
 「ディレイタイム」の設定関数

パーツ関連関数群:
 パーツ構造体の管理
 パーツの描画関数
 パーツ作動関数(定常処理を含む)

パネル関連関数群:
 パネル構造体の管理
 パネルの描画関数
 パネル作動関数(標準動作)
 「システム・メッセージ・パネル」の管理(描画を含む)

トレー関連関数群:
 格納情報の管理

データボックス関連関数:
 データの登録・削除・管理(参照数検査など含む)
 「データボックス・レコード」の読込・解析

フォント関連関数:
 フォント・データの登録・削除・管理
 フォントの選択関数
 フォント・データの画像への変換関数
 「フォントデータ・レコード」の読込・解析

仮名漢字まじり文変換関連関数:
 入力モードの管理(仮名入力など)
 カレットの描画関数
 漢字変換エンジンとの交信(文字列の送付などを含む)

実身仮身関連関数:
 仮身の登録管理(ウインドウ資源との同期を含む)
 仮身の描画関数
 処理要求の通達 (W_VOBJREQ など)
 仮身構造体の管理(アプリケーション終了時の同期を含む)
 仮身構造体変更用のパネルの描画関数
 起動するアプリケーションの選択処理
 起動可能アプリケーションの管理(存在するアプリケーションの検索・収集を

含む)
 実身構造体の管理 (inode のようなものの管理)
 「実行メニュー」の管理
 「小物メニュー」の管理
 「仮身操作メニュー」の管理
 「付箋操作メニュー」の管理
 ディスク情報の管理
 ファイルシステムの接続・切断関数
 ファイルシステムのフォーマット関数
 選択枠の描画・設定関数
 仮身の変換関数(リンク・ファイルの生成)
 「FD挿入イベント」の対応処理関数

印刷関連関数群:
 TADデータから画像への変換関数(プレビュー印刷など)
 印刷パラメータの管理
 スプーリング情報の管理



 いかに実身仮身関連の関数が多枝に渡っているか分かりますね。
 特に表示関連の多いこれらの関数群の多くは、他の部分に吸収させてしまう方

がいいと思われます。例えば、仮身の登録はウィンドウに対して行うべきなわけ

で、ウインドウ構造体の管理に含ませてしまった方がいいわけです。

 ちなみに、ここで多く使っている「構造体」という単語は、内部で管理しなけ
ればいけない情報全般を意味しています。たとえば、「仮身構造体」とここで行
った場合、「リンク・レコード」および「仮身セグメント」のみではなく、それ
に付随する「機能付箋」やその他諸々の情報を含むとします。「ウインドウ構造
体」についても同様で、ウインドウを管理するのに必要な表示属性や変形属性、
ユーザーデータなど、一つのウインドウに属するすべての情報の集合を意味しま
す。

-Aki.