Scherm#

Invoering#

De klasse screen is afgeleid van de basisklasse brain. Deze klasse bepaalt hoe de IQ (1e generatie) Brain tekst en waarden weergeeft op het ingebouwde scherm.

Het IQ (1e generatie) Brain-scherm ondersteunt maximaal 5 rijen en 21 kolommen tekst.

Het VEX IQ (1e generatie) brein met een genummerde rasteroverlay (kolommen 1–21 en rijen 1–5). Rode overlaylijnen markeren de rasterstructuur, met pijlen die Kolom 1, Kolom 21, Rij 1, Rij 2 en Rij 5 aangeven. De eerste rij toont de nummers 1 tot en met 21 bovenaan.

Toegang#

De klasse screen is toegankelijk via:

Brain.Screen

Notities#

  • Het object screen wordt door de hersenen aangeleverd. Het wordt niet direct geconstrueerd.

  • Projecten gebruiken één globaal Brain object, dus schermfuncties worden aangeroepen met behulp van Brain.Screen.

Voorbeeld#

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

// Create the Brain
brain Brain = brain();

// Print text to the Brain screen
Brain.Screen.print("Hello!");

Lidfuncties#

De klasse screen bevat de volgende lidfuncties:

  • print — Drukt opgemaakte tekst, getallen of Booleaanse waarden af ​​op het Brain-scherm.

  • setCursor — Verplaatst de tekstcursor naar een opgegeven rij en kolom.

  • newLine — Maakt de rest van de huidige regel leeg en verplaatst de cursor naar de volgende regel.

  • clearLine — Maakt de rest van de huidige regel leeg of maakt een opgegeven regel leeg.

  • row — Geeft de rij terug waar de tekst zal worden afgedrukt.

  • column — Geeft de kolom terug waar de tekst wordt afgedrukt.

  • getStringHeight — Retourneert de hoogte van een tekenreeks in pixels met behulp van het huidige lettertype.

  • getStringWidth — Retourneert de breedte van een tekenreeks in pixels met behulp van het huidige lettertype.

  • printAt — Drukt opgemaakte tekst af op een x, y pixelpositie (optioneel ondoorzichtig).

  • clearScreen — Maakt het hele scherm leeg (eventueel naar een opgegeven kleur).

  • setFont — Stelt het lettertype in dat wordt gebruikt voor afdrukken op het scherm.

  • setPenWidth — Stelt de dikte in van getekende lijnen en vormcontouren.

  • setPenColor — Stelt de kleur in van tekst, pixels, lijnen en vormcontouren.

  • setFillColor — Stelt de vulkleur in voor getekende vormen en achtergronden van afgedrukte tekst.

  • setOrigin — Stelt de oorsprong in die gebruikt wordt voor schermcoördinaten.

  • setClipRegion — Beperkt de schermuitvoer tot een rechthoekig gebied.

  • drawPixel — Tekent één pixel op een coördinaat.

  • drawLine — Tekent een lijn tussen twee punten.

  • drawRectangle — Tekent een rechthoek op een x, y-locatie met een opgegeven grootte.

  • drawCircle — Tekent een cirkel op een x, y-locatie met een opgegeven straal.

  • render — Schakelt dubbele buffering in of geeft de backbuffer weer op het scherm.

Before calling any screen member functions, a brain instance must be created, as shown below:

// Create the Brain
brain Brain = brain();

print#

Geeft tekst, getallen of Booleaanse waarden weer op het IQ (1e generatie) Brain-scherm.

Available Functions

1 — Drukt opgemaakte tekst af met behulp van tekenreeksliteralen of alleen-lezen C-stijl tekenreeksen.

void print(
    const char* format,
    ... );

2 — Drukt opgemaakte tekst af met behulp van aanpasbare tekenreeksen.

void print(
    char* format,
    ... );

Parameters

Parameter

Type

Beschrijving

format

const char*

Een opmaakstring die wordt aangeleverd als een letterlijke tekenreeks of als een alleen-lezen C-stijl tekenreeks (bijvoorbeeld “Score: %d”).

format

char*

Een opmaakstring die wordt aangeleverd als een aanpasbare tekenreeks.

…

Een of meer extra waarden die in de opmaakreeks worden ingevoegd, gescheiden door komma’s.

Return Values

Deze functie retourneert geen waarde.

Notes
  • De uitvoer begint bij de huidige cursorpositie (positie op het scherm.

  • De afgedrukte tekst gebruikt het huidige schermlettertype .

  • Gedrukte tekst gebruikt de huidige penkleur .

  • Tekst die met print wordt afgedrukt, wordt altijd met een achtergrond afgedrukt, en de achtergrondkleur wordt bepaald door de vulkleur.

  • Bij gebruik van een opmaakstring moeten het aantal en de typen van de doorgegeven waarden overeenkomen met de opmaakspecificaties in de string.

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#

Verplaatst de cursor naar een specifieke rij en kolom op het IQ (1e generatie) Brain-scherm. De volgende print oproep begint op die locatie met afdrukken.

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

Parameter

Type

Beschrijving

row

int32_t

De rij waarnaar de cursor moet worden verplaatst.

col

int32_t

De kolom waarnaar de cursor moet worden verplaatst.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Dit heeft invloed op waar de daaropvolgende tekstuitvoer begint bij gebruik van print.

  • Rijen en kolommen zijn gebaseerd op het momenteel ingestelde schermlettertype.

  • Het aanroepen van setCursor heeft alleen invloed op de positie van de daaropvolgende tekstuitvoer.

Examples
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

Het IQ (1e generatie) Brain-scherm toont gecentreerde tekst met de tekst "VEXcode!".

newLine#

Verplaatst de cursor naar het begin van de volgende rij op het Brain-scherm.

Available Functions
void newLine();

Parameters

Deze functie accepteert geen parameters.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Als de cursor zich midden in een zin bevindt, zal newLine de rest van de regel na de cursor wissen voordat naar de volgende regel wordt overgeschakeld.

  • Na het aanroepen van newLinewordt de cursor op de eerste kolom van de volgende regel geplaatst.

  • De cursorpositie en rijnummering worden ingesteld met behulp van setCursor.

Examples
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

Het IQ (1e generatie) Brain-scherm toont "Eerste bericht" en "Tweede bericht", weergegeven op aparte regels.

clearLine#

Verwijdert tekst uit een rij op het IQ (1e generatie) Brain-scherm.

Available Functions

1 — Verwijdert de rest van de huidige regel vanaf de cursorpositie.

void clearLine();

2 — Maakt de opgegeven rij leeg met de momenteel geconfigureerde vulkleur.

void clearLine(
    int number );

3 — Maakt de opgegeven rij leeg met behulp van een vooraf gedefinieerd of aangepast kleur object.

void clearLine(
    int          number,
    const color& color );

4 — Maakt de opgegeven rij leeg met behulp van een hexadecimale kleurwaarde.

void clearLine(
    int         number,
    const char* color );

5 — Maakt de opgegeven rij leeg met behulp van een kleurwaarde.

void clearLine(
    int number,
    int hue );

Parameters

Parameter

Type

Beschrijving

number

int

Het rijnummer dat moet worden gewist. De rijnummering begint bij 1.

color

const color&

Maakt de rij leeg met behulp van een object met kleur color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Dit kan ook een aangepast kleurobject gebruiken.

color

const char*

Maakt de rij leeg met behulp van een hexadecimale kleurwaarde (bijvoorbeeld “#000000”).

hue

int

Maakt de rij leeg met behulp van een integer tintwaarde in het bereik 0–359, wat graden op een kleurencirkel vertegenwoordigt.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het wissen van een regel verandert de huidige cursorpositie niet.

  • De cursorpositie en rijnummering worden ingesteld met behulp van setCursor.

  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

Examples
// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");

// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);

row#

Geeft de huidige cursorpositie op het IQ (1e generatie) Brain-scherm weer.

Available Functions
int32_t row();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een int32_t die de regel vertegenwoordigt waar de tekst moet worden afgedrukt.

De rijnummering begint bij 1.

Notes
  • De cursorpositie is gebaseerd op het huidige schermlettertype .

  • De geretourneerde waarde geeft aan waar de volgende afgedrukte uitvoer zal verschijnen.

  • De rijwaarde verandert wanneer tekst wordt afgedrukt of wanneer setCursor wordt aangeroepen.

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

column#

Geeft de kolom terug waar de tekst op het IQ (1e generatie) Brain-scherm wordt afgedrukt.

Available Functions
int32_t column();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een int32_t die de kolom vertegenwoordigt waar de tekst moet worden afgedrukt.

De kolomnummering begint bij 1.

Notes
  • De cursorpositie is gebaseerd op het huidige schermlettertype .

  • De geretourneerde waarde geeft aan waar de volgende afgedrukte uitvoer zal verschijnen.

  • De kolomwaarde verandert wanneer tekst wordt afgedrukt of wanneer setCursor wordt aangeroepen.

Examples
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());

getStringHeight#

Geeft de hoogte in pixels weer van een tekenreeks zoals deze wordt weergegeven op het IQ (1e generatie) Brain-scherm.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parameter

Type

Beschrijving

cstr

const char*

De te meten tekst, aangeleverd als een C-stijl tekenreeks (bijvoorbeeld “Hello”).

Return Values

Retourneert een int32_t die de hoogte van de tekenreeks in pixels weergeeft wanneer deze op het Brain-scherm wordt weergegeven.

Notes
  • De geretourneerde hoogte is afhankelijk van momenteel geselecteerde schermlettertype.

  • Deze functie meet de tekenreeks zonder deze op het scherm weer te geven.

  • De geretourneerde hoogte geeft weer hoe de tekenreeks eruit zou zien wanneer deze wordt afgedrukt.

getStringWidth#

Geeft de breedte in pixels weer van een tekenreeks zoals deze wordt weergegeven op het IQ (1e generatie) Brain-scherm.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parameter

Type

Beschrijving

cstr

const char*

De te meten tekst, aangeleverd als een C-stijl tekenreeks (bijvoorbeeld “Hello”).

Return Values

Retourneert een int32_t die de breedte van de tekenreeks in pixels weergeeft wanneer deze op het Brain-scherm wordt weergegeven.

Notes
  • De geretourneerde breedte is afhankelijk van momenteel geselecteerde schermlettertype.

  • Deze functie meet de tekenreeks zonder deze op het scherm weer te geven.

  • De geretourneerde breedte geeft aan hoe de tekenreeks eruit zou zien wanneer deze wordt afgedrukt.

printAt#

Geeft tekst, getallen of Booleaanse waarden weer op een specifieke coördinaat op het IQ (1e generatie) Brain-scherm.

Available Functions

1 — Drukt de geformatteerde uitvoer af op de opgegeven pixelpositie.

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — Drukt opgemaakte uitvoer af op de opgegeven pixelpositie en stelt in of de tekstachtergrond ondoorzichtig of transparant is.

void printAt(
    int32_t    x,
    int32_t    y,
    bool       bOpaque,
    const char* format,
    ... );

Parameters

Parameter

Type

Beschrijving

x

int32_t

De x-positie waarop afgedrukt moet worden, ten opzichte van de oorsprong van het scherm.

y

int32_t

De y-positie waarop afgedrukt moet worden, ten opzichte van de schermoorsprong.

bOpaque

bool

Hiermee wordt bepaald of de afgedrukte tekst dekkend of transparant wordt weergegeven:

  • true — De achtergrond van de afgedrukte tekst wordt gevuld met de huidige vulkleur.
  • false — De tekst wordt transparant weergegeven en de achtergrond wordt niet gevuld.

format

const char*

Een opmaakstring die bepaalt wat er op het scherm wordt afgedrukt (bijvoorbeeld “Score: %d”).

…

Een of meer extra waarden die in de opmaakreeks worden ingevoegd, gescheiden door komma’s.

Return Values

Deze functie retourneert geen waarde.

Notes
  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp van setOrigin.

  • De afgedrukte tekst gebruikt het huidige schermlettertype .

  • Gedrukte tekst gebruikt de huidige penkleur .

  • Bij gebruik van een opmaakstring moeten het aantal en de typen van de doorgegeven waarden overeenkomen met de opmaakspecificaties in de string.

Examples
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);

clearScreen#

Verwijdert alle tekeningen en tekst van het scherm van de hersenen.

Available Functions

1 — Maakt het scherm zwart.

void clearScreen();

2 — Maakt het scherm leeg met behulp van een vooraf gedefinieerd of aangepast kleur object.

void clearScreen(
    const color& color );

3 — Maakt het scherm leeg met behulp van een hexadecimale kleurwaarde.

void clearScreen(
    const char* color );

4 — Maakt het scherm schoon met behulp van een kleurwaarde.

void clearScreen(
    int hue );

Parameters

Parameter

Type

Beschrijving

color

const color&

Maakt het scherm leeg met behulp van een object met kleur color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Dit kan ook een aangepast kleurobject gebruiken.

color

const char*

Maakt het scherm leeg met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld “#000000”).

hue

int

Maakt het scherm leeg met behulp van een integer tintwaarde in het bereik 0–359, wat graden op een kleurencirkel vertegenwoordigt.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

Examples
// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();


// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(red);

setFont#

Hiermee wordt het lettertype ingesteld dat wordt gebruikt voor de tekst die wordt weergegeven op het IQ (1e generatie) Brain-scherm.

Dit bepaalt het lettertype dat wordt toegepast op de daaropvolgende tekstuitvoer bij gebruik van schermtekstfuncties zoals print.

Available Functions
void setFont(
  fontType font );

Parameters

Parameter

Type

Beschrijving

font

fontType

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
These options are shown below.

Return Values

Deze functie retourneert geen waarde.

Examples
// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");

setPenWidth#

Hiermee stelt u de dikte van getekende lijnen en vormcontouren in.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parameter

Type

Beschrijving

width

uint32_t

De penbreedte, in pixels, van 0 tot 32.

Return Values

Deze functie retourneert geen waarde.

Notes Examples
// Draw a circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);

setPenColor#

Hiermee kunt u de kleur van tekst, pixels, lijnen en vormcontouren instellen.

Available Functions

1 — Stelt de penkleur in met behulp van een vooraf gedefinieerd of aangepast kleur object.

void setPenColor(
    const color& color );

2 — Stelt de penkleur in met behulp van een hexadecimale kleurwaarde.

void setPenColor(
    const char* color );

3 — Stelt de penkleur in met behulp van een tintwaarde.

void setPenColor(
    int hue );

Parameters

Parameter

Type

Beschrijving

color

const color&

Stelt de penkleur in met behulp van een object met kleur color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

Hiermee wordt de penkleur ingesteld met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld “#FF0000”).

hue

int

Hiermee wordt de penkleur ingesteld met een integer tintwaarde in het bereik 0–359, die graden op een kleurencirkel vertegenwoordigt (bijvoorbeeld 0 is rood, 120 is groen en 240 is blauw).

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

Examples
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

setFillColor#

Hiermee wordt de opvulkleur ingesteld die wordt gebruikt bij het tekenen van vormen.

Available Functions

1 — Stelt de vulkleur in met behulp van een vooraf gedefinieerd of aangepast kleur object.

void setFillColor(
    const color& color );

2 — Stelt de vulkleur in met behulp van een hexadecimale kleurwaarde.

void setFillColor(
    const char* color );

3 — Stelt de vulkleur in met behulp van een tintwaarde.

void setFillColor(
    int hue );

Parameters

Parameter

Type

Beschrijving

color

const color&

Stelt de vulkleur in met behulp van een object met kleurcode color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

Hiermee wordt de vulkleur ingesteld met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld “#00FF00”).

hue

int

Hiermee wordt de vulkleur ingesteld met een integer tintwaarde in het bereik 0–359, die graden op een kleurencirkel vertegenwoordigt (bijvoorbeeld 0 is rood, 120 is groen en 240 is blauw).

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

Examples
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

setOrigin#

Hiermee wordt het nulpunt ingesteld dat wordt gebruikt voor het tekenen van afbeeldingen op het scherm van de Brain.

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

Parameter

Type

Beschrijving

x

int32_t

De x-positie van de oorsprong ten opzichte van de linkerbovenhoek van het scherm van de hersenen, van 0 tot 159.

y

int32_t

De y-positie van de oorsprong ten opzichte van de linkerbovenhoek van het scherm van de hersenen, van 0 tot 107.

Return Values

Deze functie retourneert geen waarde.

Notes
  • De standaard oorsprong is de linkerbovenhoek van het scherm op coördinaat (0, 0).

  • De oorsprong is van toepassing op coördinaatfuncties zoals drawLine, drawRectangle, drawCircle, en printAt.

  • De oorsprong blijft van kracht totdat deze opnieuw wordt gewijzigd of het project wordt gereset.

setClipRegion#

Hiermee wordt een rechthoekig gebied op het scherm gedefinieerd waarbinnen alle tekeningen en tekst worden weergegeven. Inhoud buiten dit gebied wordt niet getoond.

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

Parameter

Type

Beschrijving

x

int

De x-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal van 0 tot 159.

y

int

De y-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal van 0 tot 107.

width

int

De breedte van het knipgebied in pixels, weergegeven als een geheel getal van 0 tot 159.

height

int

De hoogte van het knipgebied in pixels, weergegeven als een geheel getal van 0 tot 107.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Tekenfuncties worden nog steeds uitgevoerd, zelfs als ze buiten het knipgebied vallen, maar alleen het gedeelte binnen het gebied is zichtbaar.

  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp van setOrigin.

  • Het knipgebied is alleen van toepassing op de huidige thread.

  • Door een nieuw knipgebied in te stellen, wordt elk eerder ingesteld knipgebied voor de huidige thread vervangen.

Examples
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#

Tekent één pixel op het IQ (1e generatie) Brain-scherm op de opgegeven x- en y-pixelpositie.

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

Parameter

Type

Beschrijving

x

int

De x-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 159.

y

int

De y-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 107.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden ingesteld met behulp van setOrigin.

  • Als de opgegeven pixelpositie buiten de schermgrenzen ligt, wordt de pixel niet getekend.

Examples
// Draw one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

drawLine#

Tekent een rechte lijn tussen twee punten op de IQ-hersenscreening (1e generatie).

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

Parameter

Type

Beschrijving

x1

int

De startcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 159.

y1

int

De begincoördinaat van de lijn op de y-as, gegeven als een geheel getal van 0 tot 107.

x2

int

De eindcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 159.

y2

int

De eind-y-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 107.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

  • De breedte van de lijn wordt bepaald door de huidige penbreedte die is ingesteld met setPenWidth.

  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden ingesteld met behulp van setOrigin.

  • Als een gedeelte van de lijn buiten de schermgrenzen valt, wordt alleen het zichtbare gedeelte getekend.

Examples
// Draw a line from the top left to 
// bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);

drawRectangle#

Tekent een rechthoek op het IQ (1e generatie) Brain-scherm op de opgegeven positie en grootte.

Available Functions

1 — Tekent en vult een rechthoek met de momenteel geconfigureerde vulkleur.

void drawRectangle(
    int x,
    int y,
    int width,
    int height );

2 — Tekent en vult een rechthoek met behulp van een vooraf gedefinieerd of aangepast kleur object.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const color&  color );

3 — Tekent en vult een rechthoek met een hexadecimale kleurwaarde.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const char*   color );

4 — Tekent en vult een rechthoek met behulp van een kleurwaarde.

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

Parameter

Type

Beschrijving

x

int

De x-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 159.

y

int

De y-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 107.

width

int

De breedte van de rechthoek, gegeven als een geheel getal van 0 tot 159.

height

int

De hoogte van de rechthoek, gegeven als een geheel getal van 0 tot 107.

color

const color&

Vult de rechthoek met een object met kleur color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Dit kan ook een aangepast kleurobject gebruiken.

color

const char*

Vult de rechthoek met een hexadecimale kleurwaarde (bijvoorbeeld “#FF0000”).

hue

int

Vult de rechthoek met een tintwaarde in het bereik 0–359.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

  • De dikte van de omtreklijn wordt bepaald door de huidige penbreedte die is ingesteld met setPenWidth.

  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp van setOrigin.

  • Als een deel van de rechthoek buiten de schermgrenzen valt, wordt alleen het zichtbare deel getekend.

Examples
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

drawCircle#

Tekent een cirkel op het IQ (1e generatie) Brain-scherm op de opgegeven positie en straal.

Available Functions

1 — Tekent en vult een cirkel met de momenteel geconfigureerde vulkleur.

void drawCircle(
    int x,
    int y,
    int radius );

2 — Tekent en vult een cirkel met behulp van een vooraf gedefinieerd of aangepast kleur object.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const color&  color );

3 — Tekent en vult een cirkel met behulp van een hexadecimale kleurwaarde.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const char*   color );

4 — Tekent en vult een cirkel met behulp van een kleurwaarde.

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

Parameter

Type

Beschrijving

x

int

De x-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 159.

y

int

De y-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 107.

radius

int

De straal van de cirkel, gegeven als een geheel getal van 0 tot 107 pixels.

color

const color&

Vult de cirkel met een object met kleur color Voorgedefinieerde kleuren zijn onder andere:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Dit kan ook een aangepast kleurobject gebruiken.

color

const char*

Vult de cirkel met een hexadecimale kleurwaarde (bijvoorbeeld “#FF0000”).

hue

int

Vult de cirkel met een tintwaarde in het bereik 0–359.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Het IQ (1e generatie) Brain-scherm is een monochroom scherm, waardoor bepaalde kleuren niet op het scherm verschijnen.

  • De dikte van de omtreklijn wordt bepaald door de huidige penbreedte die is ingesteld met setPenWidth.

  • De coördinaten x en y zijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp van setOrigin.

Examples
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

render#

Schakelt dubbele buffering in voor het scherm van de Brain. Na deze functieaanroep zullen tekenfuncties (zoals tekst of vormen) niet langer direct zichtbaar zijn gedurende de rest van het project. Updates worden pas weergegeven wanneer render opnieuw wordt gebruikt. Dit zorgt voor vloeiendere en meer gecontroleerde schermupdates, maar betekent wel dat er niets zichtbaar zal zijn totdat render wordt gebruikt.

Available Functions

1 — Schakelt dubbele buffering in of geeft de backbuffer weer op het scherm.

bool render();

2 — Geeft de backbuffer weer op het scherm, met controle over het verticale synchronisatiegedrag en optionele uitvoering van de scheduler.

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

Parameter

Type

Beschrijving

bVsyncWait

bool

​

  • true — Wacht op de verticale verversing van het scherm voordat u gaat renderen om visuele tearing te verminderen.
  • false — Wacht niet op de verticale verversing van het scherm voordat u gaat renderen.

bRunScheduler

bool

Optioneel.

  • true (standaard) — Sta toe dat achtergrondtaken worden uitgevoerd terwijl er wordt gewacht op het renderen.
  • false — Sta niet toe dat achtergrondtaken worden uitgevoerd terwijl er wordt gewacht op het renderen.

Return Values

Retourneert een Booleaanse waarde die aangeeft of de opgeslagen tekeningen in de buffer succesvol op het scherm zijn weergegeven:

  • true — De tekeningen zijn succesvol op het scherm weergegeven.
  • false — De tekeningen konden niet op het scherm worden weergegeven.
  • Notes
    • Als je render aanroept, moet je render gebruiken voor de rest van het project.

    Examples
    Brain.Screen.render();
    
    // Draw text to the back buffer
    Brain.Screen.print("Render later...");
    
    // Wait for a screen press to render drawings
    while (!Brain.Screen.pressing()) {
      wait(20, msec);
    }
    Brain.Screen.render();