☆円弧の描画
円弧の描画時に、時計回りなのか、半時計回りなのかを判断して
座標を入れ替えて表示させていましたが、SetArcDirection APIを使うと
処理がすっきりするかも知れませんね。
// SetArcDirectionを使わない処理 if (Enko.m_radEnkoKaku < 0) then ACanvas.Arc(P1.X,P1.Y,P2.X,P2.Y,P4.X,P4.Y,P3.X,P3.Y) else ACanvas.Arc(P1.X,P1.Y,P2.X,P2.Y,P3.X,P3.Y,P4.X,P4.Y);
// SetArcDirectionを使った処理 if (Enko.m_radEnkoKaku < 0) then SetArcDirection(ACanvas.Handle, AD_CLOCKWISE) // 時計回り else SetArcDirection(ACanvas.Handle, AD_COUNTERCLOCKWISE); // 反時計回り ACanvas.Arc(P1.X,P1.Y,P2.X,P2.Y,P3.X,P3.Y,P4.X,P4.Y) // 円弧
| 固定リンク