Copies the contents of a graphical page into another graphical page
Syntax
Usage
ScreenCopy [ from_page ] [, to_page ]
Parameters
frompage
page to copy from
topage
page to copy to
Description
from_page is the page to copy from. If this argument is omitted, the current work page is assumed.
to_page is the page to copy to. If this argument is omitted, the currently visible page is assumed.
Page numbers range from 0 to the num_pages specified when setting the graphics mode minus 1
You can use this function to add a double buffer to your graphics. Any graphics screen mode supports this function; you must supply valid page numbers otherwise
ScreenCopy will have no effect.
There are two other functons similar to this:
Flip and
PCopy.
Flip is designed to work in OpenGL modes, while
PCopy supports console pages on some platforms. Both do the same thing as
ScreenCopy in normal graphics modes.
Example:
See
ScreenSet example.
Example
'' 320x200x8, with 3 pages
Screen 13,,3
'' image for page #1
ScreenSet 1, 0
Cls
Circle( 160, 100 ), 90, 1 ,,,, f
Circle( 160, 100 ), 90, 15
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"
'' image for page #2
ScreenSet 2, 0
Cls
Line( 50, 50 )-( 270, 150 ), 2, bf
Line( 50, 50 )-( 270, 150 ), 15, b
Print "Press 1 to copy page #1 to visible page"
Print "Press escape to exit"
'' page #0 is the visible page
ScreenSet 0, 0
Cls
Print "Press 1 to copy page #1 to visible page"
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"
Dim k As String
Do
k = Inkey
Select Case k
Case Chr(27)
Exit Do
Case "1"
ScreenCopy 1, 0
Case "2"
ScreenCopy 2, 0
End Select
Sleep 25
Loop
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias __Screencopy.
Differences from QB
- New to FreeBASIC. QB had PCopy to do the same function.
See also