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