             :underline false
             :strikethrough false
             :size 50}}]
-   [:ellipse
-    {:x 350 :y 350 :w 40 :h 40 :fill {:color :pink}
-     :stroke {:width 4 :color 0xE06060}}]
-   [:line
-    {:x 350 :y 350 :w 18 :h 18 :color :white :alpha 0.8
-     :stroke {:width 7 :cap :butt}}]
+   [:compound
+    {:x 350 :y 350 :w 40 :h 40}
+    [:ellipse
+     {:x 350 :y 350 :w 40 :h 40 :fill {:color :pink}
+      :stroke {:width 4 :color 0xE06060}}]
+    [:line
+     {:x 350 :y 350 :w 18 :h 18 :color :white :alpha 0.8
+      :stroke {:width 7 :cap :butt}}]
+    [:line
+     {:x 350 :y 350 :w -18 :h 18 :fill false :color :white :alpha 0.8
+      :stroke {:width 7 :cap :butt}}]]
    [:image
-    {:x 200 :t 150 :data img :rotate 171}]
-   [:line
-    {:x 350 :y 350 :w -18 :h 18 :fill false :color :white :alpha 0.8
-     :stroke {:width 7 :cap :butt}}]
+     {:x 200 :t 150 :data img :rotate 171}]
    [:line
     {:x 180 :y 220 :w 0 :h 50 :color :red
      :stroke {:width 10 :cap :round}

         (filter second)
         (into {}))))
   
(defmulti make-obj (fn [obj-keyword params] obj-keyword))

(defmethod make-obj :arc
  [_ {:keys [l t w h start-angle arc-angle arc-boundary closed]}]

      .show)
    panel))

(defn demo-canvas []
  (canvas-frame grafix))

(defn demo-animation [reference]
