マウスをドラッグすることで直線や曲線を引くことができるようにします。

まずメニューを追加します。

そしてEditMode列挙体にDrawLineとFreeLineを追加します。

メニューが選択されたらメニューのチェックのOn、offをおこないます。

直線や自由直線を描画するためにマウスクリックに関するイベントハンドラを修正します。直線を描画するときにマウスがクリックされたらOnMouseDownForDrawLineメソッドを、曲線を描画するときにマウスがクリックされたらOnMouseDownForDrawFreeLineメソッドが呼ぶようにします。

メニューで[直線]が選択されているときマウスがクリックされたときの処理を示します。

メニューで[自由曲線]が選択されているときマウスがクリックされたときの処理を示します。

次にドラッグされているときのイベントハンドラを修正します。

メニューで[直線]が選択されているときマウスがドラッグされているときの処理を示します。

startPointとendPointを調べて直線を描画しています。

メニューで[自由曲線]が選択されているときマウスがドラッグされているときの処理を示します。

マウスが動くたびにendPointをリストにいれていき、各点を結ぶ直線を描画して曲線を描画しているようにみせかけています。

マウスボタンが離されたらイベントを発生させます。

メニューで[直線]が選択されているとき、マウスボタンが離されたときの処理を示します。

startPointとendPointのあいだに直線を描画して、startPointとendPointに不適切な値を代入しています。

メニューで[自由曲線]が選択されているとき、マウスボタンが離されたときの処理を示します。

linePointsに格納した点をとりだし、これらを結ぶ直線を描画して自由曲線を描画しています。おわったらstartPointとendPointに不適切な値を代入しています。