描画拡張とは
描画拡張プラグインとは、小片の表示処理を代替わりして、覚え書では不可能な表現方法を実現させるためのものです。
基本的にはDLLであり、他のDLLと区別するために拡張子を「*.dxl」としたファイルの事です。
描画拡張のインターフェイスには2種類が有り、「データ変換拡張」と「描画代行拡張」になります。
- データ変換拡張
-
この拡張は、描画処理を行わず(描画は覚え書本体が行います)に、小片に設定されたデータの変換のみを行います。
この拡張を使用した小片が作成されると、覚え書は小片のデータをプラグインに渡し、データの変換処理を要求します。プラグインは渡されたデータを基に任意のデータ変換を行い、覚え書にその変換データを返します。データを返された覚え書は、既存の処理にしたがってデータの表示を行います。
テキストだけの表現で「内容を動的に変更したい」場合などに使用します。
公開されているサンプルの「CountDown.dxl」がこれにあたり、「CountDown.dxl」は「<!YYYYMMDD>」と指定されている部分を、今日から指定年月日までの日数に変換しています。
- 描画代行拡張
-
この拡張は、小片のクライアント部の描画を覚え書に変わって行う拡張です。
この拡張機能を使用した小片が作成された場合、覚え書からデータを受け取る部分までの処理は同じように行われますが、小片が描画される必要が発生した場合、覚え書自身は描画を行わずにプラグインに描画の要求をします。
描画を要求されたプラグインは小片のクライアント領域に任意の描画を行います。
これは、テキストだけでは表現できない描画を行う場合に使用します。
公開されているサンプルの「BmpView.dxl」がこれにあたり、「BmpView.dxl」は小片の内容に指定されたビットマップを小片のクライアント領域に描画します。
上記の説明からもわかるように、描画代行拡張は描画の全てを処理できる事から、自由度は非常に高いといえます。
これに対し、データ変換拡張は、描画処理を行わずデータ変換のみで済む事から、作成が簡単に行えます。
実際にプラグインを作成する場合、処理すべき内容に合ったインターフェイスを選択して下さい。
また、このプラグイン処理には描画だけではなく、マウスクリック(左)の処理を行わせる事ができる事から、たとえば「<A HREF=""></A>だけを処理するHTML風クリッカブル小片」などの内容に合ったクリック処理を実装することができます。