h6. [[WindowManager]] h6(. » [[WindowManager SWI Calls|SWI Calls]] h6((. » Wimp_UpdateWindow h2. Wimp_UpdateWindow h5. (SWI &400C9) |_<^. Entry |<^. | |<^. R1 |<^. Pointer to block | |<^. Block |<^. | |>^. +0 |<^. Window handle | |>^. +4 |<^. Work area rectangle minimum x (inclusive) | |>^. +8 |<^. Work area rectangle minimum y (inclusive) | |>^. +12 |<^. Work area rectangle maximum x (exclusive) | |>^. +16 |<^. Work area rectangle maximum y (exclusive) | |_<^. Exit |_<^. | |<^. R0 |<^. 0 for no more to do, non-zero for update according to returned block | h4. Use The purpose of this call is to redraw the parts of a window that needs updating. h4. Notes "Work area rectangle" means the area you wish to redraw given in user co-ordinates. This call is similar to [[Wimp_GetRectangle|Wimp_GetRectangle]], but with some important differences. * Not all of the window has to be updated, only the specified rectangular area. * Invalid rectangles are not cleared by the Wimp after redrawing using this call. * Wimp_UpdateWindow can be called at anytime – not just in response to a [[Redraw_Window_Request|Redraw_Window_Request]]. This call exits via Wimp_GetRectangle, which specifies the co-ordinates of the rectangular parts needing updating (one at a time). An example of how to use this call is shown in pseudo code form below: <pre> SYS"Wimp_UpdateWindow",,blk TO rectangles WHILE rectangles update the contents of the returned rectangle SYS"Wimp_GetRectangle",,blk TO rectangles ENDWHILE </pre> h4. See also * [[Redraw_Window_Request|Redraw_Window_Request]] * [[Wimp_GetRectangle|Wimp_GetRectangle]] * [[Wimp_RedrawWindow|Wimp_RedrawWindow]]