0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-13 02:28:18 -05:00

Add rect rendering.

This commit is contained in:
Andrey Antukh 2016-01-29 00:55:56 +02:00
parent b4b98428d4
commit 00cc51c6d3
4 changed files with 20 additions and 0 deletions

View file

@ -104,6 +104,13 @@
(assoc shape
:x2 x2 :y2 y2))
(defmethod -resize :builtin/rect
[shape [x2 y2]]
(let [{:keys [x y]} shape]
(assoc shape
:width (- x2 x)
:height (- y2 y))))
(defmethod -resize :default
[shape _]
(throw (ex-info "Not implemented" (select-keys shape [:type]))))

View file

@ -68,6 +68,17 @@
(html
[:line attrs])))
(defmethod sh/-render :builtin/rect
[{:keys [id x1 y1 x2 y2] :as shape}]
(let [key (str id)
props (select-keys shape [:x :y :width :height])
attrs (-> (extract-style-attrs shape)
(merge {:id key :key key})
(merge props))]
(html
[:rect attrs])))
;; FIXME: the impl should be more clear.
(defmethod sh/-render :builtin/group

View file

@ -78,6 +78,7 @@
(when-let [shape (:drawing @wb/workspace-l)]
(case (:type shape)
:builtin/icon (init-icon shape)
:builtin/rect (init-shape shape)
:builtin/line (init-shape shape))))]
(as-> wb/interactions-b $

View file

@ -16,6 +16,7 @@
(def +menus-map+
{:builtin/icon [:menu/icon-measures :menu/fill :menu/stroke]
:builtin/line [:menu/stroke]
:builtin/rect [:menu/icon-measures :menu/stroke :menu/fill]
:builtin/group []})
(def +menus-by-id+