CLS

From QB64 Phoenix Edition Wiki
Revision as of 02:32, 29 November 2023 by A740g (talk | contribs) (Add info for - Add Support for optional parameter for an image handle to CLS (#401))
Jump to navigation Jump to search

The CLS statement clears the current write page.


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 _DEST.


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 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 v4.0.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
Report a broken link