RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

The Window Manager Updating Windows

Programmer's Reference Manuals
» Part 7 - The Desktop
» The Window Manager
» 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. i.e 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. i.e 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. i.e 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.

Created on May 12, 2009 14:41:22 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: The Window Manager Technical Details

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 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