[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.