# data file for the Fltk User Interface Designer (fluid) version 1.0303 header_name {.h} code_name {.cxx} Function {make_window(IO (Ref Window))} {open } { Fl_Window window {open xywh {397 202 315 440} type Double resizable visible } { Fl_Slider control { label {move this} xywh {90 200 30 200} code0 {setWhen control [WhenChanged, WhenRelease, WhenNotChanged]} } Fl_Slider fast { label {fast redraw} xywh {140 200 30 200} code0 {setOutput fast} } Fl_Slider slow { label {slow redraw} xywh {190 200 30 200} code0 {setOutput slow} } Fl_Box {} { label {The left slider has changed[WhenChanged, WhenRelease, WhenNotChanged] so it produces a callback on both drag and release mouse events. The middle slider (representing a widget with low overhead) is changed on every mouse movement. The right slider (representing a widget with high overhead) is only updated when the mouse is released, by checking if FL.pushed is zero.} xywh {10 10 300 180} box DOWN_BOX color 53 selection_color 47 labelfont 4 labelsize 12 align 148 } } code {let { control_callback :: Ref Slider -> IO (); control_callback slider = do { v <- getValue slider; setValue fast v; pushed_ <- FL.pushed; case pushed_ of { Nothing -> setValue slow v >> return (); _ -> return (); } } }} {} code {setCallback control control_callback} {} code {return window} {selected } }