home link download back number special issue

HMDT - Special Issue / Sketch BP / 円弧ツールの仕様


- Modification -

円弧ツールの仕様

円弧ツールの仕様を考える

追加されるツールの 1 つ、円弧ツールについて考えてみよう。

円弧ツールは、楕円の 1/4 の弧を描くためのツール、ってことにしよう。昔ながらのドローツールには必ずあったよね。最近はベジエにとってかわられてるけど。あればあったで便利だと思うけどな。

じゃ、まず作り方から考えよう。円弧を作るときは、ドラッグして四角の領域を設定する。その大きさに応じた円弧を描くことにしよう。ドラッグする方向によって、円弧のどの象元を描くか決定しよう。例えば、右下にドラッグしたら、右下の方の円弧を描くんだ。

あと、ドローオブジェクトの周りに線を描くときは、円弧の部分だけ描くようにしよう。直線の部分は、描かないことにするんだ。

編集機能はなし。作った後はドラッグしてサイズを変えるだけ。

注意すべきところは、こんなところか。


円弧ツールに必要となるもの

円弧ツールが、他のツールと違って、必要なる情報を考えてみよう。

まず、ドラッグでオブジェクトを作るんだけど、そのとき、どっちの方向にドラッグしたか?ってことを決める必要があるんだよね。これは、ドラッグの方向で、どちらの向きに円弧を描くかが決まるからだ。ということは、まずドラッグの開始点を知る必要がある。これと、現在のドラッグした大きさから、どっちにドラッグしたかが分かるはずだ。あと、サイズ変更のときは、オリジナルの大きさを知る必要があるよね。

あと、この円弧は NSBezierPath を使って描くことになるんだけど、上の仕様な塗りつぶしをするには、1 つの NSBezierPath じゃできないんだ。なぜなら、NSBezierPath を普通に使うと、円弧の両端を一直線につないでしまうことになるから。

だから、円弧の線を描く NSBezierPath と、塗りつぶしをする NSBezierPath の 2 つが必要になるんだな。


- ソースコードのダウンロード -

HMDT - Download / Sketch BP


Home | Link | Download | Back Number | Speciall Issue

Sketch BP

mailto: mkino@xd5.so-net.ne.jp

HMDT