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