renderDemo :: Context -> DemoData -> Double -> Double -> Int -> Int -> Double -> IO ()
renderDemo c demoData mx my w h t =
  do drawEyes c (fromIntegral w - 250) 50 150 100 (realToFrac mx) (realToFrac my) (realToFrac t)
     drawParagraph c (fromIntegral w - 450) 50 150 100 (realToFrac mx) (realToFrac my)
     drawGraph c 0 (fromIntegral h/2) (fromIntegral w) (fromIntegral h/2) (realToFrac t)
     drawColorwheel c (fromIntegral w - 300) (fromIntegral h - 300) 250 250 (realToFrac t)

     drawLines c 120 (fromIntegral h - 50) 600 50 (realToFrac t)

     drawWidths c 10 50 30

     drawCaps c 10 300 30

     drawScissor c 50 (fromIntegral h-80) (realToFrac t)

     drawComposite c

     save c
     let popy = 95 + 24
     drawThumbnails c 365 popy 160 300 (images demoData) (realToFrac t)

     restore c
renderDemo :: Context -> DemoData -> Double -> Double -> Int -> Int -> Double -> IO ()
renderDemo c demoData mx my w h t =
  do drawEyes c (fromIntegral w - 250) 50 150 100 (realToFrac mx) (realToFrac my) (realToFrac t)
     drawParagraph c (fromIntegral w - 450) 50 150 100 (realToFrac mx) (realToFrac my)
     drawGraph c 0 (fromIntegral h/2) (fromIntegral w) (fromIntegral h/2) (realToFrac t)
     drawColorwheel c (fromIntegral w - 300) (fromIntegral h - 300) 250 250 (realToFrac t)

     drawLines c 120 (fromIntegral h - 50) 600 50 (realToFrac t)

     drawWidths c 10 50 30

     drawCaps c 10 300 30

     drawScissor c 50 (fromIntegral h-80) (realToFrac t)

     drawComposite c

     save c
     let popy = 95 + 24
     drawThumbnails c 365 popy 160 300 (images demoData) (realToFrac t)

     restore c
renderDemo c demoData mx my w h t =
  do drawEyes c (fromIntegral w - 250) 50 150 100 (realToFrac mx) (realToFrac my) (realToFrac t)
     drawParagraph c (fromIntegral w - 450) 50 150 100 (realToFrac mx) (realToFrac my)
     drawGraph c 0 (fromIntegral h/2) (fromIntegral w) (fromIntegral h/2) (realToFrac t)
     drawColorwheel c (fromIntegral w - 300) (fromIntegral h - 300) 250 250 (realToFrac t)

     drawLines c 120 (fromIntegral h - 50) 600 50 (realToFrac t)

     drawWidths c 10 50 30

     drawCaps c 10 300 30

     drawScissor c 50 (fromIntegral h-80) (realToFrac t)

     drawComposite c

     save c
     let popy = 95 + 24
     drawThumbnails c 365 popy 160 300 (images demoData) (realToFrac t)

     restore c