1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-29 12:50:37 +00:00
QB64-PE/internal/help/_DEST.txt
SteveMcNeill 33adc04fc4 Add temp folder to repo. It's necessary as well!
Just more initial setting on... nothing much to see here.
2022-04-28 13:39:56 -04:00

115 lines
4.3 KiB
Plaintext

{{DISPLAYTITLE:_DEST}}
The [[_DEST]] statement sets the current write image or page. All graphic and print changes will be done to this image.
{{PageSyntax}}
:[[_DEST]] {{Parameter|imageHandle&}}
{{PageDescription}}
* {{Parameter|imageHandle&}} is the handle of the image that will act as the current write page.
* '''_DEST 0''' refers to the present program [[SCREEN]]. You can use 0 to refer to the present program [[SCREEN]].
* [[_DEST]] [[_CONSOLE]] can set the destination to send information to a console window using [[PRINT]] or [[INPUT]].
* If {{Parameter|imageHandle&}} is an invalid handle, an [[ERROR Codes|invalid handle]] error occurs. Always check for valid handle values first ({{Parameter|imageHandle&}} < -1).
*''Note:'' Use [[_SOURCE]] when you need to read a page or image with [[POINT]], [[GET (graphics statement)|GET]] or the [[SCREEN (function)|SCREEN]] function.
{{PageExamples}}
''Example 1:'' Placing a center point and a circle using [[_CLEARCOLOR]] to eliminate the background color black.
{{CodeStart}} '' ''
{{Cl|SCREEN (statement)|SCREEN}} 13 'program screen can use 256 colors
a& = {{Cl|_NEWIMAGE}}(320,200,13) 'create 2 screen page handles a& and b&
b& = {{Cl|_NEWIMAGE}}(320,200,13)
{{Cl|_DEST}} a& 'set destination image to handle a&
{{Cl|PSET}} (100, 100), 15 'draw a dot on the current destination handle a&
{{Cl|_DEST}} b& 'set destination image to handle b&
{{Cl|CIRCLE}} (100, 100), 50, 15 'draw a circle on the current destination handle b&
{{Cl|_CLEARCOLOR}} 0 'make page b color 0 (black) transparent
{{Cl|_PUTIMAGE}} , b&, a& 'put circle on image b to image a& (a PSET dot)
{{Cl|_PUTIMAGE}} , a&, 0 'put what is on image a& to the screen (handle 0) '' ''
{{CodeEnd}}
''Example 2:'' Demonstrates how [[PRINT|printed]] text can be stretched using [[_PUTIMAGE]] with [[_DEST]] pages.
{{CodeStart}} '' ''
{{Cl|DIM}} a(10) {{Cl|AS}} {{Cl|LONG}}
{{Cl|DIM}} b {{Cl|AS}} {{Cl|LONG}}
{{Cl|REM}} Sets up a newimage for B then sets the screen to that.
b = {{Cl|_NEWIMAGE}}(640, 480, 32)
{{Cl|SCREEN (statement)|SCREEN}} b
{{Cl|REM}} Make pages 48 pixels tall. If the image is not at least that it wont work
a(1) = {{Cl|_NEWIMAGE}}(240, 48, 32)
a(2) = {{Cl|_NEWIMAGE}}(240, 48, 32)
a(3) = {{Cl|_NEWIMAGE}}(98, 48, 32)
xa = 100
ya = 120
xm = 4
ym = 4
{{Cl|REM}} Some fun things for the bouncing text.
st$(0) = "doo"
st$(1) = "rey"
st$(2) = "mee"
st$(3) = "faa"
st$(4) = "soo"
st$(5) = "laa"
st$(6) = "tee"
sta$(0) = "This is a demo"
sta$(1) = "showing how to use"
sta$(2) = "the _DEST command"
sta$(3) = "with PRINT"
sta$(4) = "and _PUTIMAGE"
{{Cl|REM}} prints to a(3) image then switches back to the default 0
{{Cl|_DEST}} a(3): f = {{Cl|INT}}({{Cl|RND}} * 6): {{Cl|PRINT}} st$(3): {{Cl|_DEST}} 0
DO
{{Cl|REM}} prints to a(1) and a(2) then switches bac to 0
{{Cl|_DEST}} a(1)
{{Cl|CLS}}
{{Cl|PRINT}} sta(r)
{{Cl|_DEST}} a(2)
{{Cl|CLS}}
{{Cl|PRINT}} sta(r + 1)
{{Cl|_DEST}} 0 'destination zero is the main program page
{{Cl|REM}} a loop to putimage the images in a(1) and a(2) in a way to make it look like its rolling
{{Cl|FOR...NEXT|FOR}} yat = 150 {{Cl|TO}} 380 {{Cl|STEP}} 4
{{Cl|CLS}}
{{Cl|_PUTIMAGE}} (0, yat)-(640, 380), a(1)
{{Cl|_PUTIMAGE}} (0, 150)-(640, yat), a(2)
{{Cl|GOSUB}} bounce
{{Cl|_DISPLAY}}
{{Cl|_LIMIT}} 20
{{Cl|NEXT}} yat
r = r + 1
{{Cl|IF...THEN|IF}} r = 4 {{Cl|THEN}} r = 0
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} <> ""
{{Cl|END}}
bounce:
{{Cl|IF...THEN|IF}} xa > 600 {{Cl|OR (boolean)|OR}} xa < 20 {{Cl|THEN}} xm = xm * -1: {{Cl|_DEST}} a(3): f = {{Cl|INT}}({{Cl|RND}} * 6): {{Cl|CLS}}: {{Cl|_CLEARCOLOR}} 0: {{Cl|PRINT}} st$(f): {{Cl|_DEST}} 0
{{Cl|IF...THEN|IF}} ya > 400 {{Cl|OR (boolean)|OR}} ya < 20 {{Cl|THEN}} ym = ym * -1: {{Cl|_DEST}} a(3): f = {{Cl|INT}}({{Cl|RND}} * 7): {{Cl|CLS}}: {{Cl|_CLEARCOLOR}} 0: {{Cl|PRINT}} st$(f): {{Cl|_DEST}} 0
{{Cl|_PUTIMAGE}} (xa, ya)-(xa + 150, ya + 80), a(3)
xa = xa + xm
ya = ya + ym
{{Cl|RETURN}} '' ''
{{CodeEnd}}
{{small|Adapted from code by CodeViper}}
{{PageSeeAlso}}
* [[_DEST (function)]]
* [[_SOURCE]]
* [[_PUTIMAGE]]
* [[_CONSOLE]]
{{PageNavigation}}
<