ScreenSet
Sets current work and visible pages
Syntax
`
Declare Sub ScreenSet ( ByVal work_page As Integer = -1, ByVal visible_page As Integer = -1 )
`
Usage
`
ScreenSet [ work_page ] [, visible_page ]
`
Parameters
`work_page`
index to working page
`visible_page`
index to visible page
Description
`ScreenSet` allows to set the current working page and the current visible page. Page numbers range from 0 to the num_pages specified when setting the graphics mode minus 1 . You can use this function to achieve page-flipping or double-buffering. If you omit `work_page` but not `visible_page`, only visible page is changed. If you omit `visible_page` but not `work_page`, only work page is changed. If you omit both arguments, both work page and visible page are reset to page 0.
Example
`
' Set good old 320x200 in 8bpp mode, but with 2 pages
Screen 13, ,2
Color ,15
Dim x As Integer
x = -40
' Let's work on page 1 while we display page 0
ScreenSet 1, 0
Do
Cls
Line (x, 80)-(x + 39, 119), 4, BF
x = x + 1
If (x > 319) Then x = -40
' Wait for vertical sync: only used as synchronous temporizing in that case (can be put anywhere in the Do Loop)
ScreenSync
' Copy work page to visible page
ScreenCopy
Loop While Inkey = ""
`
Dialect Differences

- Not available in the -lang qb dialect unless referenced with the alias `__Screenset`.

Differences from QB

- New to FreeBASIC

See also

- `Screen (Graphics)`
- `ScreenRes`
- `ScreenCopy`