1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-01 13:50:36 +00:00
QB64-PE/internal/help/WINDOW.txt
2016-03-18 08:36:04 -03:00

54 lines
2.4 KiB
Plaintext

The [[WINDOW]] graphics statement defines the coordinate dimensions of the current graphics view port or closes it.
{{PageSyntax}}'''
: '''WINDOW''' [[SCREEN] (''column1'', ''row1'')-(''column2'', ''row2'')]
{{Parameters}}
* If no statement parameters are used, the previous WINDOW view port area is disabled.
* The SCREEN option inverts Cartesian row values to increase from negative to 0 to positive. Columns unchanged.
* If the SCREEN option is not used, rows use the Cartesian system with highest row at top to lowest row at bottom.
* Optional coordinate values redefine the [[SINGLE]] negative or positive port dimension values when desired.
{{PageDescription}}
* The statement allows a program to create a custom graphic coordinate system independent of the [[SCREEN]] mode used.
* WINDOW dimensions can be greater than the [[SCREEN]] mode size to create larger images for pictures.
* A [[VIEW]] statement can change the viewport area.
* All subsequent graphics statements will use the new coordinate system.
* Use [[CLS]] or [[CLS|CLS 1]] to clear the active WINDOW view port area.
* [[RUN]] or a [[SCREEN (statement)|SCREEN]] statement will also disable the window viewport.
* Note: '''QB64''' can create a custom sized window using [[_NEWIMAGE]].
* '''Note: QB64 [[RUN]] statements will not close [[VIEW PRINT]], [[VIEW]] or [[WINDOW]] view ports presently!'''
''Example:'' Using a WINDOW to amplify circle sizes. [[PMAP]] finds the corresponding WINDOW co-ordinates.
{{CodeStart}}
{{Cl|SCREEN}} 12
{{Cl|WINDOW}} (0, 0)-(10, 10) 'uses Cartesian row co-ordinates
{{Cl|PRINT}} "Click mouse to place a circle. Hit enter for next color."
{{Cl|FOR...NEXT|FOR}} clr = 1 {{Cl|TO}} 15
{{Cl|DO}}
{{Cl|DO}}
{{Cl|IF...THEN|IF}} {{Cl|_MOUSEBUTTON}}(1) {{Cl|THEN}}
x! = {{Cl|PMAP}}({{Cl|_MOUSEX}}, 2) ' Convert mouse screen co-ordinates to window co-ordinates.
y! = {{Cl|PMAP}}({{Cl|_MOUSEY}}, 3)
{{Cl|CIRCLE}} (x!, y!), .2, clr
{{Cl|PAINT}} {{Cl|STEP}}(0, 0), clr
{{Cl|END IF}}
{{Cl|LOOP}} {{Cl|WHILE}} {{Cl|_MOUSEINPUT}}
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} = {{Cl|CHR$}}(13)
{{Cl|NEXT}} '' ''
{{CodeEnd}}
{{PageSeeAlso}}
* [[PMAP]]
* [[VIEW]] {{text|(graphics view port)}}
* [[VIEW PRINT]] {{text|(text view port)}}
* [[_NEWIMAGE]], [[_LOADIMAGE]]
* [https://en.wikipedia.org/wiki/Cartesian_coordinate_system Cartesian coordinate system]
{{PageNavigation}}