                           :stroke-opacity "1"}}]]))
 
 (mx/defc single-not-editable-selection-handlers
-  [{:keys [id] :as shape}]
+  [{:keys [id] :as shape} zoom]
   (let [{:keys [width height x y]} (geom/outer-rect shape)]
     [:g.controls
      [:rect.main {:x x :y y
                   :width width
                   :height height
-                  :stroke-dasharray "5,5"
+                  :stroke-dasharray (str (/ 5.0 zoom) "," (/ 5.0 zoom))
                   :style {:stroke "#333"
                           :fill "transparent"
                           :stroke-opacity "1"}}]]))
 
 (mx/defc single-selection-handlers
-  [{:keys [id] :as shape}]
+  [{:keys [id] :as shape} zoom]
   (letfn [(on-mouse-down [vid event]
             (dom/stop-propagation event)
             (start-resize vid id))]

       [:rect.main {:x x :y y
                    :width width
                    :height height
                    :stroke-dasharray "5,5"
                    :style {:stroke "#333"
                            :fill "transparent"
                            :stroke-opacity "1"}}]
       [:circle.top
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :top %)
                :cx (+ x (/ width 2))
                :cy (- y 2)})]
       [:circle.right
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :right %)
                :cy (+ y (/ height 2))
                :cx (+ x width 1)})]
       [:circle.bottom
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :bottom %)
                :cx (+ x (/ width 2))
                :cy (+ y height 2)})]
       [:circle.left
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :left %)
                :cy (+ y (/ height 2))
                :cx (- x 3)})]
       [:circle.top-left
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :top-left %)
                :cx x
                :cy y})]
       [:circle.top-right
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :top-right %)
                :cx (+ x width)
                :cy y})]
       [:circle.bottom-left
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :bottom-left %)
                :cx x
                :cy (+ y height)})]
       [:circle.bottom-right
        (merge +circle-props+
               {:on-mouse-down #(on-mouse-down :bottom-right %)
                :cx (+ x width)
                :cy (+ y height)})]])))


  []
  (let [shapes (mx/react selected-shapes-ref)
        edition (mx/react scommon/edition-ref)
        zoom (mx/react wb/zoom-ref)
        shapes-num (count shapes)
        shape (first shapes)]
    (cond
