RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

WindowManager Updating Windows

WindowManager
» Technical Details
» Updating Windows

Overview

When the Wimp has notified an application that a window needs redrawing, the process of updating it must begin. An application cannot simply update the appropriate area of the screen as other windows may be overlapping it.

There are two approaches to how an application can update a window:

1 Permanent redraw to a window
2 Temporary redraw to a window

Both options have their own benefits within an application. Each option will be discussed in further detail below.

Permanent Redraw

This is useful when a window needs to be updated to reflect a change that will occur to a window. e.g. when a paragraph of text has been reformatted in a word processor.

This to achieved by calling Wimp_ForceRedraw which will clear the update area automatically ready for the new contents to be redrawn by the application.

Once called, the application returns to the central loop where the Redraw_Window_Request originated.

Note: The Wimp will return a return a Redraw_Window_Request from Wimp_Poll, which should be responded to.

Temporary Redraw

This is useful when a window needs to be updated to reflect a temporary change that will occur to a window. e.g. when the mouse is dragging an object across a window.

This is achieve by calling Wimp_UpdateWindow and performing the appropriate operations. Unlike Wimp_ForceRedraw, no clearing of the area takes place. This allows for the application to retain the existing window contents and update the relevant part using EOR; for example, when dragging a line.

Note: The Wimp will return a return a list of rectangles within the work area that need updating which should be responded to.

Revised on August 5, 2018 21:24:21 by Andy S (2979)? (94.126.195.216)
Edit | Back in time (2 revisions) | See changes | History | Views: Print | Source | Linked from: WindowManager Technical Details

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys