mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-30 22:20:17 +00:00
110 lines
4.3 KiB
Text
110 lines
4.3 KiB
Text
|
The '''_FULLSCREEN''' function returns the present full screen mode setting of the screen window.
|
||
|
|
||
|
|
||
|
{{PageSyntax}}: full% = {{KW|_FULLSCREEN (function)|_FULLSCREEN}}
|
||
|
|
||
|
|
||
|
|
||
|
* ''Function Returns:''
|
||
|
** 0 = _OFF (any positive non-0 value means fullscreen is on)
|
||
|
** 1 = _STRETCH
|
||
|
** 2 = _SQUAREPIXELS
|
||
|
|
||
|
|
||
|
It '''cannot''' be assumed that calling {{KW|_FULLSCREEN}} will succeed. It cannot be assumed that the type of full screen will match the requested one. '''Always check the _FULLSCREEN function return in your programs!'''
|
||
|
|
||
|
|
||
|
'''Warning:''' Despite your software, the user's hardware, drivers and monitor may not function in some modes. Thus, it is highly recommended that you manually confirm with the user whether the switch to full screen was successful. This can be done "quietly" in some cases by getting the user to click on a button on screen with their mouse or press an unusual key. If the user does not respond after about 8 seconds, switch them back to windowed mode.
|
||
|
<center>'''BEWARE: Using LARGE FONTS with [[_FULLSCREEN]] can cause monitor or Windows Desktop problems or kill a program!'''</center>
|
||
|
|
||
|
|
||
|
''Example:'' Shows how fonts and the _FULLSCREEN mode can resize a program window.
|
||
|
{{CodeStart}}
|
||
|
'' ''
|
||
|
{{Cl|CLS}}
|
||
|
fontpath$ = {{Cl|ENVIRON$}}("SYSTEMROOT") + "\fonts\lucon.ttf" 'Find Windows Folder Path.
|
||
|
f& = {{Cl|_FONT (function)|_FONT}}: defaultf& = f&
|
||
|
{{Cl|DO}}
|
||
|
{{Cl|INPUT}} "1) DEFAULT 2) SIZE WINDOW 3) FULL SCREEN 4) FULL STRETCHED Q) QUIT: ", winmode$
|
||
|
|
||
|
{{Cl|IF}} {{Cl|UCASE$}}(winmode$) = "Q" {{Cl|THEN}} {{Cl|EXIT DO}}
|
||
|
|
||
|
style$ = "MONOSPACE"
|
||
|
|
||
|
{{Cl|SELECT CASE}} winmode$
|
||
|
{{Cl|CASE}} "1"
|
||
|
full = {{Cl|_FULLSCREEN (function)|_FULLSCREEN}} 'get current full screen mode
|
||
|
{{Cl|IF}} full <> 0 {{Cl|THEN}} {{Cl|_FULLSCREEN}} _OFF
|
||
|
{{Cl|GOSUB}} ChangeFont
|
||
|
|
||
|
{{Cl|CASE}} "2"
|
||
|
{{Cl|DO}}
|
||
|
{{Cl|PRINT}}
|
||
|
{{Cl|INPUT}} "Enter a FONT SIZE 5 to 25: ", fontsize%
|
||
|
{{Cl|LOOP}} {{Cl|UNTIL}} fontsize% > 4 {{Cl|AND (boolean)|AND}} fontsize% < 26
|
||
|
|
||
|
{{Cl|DO}}
|
||
|
{{Cl|PRINT}}
|
||
|
{{Cl|INPUT}} "Enter (0) for REGULAR or (1) for ITALIC FONT: ", italic%
|
||
|
{{Cl|LOOP}} {{Cl|UNTIL}} italic% = 0 or italic% = 1
|
||
|
|
||
|
{{Cl|DO}}
|
||
|
{{Cl|PRINT}}
|
||
|
{{Cl|INPUT}} "Enter (0) for REGULAR or (1) for BOLD FONT: ", bold%
|
||
|
{{Cl|LOOP}} {{Cl|UNTIL}} italic% = 0 or italic% = 1
|
||
|
|
||
|
{{Cl|IF}} italic% = 1 {{Cl|THEN}} style$ = style$ + ", ITALIC"
|
||
|
{{Cl|IF}} bold% = 1 {{Cl|THEN}} style$ = style$ + ", BOLD"
|
||
|
full = {{Cl|_FULLSCREEN (function)|_FULLSCREEN}} 'get current full screen mode
|
||
|
{{Cl|IF}} full <> 0 {{Cl|THEN}} {{Cl|_FULLSCREEN}} _OFF
|
||
|
{{Cl|GOSUB}} ChangeFont
|
||
|
|
||
|
{{Cl|CASE}} "3"
|
||
|
{{Cl|GOSUB}} ChangeFont
|
||
|
{{Cl|_FULLSCREEN}} _SQUAREPIXELS
|
||
|
{{Cl|GOSUB}} CheckFull
|
||
|
|
||
|
{{Cl|CASE}} "4"
|
||
|
{{Cl|GOSUB}} ChangeFont
|
||
|
{{Cl|_FULLSCREEN}} _STRETCH
|
||
|
{{Cl|GOSUB}} CheckFull
|
||
|
|
||
|
{{Cl|END SELECT}}
|
||
|
|
||
|
{{Cl|PRINT}}: {{Cl|PRINT}} "_FullScreen mode ="; {{Cl|_FULLSCREEN (function)|_FULLSCREEN}}
|
||
|
{{Cl|PRINT}}
|
||
|
{{Cl|LOOP}}
|
||
|
{{Cl|GOSUB}} ChangeFont
|
||
|
{{Cl|END}}
|
||
|
|
||
|
CheckFull: '<<<<<<<<<<<<<< turn off full screen if function returns 0!
|
||
|
full = {{Cl|_FULLSCREEN (function)|_FULLSCREEN}} 'get current full screen mode
|
||
|
{{Cl|IF}} full = 0 {{Cl|THEN}} {{Cl|_FULLSCREEN}} _{{Cl|OFF}}: {{Cl|SOUND}} 100, .75
|
||
|
{{Cl|RETURN}}
|
||
|
|
||
|
ChangeFont:
|
||
|
{{Cl|IF}} winmode$ <> "2" {{Cl|THEN}}
|
||
|
{{Cl|_FONT}} 16 'select inbuilt 8x16 default font
|
||
|
currentf& = {{Cl|_FONT (function)|_FONT}}
|
||
|
{{Cl|ELSE}}
|
||
|
currentf& = {{Cl|_LOADFONT}}(fontpath$, fontsize%, style$)
|
||
|
{{Cl|_FONT}} currentf&
|
||
|
{{Cl|END IF}}
|
||
|
|
||
|
{{Cl|IF}} currentf& <> f& {{Cl|AND (boolean)|AND}} f& <> defaultf& {{Cl|THEN}} {{Cl|_FREEFONT}} f&
|
||
|
f& = currentf&
|
||
|
{{Cl|RETURN}} '' ''
|
||
|
|
||
|
{{CodeEnd}}
|
||
|
|
||
|
''Explanation:'' The '''_FULLSCREEN''' function can avoid screen display and monitor problems when used to monitor the success of the full screen operation! If a full screen mode is '''NOT''' achieved (the function will return 0), '''turn it OFF!'''
|
||
|
|
||
|
|
||
|
{{PageSeeAlso}}
|
||
|
|
||
|
* [[_FULLSCREEN]] (statement)
|
||
|
* [[_SCREENMOVE]], [[_SCREENX]], [[_SCREENY]]
|
||
|
|
||
|
|
||
|
|
||
|
{{PageNavigation}}
|