$COLOR: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
* Since QBPE v0.5, [[$COLOR]] can now be used with [[$NOPREFIX]], with a few notable differences to three conflicting colors -- Red, Green, Blue.
* Since QBPE v0.5, [[$COLOR]] can now be used with [[$NOPREFIX]], with a few notable differences to three conflicting colors -- Red, Green, Blue.


Red would conflict with _RED, Green would conflict with _GREEN, andBlue would conflict with _BLUE, once the underscore was removed from those commands with $NOPREFIX.
Red would conflict with [[_RED]], Green would conflict with [[_GREEN]], and Blue would conflict with [[_BLUE]], once the underscore was removed from those commands with [[$NOPREFIX]].


To prevent these conflicts, the COLOR values have had NP_ appended to the front of them, to distinguish them from the non-prefixed commands.  All other color names remain the same, with only the three colors in conflict having to use NP_ (for No Prefix) in front of them.
To prevent these conflicts, the [[COLOR[[ values have had '''NP_''' appended to the front of them, to distinguish them from the non-prefixed commands.  All other color names remain the same, with only the three colors in conflict having to use '''NP_''' (for No Prefix) in front of them.


{{PageExamples}}
{{PageExamples}}
Line 24: Line 24:
{{Cl|COLOR}} BrightWhite, Red
{{Cl|COLOR}} BrightWhite, Red
{{Cl|PRINT}} "Bright white on red."
{{Cl|PRINT}} "Bright white on red."
{{CodeEnd}}
{{CodeEnd}}
{{OutputStartBG4}}
{{Text|Bright white on red.|#fcfcfc}}
{{OutputEnd}}




Line 33: Line 36:
{{Cl|COLOR}} CrayolaGold, DarkCyan
{{Cl|COLOR}} CrayolaGold, DarkCyan
{{Cl|PRINT}} "CrayolaGold on DarkCyan."
{{Cl|PRINT}} "CrayolaGold on DarkCyan."
{{CodeEnd}}
{{CodeEnd}}


''Example 2:'' Adding named color constants for 32-bit modes:
''Example 3:'' Adding named color constants for 32-bit modes (with $NOPREFIX in effect):
{{CodeStart}}
{{CodeStart}}
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(640, 400, 32)
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(640, 400, 32)
Line 43: Line 46:
'This is to distinguish the color from the command with $NOPREFIX.
'This is to distinguish the color from the command with $NOPREFIX.
{{Cl|PRINT}} "Red on White."
{{Cl|PRINT}} "Red on White."
{{CodeEnd}}
{{CodeEnd}}


{{PageSeeAlso}}
{{PageSeeAlso}}

Revision as of 16:48, 28 April 2022

$COLOR is a metacommand that adds named color constants in a program.


Syntax

$COLOR:0
$COLOR:32


Description

  • $COLOR:0 adds constants for colors 0-15. The actual constant names can be found in the file source/utilities/color0.bi.
  • $COLOR:32 adds constants for 32-bit colors, similar to HTML color names. The actual constant names can be found in the file source/utilities/color32.bi.
  • $COLOR is a shorthand to manually using $INCLUDE pointing to the files listed above.
  • Prior to QBPE v0.5, $COLOR was not compatible with $NOPREFIX.
  • Since QBPE v0.5, $COLOR can now be used with $NOPREFIX, with a few notable differences to three conflicting colors -- Red, Green, Blue.

Red would conflict with _RED, Green would conflict with _GREEN, and Blue would conflict with _BLUE, once the underscore was removed from those commands with $NOPREFIX.

To prevent these conflicts, the [[COLOR[[ values have had NP_ appended to the front of them, to distinguish them from the non-prefixed commands. All other color names remain the same, with only the three colors in conflict having to use NP_ (for No Prefix) in front of them.

Examples

Example 1: Adding named color constants for SCREEN 0:

$COLOR:0
COLOR BrightWhite, Red
PRINT "Bright white on red."
Bright white on red.


Example 2: Adding named color constants for 32-bit modes:

SCREEN _NEWIMAGE(640, 400, 32)
$COLOR:32
COLOR CrayolaGold, DarkCyan
PRINT "CrayolaGold on DarkCyan."

Example 3: Adding named color constants for 32-bit modes (with $NOPREFIX in effect):

SCREEN _NEWIMAGE(640, 400, 32)
$COLOR:32
$NOPREFIX
COLOR NP_Red, White 'notice the NP_ in front of Red?  
'This is to distinguish the color from the command with $NOPREFIX.
PRINT "Red on White."

See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link