                  (float (- x (/ width 2)))
                  (float (+ y (/ height 2))))))
 
-(defmethod draw-primitive :text
-  [g2d shape  {:keys [text x y font]}]
+(defmethod draw-primitive String
+  [g2d text {:keys [x y font fill stroke]}]
   (let [{:keys [name bold italic underline strikethrough size]} font
         style (bit-or (if bold Font/BOLD 0) (if italic Font/ITALIC 0))
         font1 (Font. name style size)

   [:round-rect
    {:l 20 :t 10 :w 300 :h 300
     :arc-radius 100
     :filled true :color :pink
     :rotate 50}]
   [:round-rect
    {:l 20 :t 10 :w 300 :h 300
     :arc-radius 100 :rotate 50
     :filled false :color 0xE06060
     :stroke {:width 5
              :cap :round
              :dashes [10 10] :dash-phase 0}}]
   [:ellipse
    {:l 25 :t 15 :w 110 :h 90
     :filled true :color :yellow :alpha 0.5}]
   [:polygon
    {:vertices [{:x 100 :y 100}
                {:x 50 :y 150}
                {:x 50 :y 220}
                {:x 160 :y 250}]
     :filled false
     :closed false
     :color :orange
     :alpha 0.8
     :stroke {:width 25
              :dashes [20 3 10 3 5 3]
              :cap :butt
              :join :bevel

   [:arc
    {:l 30 :t 20 :w 150 :h 100
     :start-angle 30 :arc-angle 100 :color 0x004000
     :fill false
     :stroke {:width 10}
     :alpha 0.7}]
   ])
