•  Back 
  •  Window library 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.9.11  wind_update                                                TOS

 Name:         »Update window« - Blocks or releases screen operations.

 Opcode:       107

 Syntax:       int16_t wind_update ( int16_t wi_ubegend );

 Description:  The call wind_update signals the AES that a user 
               application is currently redrawing the screen. 
               Following this, the AES restricts its own graphical 
               'activities' such as the dropping down of menus or the 
               moving of windows, for instance.

                wi_ubegend      Meaning

                END_UPDATE (0)  Screen redraw is compete and the flag 
                                set by BEG_UPDATE is reset
                BEG_UPDATE (1)  Screen redraw starts, rectangle lists 
                                are frozen, flag is set to prevent any 
                                other processes updating the screen
                END_MCTRL (2)   Application releases control of the 
                                mouse to the AES and resumes mouse 
                                click message reactions
                BEG_MCTRL (3)   The application wants to have sole 
                                control over mouse button messages

               MagiC implements the 'check and set mode' of AES 4.00. 
               The call then is wind_update (BEG_UPDATE|0x100) or 
               and_update (BEG_MCTRL|0x100), i.e. a logical OR with a 
               NO_BLOCK mask (0x100). Here the update control is only 
               applied if no other application has control of the 
               screen semaphore. If it has, the function returns at 
               once with an error-value of 0.

               Note: It is recommended that this function be used only 
               for time-sensitive applications (e.g. terminal programs 
               etc.) where long redraws by another applications could 
               cause a timeout.

               All wind_update modes nest, so to release the screen 
               semaphore the same number of END_UPDATE calls must be 
               received as BEG_UPDATEs were made, but it is preferable 
               to design applications that avoid nesting these calls.

               Both the BEG_xxx calls should be used before displaying 
               a form or a popup to stop them from being overwritten, 
               or mouse clicks to them being passed to other applica- 
               tions. Also, make sure you wait until after BEG_UPDATE 
               has been called before turning off the mouse cursor 
               when updating the screen.

               The presence of this feature can be inquired for with 
               appl_getinfo (opcode 11).

 Return value: An error has arisen only if the value 0 is returned.

 Availability: All AES versions.

 Group:        Window library

 See Also:     Binding