gtk2hs + Cairo
Cairoでdrawing。monadがどうのとかいう話があって理論面ではややこしいが真似して書いてそのうち理解できるかな?一つのサンプルをそのままコピペできずにいろいろ繋ぎあわせるので頭を使う。
module Main where
import Graphics.UI.Gtk
import Graphics.Rendering.Cairo
import Control.Monad.Trans(liftIO)
main = do
initGUI
window <- windowNew
widgetSetSizeRequest window 640 400
on window exposeEvent $ do
drawWin <- eventWindow
liftIO $ do
putStrLn "expose"
renderWithDrawable drawWin $ do
rectangle 50 50 100 100
fill
setSourceRGB 1 0 0
arc 200 200 30 0 (1 * pi)
fill
stroke
return True
on window deleteEvent (liftIO $ do
mainQuit
return False)
widgetShowAll window
mainGUI

Debian QA
Facebook (taniguchi.takaki)
Twitter (@takaki_t)