CLS - QB64Official/qb64 GitHub Wiki

The CLS statement clears the _DEST.

Syntax

CLS [method%] [, bgColor&]

Parameter(s)

  • 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 LIST 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.

Description

  • In legacy SCREEN modes bgColor& specifies the color attribute of the background.
  • For 32-bit graphics mode, bgColor& specifies the _RGB or _RGBA 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 ERROR Codes error will occur.
  • Use _PRINTMODE to allow the background colors to be visible through the text or the text background.

Example(s)

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.

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