3点を指定して、コンパス円を描くモードをつくる。
とりあえず、3点からコンパス、と言う機能を追加した。ツールバーをコンパスモードにしてから、シフトを押さえながら3点を指定すると、円が描かれるようにした。(7月23日)
シンデレラでは「補助的な円」が描画される。これはまだ。
だいいち、コンパス、という概念自体が分かりにくい、という説もある。
KSEGでは2アクションで実行される。まず線分の長さをはかりとって、その長さを半径とする円を描く、という手順。
CINDYモードで、
「コンパスモードにする」→ハイライトをクリア
→(Shiftなしで)3点をクリック→円が描かれる
という手順に変更(Shiftキーがいらなくなった。)
さらに、シンデレラ風の補助的な円を表示するようにした。
そのためにクラスMyCanvasに
「コンパスモードにする」→ハイライトをクリア
→(Shiftなしで)3点をクリック→円が描かれる
という手順に変更(Shiftキーがいらなくなった。)
さらに、シンデレラ風の補助的な円を表示するようにした。
そのためにクラスMyCanvasに
int compasscursorx,compasscursory;
int compasscenterx,compasscentery;
int compassradius;
を追加。1行目はコンパスモードの間、マウスポインタを追跡する。2,3行目は補助的に描かれる円の中心と半径。
(おまけ)中を塗らないで円を描きたいときには
(おまけ)中を塗らないで円を描きたいときには
pDC->SetPen(AxisPen);
pDC->SetBrush(*wxTRANSPARENT_BRUSH);
pDC->DrawCircle(compasscenterx,compasscentery,compassradius);
ってやるの知ってた?