Ockey12 / LEGACY-RAGESS

卒業研究で試作したツールです.対象となるプロジェクトのビルドファイルを監視し,ビルドに成功するたびにSwiftソースコードの静的構造を可視化するSwiftDiagramを自動で描画・更新します.
1 stars 0 forks source link

依存関係を表す矢印の描画 #43

Open Ockey12 opened 1 year ago

Ockey12 commented 1 year ago

↓実装のアルゴリズム案

Ockey12 commented 1 year ago

型1つずつのViewをZStack内に描画する。 それぞれを.positionで配置する。 .positionに渡した座標と、その中の要素が配列の何番目にあるかの情報から、矢印の接続部を計算して求める。

Ockey12 commented 1 year ago

StructやClassのようなViewの種類ではなく、依存関係の階層に分ける。 影響を及ぼす側だけの型を1階層目に描画する。 1階層目の型から影響を受ける型を2階層目に描画する。 2階層目の型から影響を受ける型を3階層目に描画する。

影響を及ぼさないし、受けもしない型はどこに描画する?

Ockey12 commented 1 year ago

クロージャをプロパティとして持つViewをbody内で宣言するとき、引数として宣言するクロージャの中で代入処理をできるっぽい? https://swiswiswift.com/2021-12-05/ StructViewのプロパティにクロージャを追加して、body内でStructViewを宣言するときにクロージャ内でGeometryReaderから取得した座標を配列か辞書に.appendする。