CLS: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 29: Line 29:
<!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no -->
<!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no -->
<gallery widths="48px" heights="48px" mode="nolines">
<gallery widths="48px" heights="48px" mode="nolines">
File:Qb64.png|'''all'''
File:Qb64.png|'''v0.610'''
File:Qbpe.png|'''all'''
File:Qbpe.png|'''all'''
File:Apix.png
File:Apix.png
Line 37: Line 37:
</gallery>
</gallery>
<!-- additional availability notes go below here -->
<!-- additional availability notes go below here -->
* In '''QB64-PE v4.0.0''' support for clearing images was added.
* In '''QB64-PE v3.10.0''' support for clearing images was added.





Latest revision as of 11:42, 13 December 2023

The CLS statement clears the current write page or the designated image.


Syntax

CLS [method%] [, bgColor&] [, imageHandle&]


Parameters

  • method% specifies which parts of the page to clear, and can have one of the following values:
    • CLS - clears the active graphics or text viewport or the entire text screen and refreshes bottom function KEY ON line.
    • CLS 0 - Clears the entire page of text and graphics. Print cursor is moved to row 1 at column 1.
    • CLS 1 - Clears only the graphics view port. Has no effect for text mode.
    • CLS 2 - Clears only the text view port. The print cursor is moved to the top row of the text view port at column 1.
  • The bgColor& specifies the color attribute or palette index to use when clearing the screen in QB64.
  • imageHandle& specifies an image handle to clear. If it is not specified, then CLS clears the current write page.


Description

  • In legacy SCREEN modes bgColor& specifies the color attribute of the background.
  • For 32-bit graphics mode, bgColor& specifies the _RGB32 or _RGBA32 color to use.
  • 32-bit screen surface backgrounds (black) have zero _ALPHA so that they are transparent when placed over other surfaces.
  • If not specified, bgColor& is assumed to be the current background color. 32-bit backgrounds will change to opaque.
  • If bgColor& is not a valid attribute, an illegal function call error will occur.
  • Use _PRINTMODE to allow the background colors to be visible through the text or the text background.


Availability

  • In QB64-PE v3.10.0 support for clearing images was added.


Examples

Example 1: Printing black text on a white background in QB64.

SCREEN 12
CLS , 15
_PRINTMODE  _KEEPBACKGROUND        'keeps the text background visible
COLOR 0: PRINT "This is black text on a white background!"
K$ = INPUT$(1
Explanation: _PRINTMODE can be used with PRINT or _PRINTSTRING to make the text or the text background transparent.


Example 2: You don't need to do anything special to use a .PNG image with alpha/transparency. Here's a simple example:

SCREEN _NEWIMAGE(640, 480, 32)
CLS , _RGB(0, 255, 0)
i = _LOADIMAGE("qb64_trans.png") 'see note below examples to get the image
_PUTIMAGE (0, 0), i 'places image at upper left corner of window w/o stretching it

Explanation: When QB64 loads a .PNG file containing a transparent color, that color will be properly treated as transparent when _PUTIMAGE is used to put it onto another image. You can use a .PNG file containing transparency information in a 256-color screen mode in QB64. CLS sets the _CLEARCOLOR setting using _RGB.


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage