給Obsidian Excalidraw增加任意元素的bounding box
背景
有時(shí)候需要給自定義的元素增加一個(gè)bounding box,用于方便改變背景、連接箭頭(用于跳轉(zhuǎn)過(guò)渡等功能)等。而現(xiàn)在Excalidraw無(wú)法給任意元素增加bounding box,因此增加這個(gè)功能。
效果
一、?跳轉(zhuǎn)過(guò)渡對(duì)比
雖然跳轉(zhuǎn)過(guò)渡就算箭頭沒(méi)有連接一個(gè)元素也能跳轉(zhuǎn),但無(wú)法知道需要縮放的什么程度,有了之后就能更合適地縮放
1.1 有透明bounding box的跳轉(zhuǎn)過(guò)渡效果。 (其中給大括號(hào)增加了一個(gè)透明的bounding box,可以跟著一起放大、縮小、旋轉(zhuǎn)。)

1.2?無(wú)?bounding box的跳轉(zhuǎn)過(guò)渡效果

二、bounding box演示
2.1?創(chuàng)建

2.2 隨著元素的放大、縮小,bounding box跟著變

2.3 當(dāng)然bounding box就是個(gè)矩形,可以改變屬性,比如透明隱藏

實(shí)現(xiàn)
和上次生成表格類似,都是在對(duì)元素進(jìn)行resize時(shí)/后進(jìn)行Hook。不過(guò)設(shè)置矩形形狀部分沒(méi)有通過(guò)getBoundingBox的結(jié)果去設(shè)置,因?yàn)檫@里的矩形需要可以跟著旋轉(zhuǎn)。
(這次順便把上次的resizeSingleElementHook挪到TransformElements后,以cover多元素resize的情況)
標(biāo)簽: