図形エディタで図形ファイルから図形を読み込めるようにしました。また、図形の線の太さ、線の色、塗りつぶしの色を後から変更できるようにしました。TLW744 として発行しました。

【図87 Shapes 1.1】
図形ファイル(図形エディタの出力を保存した図形プログラム)から Shapes_Init() サブルーチンを読み込み、解析して shape 配列に登録するようにしました。
今回もプログラムの一部を GTV460-0 として発行しました。
この部分を連結して使用して出力した図形プログラムの中で、図形全体を回転する Shapes_Rotate() を呼ぶときは、その前に、Shapes_CalcWidthAndHeight() を呼んでください。サンプルを PSN020 として発行しましたので、参考にしてください。
さて、今回の版ではマウス制御の部分も改善しました。図形をマウスでクリックし、マウスボタンを放した後も、マウスを動かすと図形が動いてしまうという問題がありました。マウスを放したかどうか、判定する処理の前で、マウスを放してしまうとこの現象が起きていました。マウスをクリックを待つときに、マウスを放したかどうかについても監視を始めるようにしました。
さらに、図形のないところでマウスをドラッグすると、その後、図形を移動できないという問題が発生しました。これは Mouse_OnDown() というマウス移動時のイベントハンドラの中で、マウスを放したことを表すフラグ released に “False” を設定することで解決しました。このフラグが立ちっ放しになっていて、マウス移動が無視されていました。
図形エディタのように、マウス操作のようなイベントによってプログラムを制御するのは、結構複雑だと改めて感じました。
