2015-01-06-01-SVGのUMLツールを - 3
>> Site top >> weblog >> 月別アーカイブ >> 2015年01月のlog >> 2015-01-06-01-SVGのUMLツールを - 3
最終更新日付:2015/01/06 01:00:00
SVGのUMLツールを - 3
2015 年 01 月 06 日
検討続行。前回最後に書いた「階層化」云々を今回はイジくりまわしてみよう。
基本図形を組み合わせて図形を定義できるようにするところをイメージしてみると、たとえば図形のサイズについて複数の選択肢が考えられ、その複合が問題になる(かもしれない)。とりあえず以下のものを思いついた。
- 外部からサイズを指定する。
- 自動的に決まる。
- 内包するオブジェクトのサイズに合わせる。
1については、まぁなんというか普通の描画オブジェクトだ。単純に三角形を描画するのであれば、外部からサイズ情報を与えることでそれに合わせた三角形を描画する。これはまぁいい。おそらく、CL-SVG 自身が提供する基本図形はほとんどがこのタイプになるだろう。
2は、それが内包するデータによってサイズが自動的に決まるようなものだ。たとえばテキストボックス。おそらくは表示すべきテキストを指定するだろうが、少なくとも横方向のサイズは自動的に決定できる(高さもフォントサイズによって自動的に決定できるかもしれない)。
で、複合オブジェクトを定義する場合に役立つ(とともに問題を孕むかもしれない)のが3だ。たとえば単純な(名前だけを表記した)クラス図を考えてみよう。単純に言えば、クラス矩形を先に描画して、そのあと中央にクラス名を描画する。この際、この2つの要素を組み合わせる側は「3.内包するオブジェクトのサイズに合わせる」タイプだが、内包される側のうち、矩形は親と同じサイズになるから「1.外部からサイズを指定する」タイプで、その上に描画されるテキストは「2.自動的に決まる」タイプである、と。
「問題になる(かもしれない)」とは書いたものの、ここまでのところは問題にならないっぽい。幅と高さのそれぞれに対して、描画前に全てのを確定することは可能だろう。2パスになってしまうが、それは仕方がない。
さて、問題は(多分)ここからだ。でもそれは次回以降。
コメント
このページのタグ
Page tag : CL-SVG
Copyright(C) 2005-2021 project-enigma.
Generated by CL-PREFAB.