From: <bri...@ya...> - 2006-05-30 23:02:41
|
Hi, I've created the small program above, based on an example from Gtk2hs demo directory, so I could try Cairo. I've been thinking for a while but can't figure out why it isn't drawing. It's probably a small error, but I just can't find it. Can you help me? I believe everything is properly installed, since I can run the "drawing.hs" Cairo example. Thanks, Maurício ************* module Main (Main.main) where import Graphics.UI.Gtk import Graphics.Rendering.Cairo main :: IO () main = do initGUI window <- windowNew onDestroy window mainQuit set window [ containerBorderWidth := 10, windowTitle := "Carrinhos" ] hbox <- hBoxNew False 0 window `containerAdd` hbox botao_sair <- buttonNewWithLabel "Quit" desenho <- drawingAreaNew desenho `onSizeRequest` return (Requisition 100 100) desenho `onExposeRect` pintarJanelinha desenho boxPackStartDefaults hbox botao_sair boxPackStartDefaults hbox desenho onClicked botao_sair $ do widgetDestroy window widgetShowAll window mainGUI pintarJanelinha::DrawingArea -> Rectangle -> IO () pintarJanelinha window _ = do drawWindow <- drawingAreaGetDrawWindow window (w_,h_) <- drawableGetSize drawWindow let (w,h) = (fromIntegral w_ , fromIntegral h_) renderWithDrawable drawWindow $ do setSourceRGB 1 0 0 setLineWidth 20 setLineCap LineCapRound setLineJoin LineJoinRound moveTo 0.0 0.0 lineTo w h arc (w/2.0) (h/2.0) ((min w h)/2.0) 0.0 3.1416 |
From: Geoffrey A. W. <ge...@se...> - 2006-05-30 23:05:55
|
On May 30, 2006, at 7:02 PM, Maur=EDcio wrote: > > I've created the small program above, based on an example from =20 > Gtk2hs demo directory, so I could try Cairo. I've been thinking for =20= > a while but can't figure out why it isn't drawing. It's probably a =20 > small error, but I just can't find it. Can you help me? I believe =20 > everything is properly installed, since I can run the "drawing.hs" =20 > Cairo example. I think you're missing a call to "stroke" or some other command = to =20 actually perform the drawing.= |