The ZX Ecosystem v5.1.0;_GUI_v3.1.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

Description

The main namespace of the library, that spans across all the zx modules.

Checking the C++ language version supported by the compiler.

This module provides the Canvas widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the ComboBox widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the Counter widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the File Browser widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the List widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the MenuBar widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the base management of Forms (groups of widgets).

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides the Slide widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This module provides a multi-line text editor widget.

http://jafma.net

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Currently, ZXEcosystem requires C++17 or up. Only-once definitions

Namespaces

namespace  gui
 The namespace of the GUI companion sub-library.
 

Classes

class  Area
 An area on the screen that uses the given distance resolutions. More...
 
class  At
 Just a shorter renaming of CharCursor. More...
 
class  AttrColors
 Complete color specification for an attr (character) cell on the zx screen. More...
 
class  Attrmap
 A graphic that contains an attrmap, i.e., it has char resolution in height. More...
 
class  BasicColor
 One of the 8 basic colors of the ZX, not considering bright or flash. More...
 
class  BASICScreen
 This class decorates Screen to get the original BASIC screen model of the ZX. More...
 
class  Beep
 A zx beep sound. More...
 
class  Bitmap
 A graphic that contains a bitmap, i.e., it has pixel resolution in height. More...
 
struct  BorderCoordT
 A class that makes BorderCoord a different, distinguishable type from others. More...
 
struct  BorderDistT
 A class that makes BorderDist a different, distinguishable type from others. More...
 
class  Bright
 A value of bright that is different to the same value of flash, inv or over. More...
 
class  BrightColor
 A basic color plus a bright level (on / off). More...
 
struct  CharCoordT
 A class that makes CharCoord a different, distinguishable type from others. More...
 
struct  CharDistT
 A class that makes CharDist a different, distinguishable type from others. More...
 
class  Colors
 Color specification for a character cell, plus modes of printing. More...
 
struct  CoordT
 Base class for all coordinate trait classes. More...
 
class  Cursor
 A cursor on screen that uses the given coordinates resolution. More...
 
class  DimsGraphic
 A graphic that has certain 2D dimensions and coordinates. More...
 
struct  DistT
 Base class for all distance trait classes. More...
 
class  DoubleArea
 An area with both char and pixel resolutions, possibly synchronized. More...
 
class  DoubleGraphic
 A bitmap plus an attrmap, possibly synchronized. More...
 
class  DoubleRect
 A rectangle with both char and pixel resolutions, possibly synchronized. More...
 
class  Flash
 A value of flash that is different to the same value of bright, inv or over. More...
 
class  Frequency
 The frequency of a square-wave sound. More...
 
class  Ink
 A printcolor for ink as a different type from a color for paper. More...
 
struct  IntDistT
 A class that makes IntDist a different, distinguishable type from others. More...
 
class  Inverse
 A value of inv that is different to the same value of flash, bright or over. More...
 
class  Keyboard
 The ZX keyboard as it behaves (for typing) under the ZX operating system. More...
 
class  KeyComb
 A combination of 2 keys. More...
 
class  LinearGraphic
 A rectangular graphic block. More...
 
class  Membrane
 The zx keyboard as a membrane. Useful for games and those sort of things. More...
 
class  Over
 A value of over that is different to the same value of flash, bright or inv. More...
 
class  Paper
 A printcolor for paper as a different type from a color for ink. More...
 
struct  PixelCoordT
 A class that makes PixelCoord a different, distinguishable type from others. More...
 
struct  PixelDistT
 A class that makes PixelDist a different, distinguishable type from others. More...
 
class  PointingStatus
 Status of the pointing device. More...
 
class  PrintColor
 A BasicColor or CONTRAST or TRANSPARENT, but not with bright or flash. More...
 
struct  Rect
 A rectangle placed on the screen that uses the given resolutions. More...
 
class  Screen
 The class that provides the main support for managing the ZX screen. More...
 
class  SetOfKeys
 A set of several keys, not repeated. More...
 
class  ZXEco
 Class that provides access to the entire ecosystem: graphics, keyboard, etc. More...
 

Typedefs

using PixelCoord = uint16_t
 Represent both x and y screen pix coordinates. More...
 
using CharCoord = uint16_t
 Represent both x and y screen char coordinates. More...
 
using PixelDist = uint16_t
 A distance measured in screen pixels. More...
 
using CharDist = uint16_t
 A distance meadured in screen chars. More...
 
using IntDist = int16_t
 Positive and negative distances on screen. More...
 
using BorderCoord = int16_t
 Represent both x and y pix coords in border. More...
 
using BorderDist = uint16_t
 A distance measured in pixels in the border. More...
 
using CharCursor = Cursor< CharCoordT, CharCoordT >
 Shortcut for this kind of cursor. More...
 
using PixCursor = Cursor< PixelCoordT, PixelCoordT >
 Shortcut for this kind of cursor. More...
 
using CharPixCursor = Cursor< CharCoordT, PixelCoordT >
 Shortcut for this kind of cursor. More...
 
using BorderCursor = Cursor< BorderCoordT, BorderCoordT >
 Shortcut for this kind of cursor. More...
 
using CharArea = Area< CharDistT, CharDistT >
 Shortcut for this kind of area. More...
 
using PixArea = Area< PixelDistT, PixelDistT >
 Shortcut for this kind of area. More...
 
using CharPixArea = Area< CharDistT, PixelDistT >
 Shortcut for this kind of area. More...
 
using BorderArea = Area< BorderDistT, BorderDistT >
 Shortcut for this kind of area. More...
 
using CharRect = Rect< CharDistT, CharDistT >
 Shortcut for this kind of rectangle. More...
 
using PixRect = Rect< PixelDistT, PixelDistT >
 Shortcut for this kind of rectangle. More...
 
using CharPixRect = Rect< CharDistT, PixelDistT >
 Shortcut for this kind of rectangle. More...
 
using BorderRect = Rect< BorderDistT, BorderDistT >
 Shortcut for this kind of rectangle. More...
 
typedef IterableEnum< KeyItKey
 Enhanced Key type. More...
 

Enumerations

enum  ColorBaseType : uint8_t {
  BLACK = 0 , BLUE , RED , MAGENTA ,
  GREEN , CYAN , YELLOW , WHITE ,
  NUMBASICCOLORS , TRANSPARENT = NUMBASICCOLORS , CONTRAST , NUMPRINTCOLORS
}
 Main color constants. More...
 
enum  ColorModVal : uint8_t { OFF = 0 , ON = 1 , TRANSP = TRANSPARENT }
 Values of bright, flash, inverse and over. More...
 
enum class  Key {
  CAPS_SHIFT = 0 , Z , X , C ,
  V , A , S , D ,
  F , G , Q , W ,
  E , R , T , N1 ,
  N2 , N3 , N4 , N5 ,
  N0 , N9 , N8 , N7 ,
  N6 , P , O , I ,
  U , Y , ENTER , L ,
  K , J , H , SPACE ,
  SYMBOL_SHIFT , M , N , B ,
  FIRST = CAPS_SHIFT , LAST = B , NUMKEYS = B+1 , NO_KEY = NUMKEYS
}
 A single key in the zx keyboard. More...
 

Functions

constexpr char ISCHRCTRL (uint8_t c) noexcept
 Whether C is a control code with results if printed. More...
 
char ISCHRCTRLALL (uint8_t c) noexcept
 The same as ISCHRCTRL but including those that do not affect printing. More...
 
constexpr bool ISPRINTCHR (uint8_t c) noexcept
 Whether C is a printable char. More...
 
constexpr bool ISGRAPHICBLOCK (uint8_t c) noexcept
 Return TRUE if C is a graphic block character. *‍/. More...
 
constexpr bool ISUDG (uint8_t c) noexcept
 Return TRUE if C is a UDG. *‍/. More...
 
constexpr bool ISTOKEN (uint8_t c) noexcept
 Return TRUE if C is a token. *‍/. More...
 
std::string zxString (uint8_t cc)
 Return a string composed of the ZX control code CC (no arguments). More...
 
std::string zxString (uint8_t cc, uint8_t arg1)
 Return a string composed of the ZX control code CC (one argument). More...
 
std::string zxString (uint8_t cc, uint8_t arg1, uint8_t arg2)
 Return a string composed of the ZX control code CC (two arguments). More...
 
const std::string & ctrlString (uint8_t c)
 Return a string representing the control code C. More...
 
std::string nonCtrlString (const std::string &txt, char who='A')
 Return a version of TXT without control codes. More...
 
constexpr CharCoord charOfPixelX (PixelCoord pc) noexcept
 Conversion from an x-PixelCoord to CharCoord. More...
 
constexpr CharCoord charOfPixelY (PixelCoord pc) noexcept
 Conversion from an y-PixelCoord to CharCoord. More...
 
constexpr PixelCoord firstPixelInCharX (PixelCoord pc) noexcept
 Get the PixelCoord of 1st pixel in the character of this x-PixelCoord. More...
 
constexpr PixelCoord firstPixelInCharY (PixelCoord pc) noexcept
 Get the PixelCoord of 1st pixel in the character of this y-PixelCoord. More...
 
constexpr unsigned char bitOfPixelX (PixelCoord pc) noexcept
 Get the bit position of the pixel of this x-PixelCoord. More...
 
constexpr PixelCoord pixelOfCharX (CharCoord cc) noexcept
 Conversion from an x-CharCoord to PixelCoord. More...
 
constexpr PixelCoord pixelOfCharY (CharCoord cc) noexcept
 Conversion from a y-CharCoord to PixelCoord. More...
 
constexpr PixelDist charDistToPixelDist (CharDist pc) noexcept
 Conversion from CharDist to PixelDist. More...
 
constexpr CharDist pixelDistToCharDist (PixelDist cc, bool toceil=true) noexcept
 Conversion from PixelDist to CharDist. More...
 
PixCursor getPixCursor (const CharCursor &cc)
 Convert a char cursor to a pix cursor placed at the top-left of the former. More...
 
PixCursor getPixCursor (const CharPixCursor &cc)
 Convert a char-pix cursor to a pix cursor placed at the top-left of former. More...
 
CharPixCursor getCharPixCursor (const CharCursor &cc)
 Convert a char cursor to a char-pix cursor placed at the top of the former. More...
 
PixArea getPixArea (const CharArea &cc)
 Convert a char area to a pix area covering the same region on screen. More...
 
PixArea getPixArea (const CharPixArea &cc)
 Convert a char-pix area to a pix area covering the same region on screen. More...
 
CharPixArea getCharPixArea (const CharArea &cc)
 Convert a char area to a char-pix area covering the same region on screen. More...
 
PixRect getPixRect (const CharRect &cc)
 Convert a char rect to a pix rect representing the same region on screen. More...
 
PixRect getPixRect (const CharPixRect &cc)
 Convert a char-pix rect to a pix rect representing the same region. More...
 
CharPixRect getCharPixRect (const CharRect &cc)
 Convert a char rect to a char-pix rect representing the same region. More...
 
template<typename WIDTHRESOL , typename HEIGHTRESOL >
bool graphicDimensionsTooLarge (unsigned sx, unsigned sy) noexcept
 < Return TRUE if SX,SY are too large to fit in WITHRESOL,HEIGHTRESOL. More...
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::COPY > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::INV > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::OR > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::INVOR > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::AND > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::INVAND > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::XOR > (uint8_t b0, uint8_t b1) noexcept
 
template<>
constexpr uint8_t LinearGraphic::doGraphOp< LinearGraphic::GraphOp::INVXOR > (uint8_t b0, uint8_t b1) noexcept
 
constexpr bool operator& (ZXEco::RefreshType a, ZXEco::RefreshType b)
 Definition needed for completing the RefreshType functionality. More...
 
constexpr char keyToNumber (Key k)
 Return the number of the key [0..9] if K is a number key; -1 if it is not. More...
 
constexpr bool keyIsShift (Key k)
 Return TRUE if K is caps or symbol. More...
 

Variables

const RGBPalette kZXPalette
 The original palette of the ZX. More...
 
constexpr PixelCoord kMaxPixelCoord = std::numeric_limits<PixelCoord>::max()
 Maximum value of a pixel coordinate. More...
 
constexpr CharCoord kMaxCharCoord = std::numeric_limits<CharCoord>::max()
 Maximum value of a char coordinate. More...
 
constexpr PixelDist kMaxPixelDist = std::numeric_limits<PixelDist>::max()
 Maximum value of a pixel distance. More...
 
constexpr CharDist kMaxCharDist = std::numeric_limits<CharDist>::max()
 Maximum value of a char distance. More...
 
constexpr IntDist kMinIntDist = std::numeric_limits<IntDist>::min()
 Minimum value of an int distance. More...
 
constexpr IntDist kMaxIntDist = std::numeric_limits<IntDist>::max()
 Maximum value of an int distance. More...
 
constexpr BorderCoord kMaxBorderCoord = std::numeric_limits<BorderCoord>::max()
 Maximum value of a border pixel coordinate. More...
 
constexpr BorderDist kMaxBorderDist = std::numeric_limits<BorderDist>::max()
 Maximum value of a border pixel distance. More...
 
const std::map< Key, std::string > KeyNames
 This constant holds printable/descriptive names for the keys. More...
 
const char KeyLetters [2][static_cast< int >(Key::NUMKEYS)]
 This constant holds the single letters printed in the keys. More...
 
const char KeySymbols [2][static_cast< int >(Key::NUMKEYS)]
 This constant holds the symbols printed in the keys. More...
 
constexpr unsigned char VER [] = { 4,3,0 }
 Major, minor and rev. nos. More...
 
Useful ZX ascii codes

Convenient constants to minimize errors in printing.

constexpr uint8_t CHRSPC = 32
 space More...
 
constexpr uint8_t CHRCOMMA = 6
 comma (control code) More...
 
constexpr uint8_t CHREDIT = 7
 edit (control code) More...
 
constexpr uint8_t CHRLEFT = 8
 left (control code) More...
 
constexpr uint8_t CHRRIGHT = 9
 right (control code) More...
 
constexpr uint8_t CHRDOWN = 10
 down (control code) More...
 
constexpr uint8_t CHRUP = 11
 up (control code) More...
 
constexpr uint8_t CHRDELETE = 12
 delete (control code) More...
 
constexpr uint8_t CHRENTER = 13
 enter (control code) More...
 
constexpr uint8_t CHRNUM = 14
 Preffix of numeric value. More...
 
constexpr uint8_t CHRINK = 16
 ink (control code; 1 arg) More...
 
constexpr uint8_t CHRPAPER = 17
 paper (control code; 1 arg) More...
 
constexpr uint8_t CHRFLASH = 18
 flash (control code; 1 arg) More...
 
constexpr uint8_t CHRBRIGHT = 19
 bright (control code; 1 arg) More...
 
constexpr uint8_t CHRINVERSE = 20
 inverse (control code; 1 arg) More...
 
constexpr uint8_t CHROVER = 21
 over (control code; 1 arg) More...
 
constexpr uint8_t CHRAT = 22
 at (control code; 2 args) More...
 
constexpr uint8_t CHRTAB = 23
 tab (control code; 2 args, 2nd is ignored) More...
 
constexpr uint8_t CHRFIRST = CHRSPC
 first printable char More...
 
constexpr uint8_t CHRQUOTE = 34
 double quote char More...
 
constexpr uint8_t CHR0 = 0x30
 first digit More...
 
constexpr uint8_t CHRa = 0x61
 first lower alpha More...
 
constexpr uint8_t CHRz = 0x7a
 last lower alpha More...
 
constexpr uint8_t CHRA = 0x41
 first upper alpha More...
 
constexpr uint8_t CHRZ = 0x5a
 last upper alpha More...
 
constexpr uint8_t CHRINVALID = 63
 invalid mark char More...
 
constexpr uint8_t CHRLAST = 0x7F
 Last of the printable chars. More...
 
constexpr uint8_t CHRCOPYRIGHT = 0x7F
 Copyright. More...
 
constexpr uint8_t CHRPOUND = 0x60
 Pounds. More...
 
constexpr uint8_t CHRFIRSTGB = 0x80
 first graphic-block char More...
 
constexpr uint8_t CHRLASTGB = 0x8f
 last graphic-block char More...
 
constexpr uint8_t CHRFIRSTUDG = 0x90
 first UDG char More...
 
constexpr uint8_t CHRLASTUDG = 0xa4
 last UDG char More...
 
constexpr uint8_t CHRFIRSTTOKEN = 0xa5
 first token char More...
 
Screen size constants

Width and height of the original ZX Spectrum screen. Notice that in the ZX ecosystem the screen can be opened with different dimensions.

constexpr PixelDist SCREENW = 256
 Width in pixels of the original zx screen. More...
 
constexpr PixelDist SCREENH = 192
 Height in pixels of the original zx screen. More...
 
constexpr BorderDist TOPBORDERH = 56
 Height in pixels of the original zx visible border in its top section. More...
 
constexpr BorderDist BOTTOMBORDERH = 56
 Height in pixels of the original zx visible border in its bottom section. More...
 
constexpr BorderDist LEFTBORDERW = 32
 Height in pixels of the original zx visible border in its left section. More...
 
constexpr BorderDist RIGHTBORDERW = 64
 Height in pixels of the original zx visible border in its right section. More...
 
constexpr CharDist SCREENCHARCOLS = 32
 Number of char columns in the screen. More...
 
constexpr CharDist SCREENCHARROWS = 24
 Number of char rows in the screen. More...
 
constexpr size_t BITMAPLEN = 6144
 Length in memory (bytes) of the original zx screen bitmap. More...
 
constexpr size_t ATTRMAPLEN = 768
 Length in memory (bytes) of the original zx screen attrmap. More...
 
constexpr size_t DISPLAYLEN = BITMAPLEN + ATTRMAPLEN
 Length in memory (bytes) of the original complete zx screen. More...
 
constexpr CharDist SCREENROWS = pixelDistToCharDist(SCREENH)
 Number of rows in the screen of the original ZX. More...
 
constexpr CharDist SCREENCOLS = pixelDistToCharDist(SCREENW)
 Number of columns in the screen of the original ZX. More...
 

Typedef Documentation

◆ ItKey

Enhanced Key type.

This type is needed for iterating over Key in a C++11 fashion. For example:

for (auto k: ItKey::theIterable()) { ... }

Definition at line 117 of file ZXKeyboard.h.

Enumeration Type Documentation

◆ ColorModVal

enum zxeco::ColorModVal : uint8_t

Values of bright, flash, inverse and over.

Enumerator
ON 

Basic states. Must be 0 and 1, respectively.

TRANSP 

To respect existing attribute in screen.

Definition at line 65 of file ZXColors.h.

◆ Key

enum class zxeco::Key
strong

A single key in the zx keyboard.

Enumerator
CAPS_SHIFT 

Key in the 1st half-row.

Key in the 1st half-row.

Key in the 1st half-row.

Key in the 1st half-row.

Key in the 1st half-row.

Key in the 2nd half-row.

Key in the 2nd half-row.

Key in the 2nd half-row.

Key in the 2nd half-row.

Key in the 2nd half-row.

Key in the 3rd half-row.

Key in the 3rd half-row.

Key in the 3rd half-row.

Key in the 3rd half-row.

Key in the 3rd half-row.

N1 

Key in the 4th half-row.

N2 

Key in the 4th half-row.

N3 

Key in the 4th half-row.

N4 

Key in the 4th half-row.

N5 

Key in the 4th half-row.

N0 

Key in the 5th half-row.

N9 

Key in the 5th half-row.

N8 

Key in the 5th half-row.

N7 

Key in the 5th half-row.

N6 

Key in the 5th half-row.

Key in the 6th half-row.

Key in the 6th half-row.

Key in the 6th half-row.

Key in the 6th half-row.

Key in the 6th half-row.

ENTER 

Key in the 7th half-row.

Key in the 7th half-row.

Key in the 7th half-row.

Key in the 7th half-row.

Key in the 7th half-row.

SPACE 

Key in the 8th half-row.

SYMBOL_SHIFT 

Key in the 8th half-row.

Key in the 8th half-row.

Key in the 8th half-row.

Key in the 8th half-row.

FIRST 

Needed for enhancing the enum.

LAST 

Needed for enhancing the enum.

NUMKEYS 

Number of keys.

NO_KEY 

Null key id.

Definition at line 48 of file ZXKeyboard.h.

Function Documentation

◆ ISCHRCTRL()

constexpr char zxeco::ISCHRCTRL ( uint8_t  c)
constexprnoexcept

Whether C is a control code with results if printed.

Return -1 if C is not a control code with results if printed (e.g., CHREDIT or CHRNUM), 0 if it is a control code with 0 arguments, 1 if it is a control code with 1 argument, and 2 if it is a control code with 2 arguments.

Definition at line 79 of file ZXChars.h.

◆ ISCHRCTRLALL()

char zxeco::ISCHRCTRLALL ( uint8_t  c)
noexcept

The same as ISCHRCTRL but including those that do not affect printing.

CHREDIT will return 0 and CHRNUM will return 5.

◆ ISPRINTCHR()

constexpr bool zxeco::ISPRINTCHR ( uint8_t  c)
constexprnoexcept

Whether C is a printable char.

Return TRUE if C is a char that will appear explicitly when printed, including those that will be printed as an invalid character.

Definition at line 95 of file ZXChars.h.

◆ ISGRAPHICBLOCK()

constexpr bool zxeco::ISGRAPHICBLOCK ( uint8_t  c)
constexprnoexcept

Return TRUE if C is a graphic block character. *‍/.

Definition at line 100 of file ZXChars.h.

◆ ISUDG()

constexpr bool zxeco::ISUDG ( uint8_t  c)
constexprnoexcept

Return TRUE if C is a UDG. *‍/.

Definition at line 104 of file ZXChars.h.

◆ ISTOKEN()

constexpr bool zxeco::ISTOKEN ( uint8_t  c)
constexprnoexcept

Return TRUE if C is a token. *‍/.

Definition at line 108 of file ZXChars.h.

◆ zxString() [1/2]

std::string zxeco::zxString ( uint8_t  cc,
uint8_t  arg1 
)
inline

Return a string composed of the ZX control code CC (one argument).

Definition at line 125 of file ZXChars.h.

◆ zxString() [2/2]

std::string zxeco::zxString ( uint8_t  cc,
uint8_t  arg1,
uint8_t  arg2 
)
inline

Return a string composed of the ZX control code CC (two arguments).

Definition at line 129 of file ZXChars.h.

◆ operator&()

constexpr bool zxeco::operator& ( ZXEco::RefreshType  a,
ZXEco::RefreshType  b 
)
constexpr

Definition needed for completing the RefreshType functionality.

Note
-For using & operator on class RefreshType, it must be defined explicitly. It must be defined outside the ZXEco class to not become an operator for that class.

Definition at line 784 of file ZXEcosystem.h.

◆ keyToNumber()

constexpr char zxeco::keyToNumber ( Key  k)
constexpr

Return the number of the key [0..9] if K is a number key; -1 if it is not.

Definition at line 98 of file ZXKeyboard.h.

◆ keyIsShift()

constexpr bool zxeco::keyIsShift ( Key  k)
constexpr

Return TRUE if K is caps or symbol.

Definition at line 109 of file ZXKeyboard.h.

Variable Documentation

◆ CHRSPC

constexpr uint8_t zxeco::CHRSPC = 32
constexpr

space

Definition at line 43 of file ZXChars.h.

◆ CHRCOMMA

constexpr uint8_t zxeco::CHRCOMMA = 6
constexpr

comma (control code)

Definition at line 44 of file ZXChars.h.

◆ CHREDIT

constexpr uint8_t zxeco::CHREDIT = 7
constexpr

edit (control code)

Definition at line 45 of file ZXChars.h.

◆ CHRLEFT

constexpr uint8_t zxeco::CHRLEFT = 8
constexpr

left (control code)

Definition at line 46 of file ZXChars.h.

◆ CHRRIGHT

constexpr uint8_t zxeco::CHRRIGHT = 9
constexpr

right (control code)

Definition at line 47 of file ZXChars.h.

◆ CHRDOWN

constexpr uint8_t zxeco::CHRDOWN = 10
constexpr

down (control code)

Definition at line 48 of file ZXChars.h.

◆ CHRUP

constexpr uint8_t zxeco::CHRUP = 11
constexpr

up (control code)

Definition at line 49 of file ZXChars.h.

◆ CHRDELETE

constexpr uint8_t zxeco::CHRDELETE = 12
constexpr

delete (control code)

Definition at line 50 of file ZXChars.h.

◆ CHRENTER

constexpr uint8_t zxeco::CHRENTER = 13
constexpr

enter (control code)

Definition at line 51 of file ZXChars.h.

◆ CHRNUM

constexpr uint8_t zxeco::CHRNUM = 14
constexpr

Preffix of numeric value.

Definition at line 52 of file ZXChars.h.

◆ CHRINK

constexpr uint8_t zxeco::CHRINK = 16
constexpr

ink (control code; 1 arg)

Definition at line 53 of file ZXChars.h.

◆ CHRPAPER

constexpr uint8_t zxeco::CHRPAPER = 17
constexpr

paper (control code; 1 arg)

Definition at line 54 of file ZXChars.h.

◆ CHRFLASH

constexpr uint8_t zxeco::CHRFLASH = 18
constexpr

flash (control code; 1 arg)

Definition at line 55 of file ZXChars.h.

◆ CHRBRIGHT

constexpr uint8_t zxeco::CHRBRIGHT = 19
constexpr

bright (control code; 1 arg)

Definition at line 56 of file ZXChars.h.

◆ CHRINVERSE

constexpr uint8_t zxeco::CHRINVERSE = 20
constexpr

inverse (control code; 1 arg)

Definition at line 57 of file ZXChars.h.

◆ CHROVER

constexpr uint8_t zxeco::CHROVER = 21
constexpr

over (control code; 1 arg)

Definition at line 58 of file ZXChars.h.

◆ CHRAT

constexpr uint8_t zxeco::CHRAT = 22
constexpr

at (control code; 2 args)

Definition at line 59 of file ZXChars.h.

◆ CHRTAB

constexpr uint8_t zxeco::CHRTAB = 23
constexpr

tab (control code; 2 args, 2nd is ignored)

Definition at line 60 of file ZXChars.h.

◆ CHRFIRST

constexpr uint8_t zxeco::CHRFIRST = CHRSPC
constexpr

first printable char

Definition at line 61 of file ZXChars.h.

◆ CHRQUOTE

constexpr uint8_t zxeco::CHRQUOTE = 34
constexpr

double quote char

Definition at line 62 of file ZXChars.h.

◆ CHR0

constexpr uint8_t zxeco::CHR0 = 0x30
constexpr

first digit

Definition at line 63 of file ZXChars.h.

◆ CHRa

constexpr uint8_t zxeco::CHRa = 0x61
constexpr

first lower alpha

Definition at line 64 of file ZXChars.h.

◆ CHRz

constexpr uint8_t zxeco::CHRz = 0x7a
constexpr

last lower alpha

Definition at line 65 of file ZXChars.h.

◆ CHRA

constexpr uint8_t zxeco::CHRA = 0x41
constexpr

first upper alpha

Definition at line 66 of file ZXChars.h.

◆ CHRZ

constexpr uint8_t zxeco::CHRZ = 0x5a
constexpr

last upper alpha

Definition at line 67 of file ZXChars.h.

◆ CHRINVALID

constexpr uint8_t zxeco::CHRINVALID = 63
constexpr

invalid mark char

Definition at line 68 of file ZXChars.h.

◆ CHRLAST

constexpr uint8_t zxeco::CHRLAST = 0x7F
constexpr

Last of the printable chars.

Definition at line 69 of file ZXChars.h.

◆ CHRCOPYRIGHT

constexpr uint8_t zxeco::CHRCOPYRIGHT = 0x7F
constexpr

Copyright.

Definition at line 70 of file ZXChars.h.

◆ CHRPOUND

constexpr uint8_t zxeco::CHRPOUND = 0x60
constexpr

Pounds.

Definition at line 71 of file ZXChars.h.

◆ CHRFIRSTGB

constexpr uint8_t zxeco::CHRFIRSTGB = 0x80
constexpr

first graphic-block char

Definition at line 72 of file ZXChars.h.

◆ CHRLASTGB

constexpr uint8_t zxeco::CHRLASTGB = 0x8f
constexpr

last graphic-block char

Definition at line 73 of file ZXChars.h.

◆ CHRFIRSTUDG

constexpr uint8_t zxeco::CHRFIRSTUDG = 0x90
constexpr

first UDG char

Definition at line 74 of file ZXChars.h.

◆ CHRLASTUDG

constexpr uint8_t zxeco::CHRLASTUDG = 0xa4
constexpr

last UDG char

Definition at line 75 of file ZXChars.h.

◆ CHRFIRSTTOKEN

constexpr uint8_t zxeco::CHRFIRSTTOKEN = 0xa5
constexpr

first token char

Definition at line 76 of file ZXChars.h.

◆ kZXPalette

const RGBPalette zxeco::kZXPalette
extern

The original palette of the ZX.

The first 8 colors are the ones without bright; the next 8 are the ones with bright. Black is the same with or without bright, but it is repeated in both sections.

◆ KeyNames

const std::map<Key,std::string> zxeco::KeyNames
extern

This constant holds printable/descriptive names for the keys.

Use at() method instead of [] operator for accessing.

◆ KeyLetters

const char zxeco::KeyLetters[2][static_cast< int >(Key::NUMKEYS)]
extern

This constant holds the single letters printed in the keys.

The letter corresponding to a key if it is alphanumeric or spc; otherwise,0. The first dimension of the array indicates non-capitals (0) or capitals (1).

◆ KeySymbols

const char zxeco::KeySymbols[2][static_cast< int >(Key::NUMKEYS)]
extern

This constant holds the symbols printed in the keys.

The symbol of a key if it can be obtained pressing SYMBOL_SHIFT + the key; otherwise return 0. Tokens that can get by pressing SYMBOL_SHIFT + key are returned as 0. The first dimension of the array indicates whether we assume normal mode (0) or extended mode (1).

◆ VER

constexpr unsigned char zxeco::VER[] = { 4,3,0 }
constexpr

Major, minor and rev. nos.

Definition at line 779 of file zxecosystem.h.