mirror of
https://github.com/penpot/penpot.git
synced 2026-09-07 12:40:12 +00:00
fix zoom drawing glitch (rust)
This commit is contained in:
parent
80bbfe7a6f
commit
305de33200
@ -281,9 +281,9 @@
|
|||||||
(swap! canvas-set? true))))))
|
(swap! canvas-set? true))))))
|
||||||
;; redraw when vbox or shapes change
|
;; redraw when vbox or shapes change
|
||||||
(mf/with-effect
|
(mf/with-effect
|
||||||
[vbox' base-objects canvas-set? zoom]
|
[vbox base-objects canvas-set? zoom]
|
||||||
(when @canvas-set?
|
(when @canvas-set?
|
||||||
(render-v2/draw-canvas vbox' zoom base-objects))))
|
(render-v2/draw-canvas vbox zoom base-objects))))
|
||||||
|
|
||||||
(hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only? drawing-tool drawing-path?)
|
(hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only? drawing-tool drawing-path?)
|
||||||
(hooks/setup-viewport-size vport viewport-ref)
|
(hooks/setup-viewport-size vport viewport-ref)
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
reset-canvas (gobj/get ^js internal-module "_reset_canvas")
|
reset-canvas (gobj/get ^js internal-module "_reset_canvas")
|
||||||
scale (gobj/get ^js internal-module "_scale")]
|
scale (gobj/get ^js internal-module "_scale")]
|
||||||
|
|
||||||
(reset-canvas gpu-state)
|
(js/requestAnimationFrame (fn [])
|
||||||
(scale gpu-state zoom zoom)
|
(reset-canvas gpu-state)
|
||||||
(translate gpu-state (- (:x vbox)) (- (:y vbox)))
|
(scale gpu-state zoom zoom)
|
||||||
(doseq [shape (vals objects)]
|
(translate gpu-state (- (:x vbox)) (- (:y vbox)))
|
||||||
(let [sr (:selrect shape)]
|
(doseq [shape (vals objects)]
|
||||||
(println "*****" (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))
|
(let [sr (:selrect shape)]
|
||||||
(draw-rect gpu-state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))))))
|
(draw-rect gpu-state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr)))))))
|
||||||
|
|
||||||
(defn set-canvas
|
(defn set-canvas
|
||||||
[canvas vbox zoom objects]
|
[canvas vbox zoom objects]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user