 
 (defn get-transform-css [{rotation :Rotation, scale :Scale, pivot :PivotPoint, 
                           :or {rotation 0, scale 1, pivot {:x 0, :y 0}}}]
-  {html5TransformProperty (str "rotation(" rotation ") scale(" scale ")")
+  {html5TransformProperty (str "rotate(" (mod (/ (* rotation 180) js/Math.PI) 360) "deg) scale(" scale "," scale ")")
    html5TransformOriginProperty (str (:x pivot) "px " (:y pivot) "px")})
 
 (defn get-visibility-css [value]

    ;; we apply some customizations to the style, to make the shape elliptical
    (let [ellipse-style (assoc style 
                               "borderRadius" (str (style "width") "px /" (style "height") "px"))]
      (dom/div #js {:style (dict->js ellipse-style)} (render-submorphs app)))))

(defmethod shape :default [app owner]
  (let [style (extract-shape-css app)]

            false
            true))))

(defn call-step [->morph]
  ((-> ->morph :morph :step) ->morph))

; render based on ad hoc definition of morph like frame
; to visualize the halo
(defn render-halo [app owner])

(defmethod morph :default [app owner]
  (reify
    om/IInitState
    (init-state [_]
       {:owner nil})
    om/IRenderState
    (render-state [_ state]
                  
                  (let [state (assoc state :>> (om/ref-cursor app))
                        style (dict->js (extract-morph-css app))]
                    (dom/div  #js {:style style
                                   :className "morphNode"
                                   :onClick #(handle-click % state)
                                   :onMouseDown #(draggable/start-dragging % state owner)
                                   :onMouseUp #(draggable/stop-dragging % state owner)
                                   :onMouseMove #(draggable/drag % state)
                                   :onMouseEnter #(handle-enter % state)
                                   :onMouseLeave #(handle-leave % state)} 
                      (when (get-in app [:morph :Halo]) (render-halo app owner))
                      (shape app owner))))))

;; multi method for shape

