www.riscos.com Technical Support: |
|
The operating system allows the programmer to set up special rectangular areas of the screen, called viewports, in order to restrict where text or graphics can appear on the screen.
Text viewports provide automatic scrolling of text written into the viewport area, and so are also referred to as 'scrolling viewports'.
Graphics viewports restrict the area affected by graphics operations, so that, for example, lines are clipped to lie within the viewport area. Graphics viewports are therefore also referred to as 'clipping viewports'.
Note: the text and graphics viewports described here are supported directly by the VDU drivers, and are quite distinct from the bordered, moveable windows used by the window manager software, which uses graphics viewports as a stepping stone to greater functionality (for more details see the section entitled Window managed programs).
Normally, text may appear anywhere on the screen. However, you can define a text viewport, which allows the text to appear only inside the viewport. To set up a text viewport, use the VDU 28 command as follows:
VDU 28,left,bottom,right,top
where left,bottom is the bottom lefthand and right,top the top righthand position inside the viewport given in text coordinates:
Nothing outside the text viewport is affected by text statements, such as CLS to clear the text screen, or screen scrolling. Note that TAB(X,Y) positions the text cursor relative to the position of the top left of the current text viewport. The following program demonstrates how text viewports behave:
10 MODE 1 20 REM Set up a text viewport 6 characters square 30 VDU 28,5,10,10,5 40 REM Change the background colour to colour 1 (red) 50 COLOUR 129 60 REM Clear the text screen to show where it is 70 CLS 80 REM Demonstrate scrolling 90 FOR N% = 1 TO 20 100 PRINT N% 110 NEXT N% 120 REM Show position of character (2,3) 130 PRINT TAB(2,3);"*" 140 END
To revert back to having the whole screen as the text viewport type
VDU 26
The precise actions of the VDU 26 command are as follows:
Just as text may have a text viewport defined, so a graphics viewport may be set up using
VDU 24, left;bottom;right;top;
where (left,bottom) and (right,top) are the coordinates of the lower lefthand and upper righthand pixels inside the viewport. Be sure to use semi-colons as indicated, not commas.
Nothing outside the graphics viewport is affected by graphics commands, such as CLG to clear the graphics screen. When a graphics viewport is set up, the graphics origin (0,0) is unaltered.
The following program demonstrates how graphics viewports behave:
10 MODE 12 20 REM Set up a graphics viewport,a quarter of the screen size 30 VDU 24,320;256;960;768; 40 REM Change the background colour to colour 1 (red) 50 GCOL 129 60 REM Clear the graphics viewport 70 CLG 80 REM Show position of 0,0 90 CIRCLE 0,0,600 100 END
To revert back to having the whole screen as the graphics viewport type
VDU 26