みなさま、こんにちは。しむぅです。

今回も前回の続きで、Ver.7との描画の違いについて書きたいと思います。

点線の描画

Ver.7 以前では点線を一定の太さでしか描画することができず、また、出力するプリンタによって結果が異なってしまうという問題があったため、独自に描画することで太い点線を描画できるように変更しました。

Ver.7での描画

上から順番に、実線・破線・点線・一点鎖線・二点鎖線となっていますが、Ver.7では実線以外では線の太さを指定しても有効になりません。

線の描画をWindowsAPIにまかせていた事による制限となります。
Windows 9x 系と Windows NT 系で、点線の描画により違いがあり、Windows NT 系では太い点線を描画することが出来ますが、Windows 9x 系では、太い点線を描画することが出来ませんでした。
OSによって出力結果が異なるのを避けるために、Windows 9x 系にあわせていました。

Ver.9 での描画

Ver.8からWindows 9x 系でも太い点線が使用できるようになりましたが、WindowsAPIの仕様が変わったわけではありません。
短い実線をいくつも描画することで点線を表現しています。
ただし、実線を使用しての描画は、Windows 9x 系で使用したときのみとなります。
Windows NT 系では太い点線を描画することが出来ますので、Windows NT 系ではWindowsAPIを使用するよう内部で判断しています。

Ver.9での曲線

短い実線をいくつも描画するということは、実はとても大変な作業です。
なぜなら、直線だけでなく、曲線も描画しないといけないためです。

そのため、Windows 9x 系ではWindows NT 系と比べて処理に時間がかかるという問題もありました。

他の項目についてはまた別の機会に。