Képernyő#

Bevezetés#

A screen osztály a brain alaposztályból származik. Ez szabályozza, hogy az EXP Brain hogyan jelenítse meg a szöveget, számokat és grafikákat a képernyőjén.

Az EXP Brain képernyője meghatározott számú sorral és oszloppal rendelkezik, amelyeket a szöveg képernyőre nyomtatásakor használ.

Alapértelmezés szerint a Brainbe nyomtatandó betűtípus a mono20 amely 7 sorral és 20 oszloppal rendelkezik.

Rajzolás esetén az agy felbontása 159 x 107 pixel.

A VEX Brain képernyőjének feliratozott rácsdiagramja, amely sorokat, oszlopokat, pixelméreteket és koordinátákat mutat, a rácsot piros vonalakkal körvonalazva.

Hozzáférés#

A screen osztály a következőképpen érhető el:

Brain.Screen

Megjegyzések#

  • A screen objektumot az Agy biztosítja. Nem közvetlenül konstruálódik.

  • A projektek egyetlen globális Brain objektumot használnak, így a screen függvények Brain.Screen használatával hívhatók meg.

Példa#

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

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

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

Tagfüggvények#

A screen osztály a következő tagfüggvényeket tartalmazza:

  • print — Formázott szöveget, számokat vagy logikai értékeket nyomtat ki a Brain képernyőjére.

  • setCursor — A szövegkurzort egy megadott sorra és oszlopba mozgatja.

  • newLine — Törli az aktuális sor fennmaradó részét, és a kurzort a következő sorba helyezi.

  • clearLine — Törli az aktuális sor fennmaradó részét, vagy egy megadott sort.

  • row — Visszaadja azt a sort, ahová a szöveg ki lesz nyomtatva.

  • column — Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva.

  • getStringHeight — Visszaadja egy karakterlánc magasságát pixelben az aktuális betűtípus használatával.

  • getStringWidth — Visszaadja egy karakterlánc szélességét pixelben az aktuális betűtípus használatával.

  • printAt — Formázott szöveget nyomtat ki egy x, y pixel pozícióban (opcionálisan átlátszatlan).

  • clearScreen — Kitörli a teljes képernyőt (opcionálisan egy megadott színre).

  • setFont — Beállítja a képernyőn történő nyomtatáshoz használt betűtípust.

  • setPenWidth — Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.

  • setPenColor — Beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.

  • setFillColor — Beállítja a rajzolt alakzatok és a nyomtatott szöveg hátterének kitöltési színét.

  • setOrigin — Beállítja a képernyő-koordinátákhoz használt origót.

  • setClipRegion — A képernyőkimenetet egy téglalap alakú régióra korlátozza.

  • drawPixel — Egy pixelt rajzol egy koordinátán.

  • drawLine — Két pont között húz egy vonalat.

  • drawRectangle — Egy x és y koordinátákon megadott méretű téglalapot rajzol.

  • drawCircle — Egy x és y koordinátákon megadott sugárral kört rajzol.

  • drawImageFromFile — Kirajzol egy képet egy SD-kártyán lévő fájlból a képernyőre.

  • render — Engedélyezi a dupla pufferelést, vagy a háttérpuffert rendereli a képernyőn.

Bármely screen tagfüggvény meghívása előtt létre kell hozni egy brain példányt, az alábbiak szerint:

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

print#

Szöveget, számokat vagy logikai értékeket jelenít meg az EXP Brain képernyőn.

Available Functions

1 — Formázott szöveget nyomtat ki karakterlánc literálokkal vagy csak olvasható C stílusú karakterláncokkal.

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

2 — Formázott szöveget nyomtat módosítható karaktertömbök használatával.

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

Parameters

Paraméter

Típus

Leírás

format

const char*

Egy formázó karakterlánc, amely karakterlánc literálként vagy csak olvasható C stílusú karakterláncként van megadva (például “Score: %d”).

format

char*

Módosítható karaktertömbként megadott formátumú karakterlánc.

…

Egy vagy több további érték, amelyek vesszővel elválasztva kerülnek beszúrásra a formázó karakterláncba.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A kimenet a képernyőn az aktuális kurzor pozíciójánál, pozíciónál kezdődik.

  • Printed text uses the current screen font.

  • A nyomtatott szöveg a jelenlegi tollszínt használja.

  • print paranccsal nyomtatott szöveg mindig háttérrel kerül nyomtatásra, a háttérszínt pedig az kitöltőszín határozza meg.

  • Formátumkarakterlánc használata esetén az átadott értékek számának és típusának meg kell egyeznie a karakterláncban található formátumspecifikátorok értékével.

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

Az EXP agy képernyőképe, amelyen a képernyő bal felső sarkában fehér szöveggel a Hello, Robot! felirat látható.

setCursor#

A kurzort egy adott sorra és oszlopra mozgatja az EXP Brain képernyőn. A következő print hívás onnan kezdi a nyomtatást.

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

Parameters

Paraméter

Típus

Leírás

row

int32_t

A sor, ahová a kurzort át kell helyezni.

col

int32_t

Az oszlop, amelyre a kurzort át kell helyezni.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Befolyásolja, hogy hol kezdődik a további szövegkimenet a print használatakor.

  • A sorok és oszlopok a jelenlegileg beállított képernyőbetűtípus alapján kerülnek kiszámításra.

  • Az alapértelmezett betűtípus (mono20) 12 sort és 48 oszlopot használ.

  • A setCursor meghívása csak a későbbi szövegkimenet pozícióját befolyásolja.

Examples
// Display text starting at Row 3 Column 10
Brain.Screen.setCursor(3, 10);
Brain.Screen.print("R3, C10");

Az EXP Brain képernyőképe, amelyen a 3. sor 12. oszlopa látható a képernyő felső részén, a közepe közelében, abban a pozícióban.

newLine#

A kurzort a Brain képernyő következő sorának elejére mozgatja.

Available Functions
void newLine();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Ha a kurzor egy mondat közepén van, newLine törli a kurzor utáni sor többi részét, mielőtt a következő sorra lépne.

  • newLinemeghívása után a kurzor a következő sor első oszlopára pozícionálódik.

  • A kurzor pozícióját és a sorok számozását a setCursor függvénnyel állítjuk be.

Examples
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

Az EXP Brain képernyőjének képernyőképe, amelyen két sor fehér szöveg látható a bal felső sarokban. A felső sorban az 1. sor, a közvetlenül alatta lévő második sorban pedig a 2. sor olvasható.

clearLine#

Törli a szöveget egy sorból az EXP Brain képernyőn.

Available Functions

1 — Törli az aktuális sor többi részét a kurzor pozíciójától.

void clearLine();

2 — Törli a megadott sort a jelenleg konfigurált kitöltőszín használatával.

void clearLine(
    int number );

3 — Kiüríti a megadott sort egy előre definiált vagy egyéni szín objektum használatával.

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

4 — Hexadecimális színérték használatával törli a megadott sort.

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

5 — Törli a megadott sort egy színárnyalat-érték használatával.

void clearLine(
    int number,
    int hue );

Parameters

Paraméter

Típus

Leírás

number

int

A törlendő sor száma. A sorok számozása 1 -gyel kezdődik.

color

const color&

Egy color objektummal törli a sort. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Törli a sort hexadecimális színérték használatával (például “#000000”).

hue

int

Kiüríti a sort egy egész szám színárnyalat-értékkel a 0–359tartományban, amely a színkör körüli fokokat jelöli.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Egy sor törlése nem változtatja meg az aktuális kurzor pozícióját.

  • A kurzor pozícióját és a sorok számozását a setCursor függvénnyel állítjuk be.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

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#

Visszaadja azt a sort, ahová a szöveg ki lesz nyomtatva az EXP Brain képernyőn.

Available Functions
int32_t row();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely azt a sort jelöli, ahová a szöveg ki lesz nyomtatva.

A sorok számozása 1-től kezdődik.

Notes
  • A kurzor pozíciója az aktuális képernyőbetűtípuson alapul.

  • A visszaadott érték azt jelzi, hogy hol fog megjelenni a következő kinyomtatott kimenet.

  • A sor értéke megváltozik, amikor szöveget nyomtatunk, vagy amikor a setCursor függvényt meghívjuk.

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

Az EXP Brain képernyőjének képernyőképe, amelyen a 3-as szöveg fehér színnel látható a képernyő bal felső negyedében, a 3. sor 10. oszlopának pozíciójában.

column#

Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva az EXP Brain képernyőn.

Available Functions
int32_t column();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely azt az oszlopot jelöli, ahová a szöveg ki lesz nyomtatva.

Az oszlopok számozása 1-től kezdődik.

Notes
  • A kurzor pozíciója az aktuális képernyőbetűtípuson alapul.

  • A visszaadott érték azt jelzi, hogy hol fog megjelenni a következő kinyomtatott kimenet.

  • Az oszlop értéke megváltozik, amikor szöveget nyomtatunk, vagy amikor a setCursor függvényt meghívjuk.

Examples
// Display the cursor's current column
Brain.Screen.setCursor(3, 10);
Brain.Screen.print(Brain.Screen.column());

Az EXP Brain képernyőjének képernyőképe, amelyen a 10-es szöveg fehér színnel látható a képernyő bal felső negyedében, a 3. sor 10-es oszlopának pozíciójában.

getStringHeight#

Visszaadja egy karakterlánc magasságát pixelben, amikor az EXP Brain képernyőn jelenik meg.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Paraméter

Típus

Leírás

cstr

const char*

A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például “Hello”).

Return Values

Egy int32_t értéket ad vissza, amely a karakterlánc magasságát jelöli pixelben, amikor a Brain képernyőn renderelésre kerül.

Notes
  • A visszaadott magasság az aktuálisan kiválasztott képernyőbetűtípustól függ.

  • Ez a függvény megméri a karakterláncot anélkül, hogy a képernyőre rajzolná.

  • A visszaadott magasság azt tükrözi, hogy a karakterlánc hogyan jelenne meg nyomtatáskor.

getStringWidth#

Visszaadja egy karakterlánc szélességét pixelben, amikor az EXP Brain képernyőn jelenik meg.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Paraméter

Típus

Leírás

cstr

const char*

A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például “Hello”).

Return Values

Egy int32_t értéket ad vissza, amely a karakterlánc szélességét jelöli pixelben, amikor a Brain képernyőn jelenik meg.

Notes
  • A visszaadott szélesség az aktuálisan kiválasztott képernyőbetűtípustól függ.

  • Ez a függvény megméri a karakterláncot anélkül, hogy a képernyőre rajzolná.

  • A visszaadott szélesség azt tükrözi, hogy a karakterlánc hogyan jelenne meg nyomtatáskor.

printAt#

Szöveget, számokat vagy logikai értékeket nyomtat ki egy adott koordinátán az EXP Brain képernyőn.

Available Functions

1 — Formázott kimenetet nyomtat a megadott képponthelyre.

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

2 — Formázott kimenetet nyomtat a megadott képponthelyre, és beállítja, hogy a szöveg háttere átlátszatlan vagy átlátszatlan legyen.

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

Parameters

Paraméter

Típus

Leírás

x

int32_t

Az x pozíció, amelyre a nyomtatást végezni kell, a képernyő origójához viszonyítva.

y

int32_t

A nyomtatás y-pozíciója, a képernyő origójához viszonyítva.

bOpaque

bool

Azt szabályozza, hogy a nyomtatott szöveg átlátszatlanul vagy áttetszően legyen-e kirajzolva:

  • true — A nyomtatott szöveg háttere a jelenlegi kitöltési szín használatával van kitöltve.
  • false — A szöveg átlátszóan van kirajzolva, a háttér pedig nincs kitöltve.

format

const char*

Egy formázó karakterlánc, amely a képernyőn kiírt tartalmat szabályozza (például: “Score: %d”).

…

Egy vagy több további érték, amelyek vesszővel elválasztva kerülnek beszúrásra a formázó karakterláncba.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • Printed text uses the current screen font.

  • A nyomtatott szöveg a jelenlegi tollszínt használja.

  • Formátumkarakterlánc használata esetén az átadott értékek számának és típusának meg kell egyeznie a karakterláncban található formátumspecifikátorok értékével.

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

clearScreen#

Kitörli az összes rajzot és szöveget az Agy képernyőjéről.

Available Functions

1 — Elsötétíti a képernyőt.

void clearScreen();

2 — Kiüríti a képernyőt egy előre definiált vagy egyéni szín objektum használatával.

void clearScreen(
    const color& color );

3 — Hexadecimális színérték használatával törli a képernyőt.

void clearScreen(
    const char* color );

4 — A képernyő törlését egy színárnyalat-érték használatával végzi.

void clearScreen(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Egy color objektummal törli a képernyőt. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Kiüríti a képernyőt egy hexadecimális színérték használatával, amely karakterláncként van ábrázolva (például “#000000”).

hue

int

A képernyőt 0–359tartományba eső egész szám színárnyalat-értékkel törli, amely a színkör körüli fokokat jelöli.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

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(blue);

setFont#

Beállítja az EXP Brain képernyőn megjelenített szöveghez használt betűtípust.

Ez szabályozza a későbbi szövegkimenetre alkalmazott betűtípust, amikor képernyőszöveg-függvényeket, például print használunk.

Available Functions
void setFont(
  fontType font );

Parameters

Paraméter

Típus

Leírás

font

fontType

A betűtípust a következők egyikére állítja be:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
Ezek a beállítások alább láthatók.

Az Agy szitanyomtatta a számokat és betűket mono 12-es betűmérettel. A-tól Z-ig és az összes számot mutatja. A képernyő alján 9 sor, 26 oszlop felirat látható.
mono12

Az Agy szitanyomtatta a számokat és betűket mono 15-ös betűmérettel. A-tól T-ig és az összes számot mutatja. A képernyő alján 7 sor, 22 oszlop látható.
mono15

Az Agy szitanyomtatta a számokat és betűket mono 20-as betűmérettel. A-tól P-ig és az összes számot mutatja. A képernyő alján 5 sor, 16 oszlop felirat látható.
mono20

Az Agy szitanyomott számokat és betűket mono 30-as betűmérettel. A-tól J-ig terjednek a betűk. A képernyő alján az R:3 C:10 felirat olvasható.
mono30

Az Agy szitanyomtatta a számokat és betűket mono 40-es betűmérettel. A képernyő alján az áll: R:2 C:8.
mono40

Az Agy szitanyomtatott számokat és betűket mono 60-as betűmérettel. Csak a MON60 jelenik meg.
mono60

Az Agy szitanyomtatta a számokat és betűket prop 20-as betűmérettel. A-tól W-ig és az összes számot mutatja. A képernyő alján 5 sor, 16 oszlop felirat látható.
prop20

Az Agy szitanyomott számokat és betűket prop 30-as betűmérettel. A-tól P-ig terjednek a betűk. A képernyő alján R:3 C:10 felirat olvasható.
prop30

Az Agy szitanyomtatta a számokat és betűket prop 40-es betűmérettel. A képernyő alján az áll: R:2 C:8.
prop40

Az Agy szitanyomott számokat és betűket prop 60-as betűmérettel. Csak a PROP60 jelenik meg.
prop60

Return Values

Ez a függvény nem ad vissza értéket.

Examples
// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

Az EXP Brain képernyőjének képernyőképe, amelyen a bal felső sarokban fehér betűtípussal, az alapértelmezettnél nagyobb betűtípussal olvasható a VEX.

setPenWidth#

Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Paraméter

Típus

Leírás

width

uint32_t

A toll szélessége pixelben, 0 és 32 közötti tartományban.

Return Values

Ez a függvény nem ad vissza értéket.

Notes Examples
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(20, 20, 75, 50);

Az EXP Brain képernyőjének képernyőképe, amelyen egy vastag szegéllyel ellátott téglalap látható a képernyő bal oldalán.

setPenColor#

Beállítja a vonalak, alakzatok és szöveg rajzolásához használt tollszínt.

Available Functions

1 — Beállítja a toll színét egy előre definiált vagy egyéni szín objektum használatával.

void setPenColor(
    const color& color );

2 — Hexadecimális színértékkel állítja be a toll színét.

void setPenColor(
    const char* color );

3 — Beállítja a toll színét egy színárnyalat-érték használatával.

void setPenColor(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Beállítja a toll színét egy color objektum használatával. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Használhat egyéni szín objektumot is.

color

const char*

Beállítja a toll színét egy hexadecimális színértékkel, amely karakterláncként van megadva (például “#FF0000”).

hue

int

A toll színét egy egész szám árnyalatértékkel állítja be a 0–359tartományban, amely a színkör körüli fokokat jelöli (például 0 piros, 120 zöld és 240 kék).

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A projekt kezdetén az alapértelmezett tollszín a white.

  • A toll színét alakzatok körvonalaihoz (például a drawCircle vagy a drawRectangle metódussal), szöveges és numerikus kimenethez (a print és printAt metódusokkal), valamint a drawPixel metódussal rajzolt egyes pixelekhez használjuk.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(20, 20, 75, 50);

Az EXP Brain képernyőjének képernyőképe, amelyen egy narancssárgával rajzolt téglalap látható a képernyő bal oldalán.

setFillColor#

Beállítja az alakzatok rajzolásakor használt kitöltési színt.

Available Functions

1 — Beállítja a kitöltőszínt egy előre definiált vagy egyéni szín objektum használatával.

void setFillColor(
    const color& color );

2 — Hexadecimális színértékkel állítja be a kitöltőszínt.

void setFillColor(
    const char* color );

3 — Beállítja a kitöltőszínt egy színárnyalat-érték használatával.

void setFillColor(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Beállítja a kitöltőszínt egy color objektum használatával. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Használhat egyéni színobjektumot is.

color

const char*

Beállítja a kitöltőszínt egy hexadecimális színértékkel, amely karakterláncként van megadva (például “#00FF00”).

hue

int

A kitöltőszínt egy egész szám árnyalatértékkel állítja be a 0–359tartományban, amely a színkör körüli fokokat jelöli (például 0 piros, 120 zöld és 240 kék).

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A projekt elején az alapértelmezett kitöltőszín a black.

  • A kitöltőszínt az alakzatok belsejében használjuk (például a drawCircle vagy a drawRectangle esetén).

  • A kitöltőszín a nyomtatott szöveg háttérszíneként használatos (például a print és a printAt esetén).

    • Ha transparent nyomtatott szöveggel használjuk, akkor a háttér black lesz.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(20, 20, 75, 50);

Az EXP Brain képernyőjének képernyőképe, amelyen egy lilával kitöltött téglalap látható a képernyő bal oldalán.

setOrigin#

Beállítja a Brain képernyőjén a grafikák rajzolásához használt origót.

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

Parameters

Paraméter

Típus

Leírás

x

int32_t

Az origó x pozíciója az agy képernyőjének bal felső sarkához képest 0-tól 159-ig.

y

int32_t

Az origó y-pozíciója az agy képernyőjének bal felső sarkához képest 0-tól 107-ig.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Az alapértelmezett origó a képernyő bal felső sarka a (0, 0) koordinátán.

  • Az origó olyan koordinátafüggvényekre vonatkozik, mint a drawLine, drawRectangle, drawCircle és printAt.

  • Az origó mindaddig érvényben marad, amíg újra meg nem változtatják, vagy a projektet vissza nem állítják.

setClipRegion#

Egy téglalap alakú területet határoz meg a képernyőn, ahová az összes rajz és szöveg be lesz zárva. Az ezen a területen kívül eső tartalom nem jelenik meg.

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

Parameters

Paraméter

Típus

Leírás

x

int

A klipterület bal felső sarkának x koordinátája, 0 és 159 közötti egész számként megadva.

y

int

A vágási régió bal felső sarkának y koordinátája, 0 és 107 közötti egész számként megadva.

width

int

A klipterület szélessége pixelben, 0 és 159 közötti egész számként megadva.

height

int

A klipterület magassága pixelben, 0 és 107 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A rajzolási függvények akkor is végrehajtásra kerülnek, ha a vágóterületen kívül esnek, de csak a területen belüli rész látható.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • A vágási régió csak az aktuális szálra vonatkozik.

  • Egy új vágási régió beállítása felülírja az aktuális szálhoz korábban beállított vágási régiót.

Examples

drawPixel#

Egy képpontot rajzol az EXP Brain képernyőn a kiválasztott x és y képponthelyen.

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

Parameters

Paraméter

Típus

Leírás

x

int

Az x koordináta, ahová a képpontot kirajzoljuk, 0 és 159 közötti egész számként megadva.

y

int

Az y koordináta, ahová a képpontot kirajzoljuk, 0 és 107 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A pixelek kirajzolása a setPenColor paraméterrel beállított aktuális tollszínnel történik.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, amely a setOrigin segítségével állítható be.

  • Ha a megadott pixel helye a képernyő határain kívül esik, a pixel nem kerül kirajzolásra.

Examples
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(50, 50);
Brain.Screen.drawPixel(50, 75);
Brain.Screen.drawPixel(75, 50);
Brain.Screen.drawPixel(75, 75);

Az EXP Brain képernyőjének képernyőképe, amelyen a képernyő közepéhez közeli négyzet sarkait ábrázoló képpontok gyűjteménye látható.

drawLine#

Egyenes vonalat húz két pontot összekötve az EXP Brain képernyőn.

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

Parameters

Paraméter

Típus

Leírás

x1

int

A vonal kezdő x koordinátája, 0 és 159 közötti egész számként megadva.

y1

int

A vonal kezdő y koordinátája, 0 és 107 közötti egész számként megadva.

x2

int

A vonal végpontjának x koordinátája, 0 és 159 közötti egész számként megadva.

y2

int

A vonal végső y koordinátája, 0 és 107 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A vonalak a setPenColor paraméterrel beállított aktuális tollszínnel lesznek megrajzolva.

  • A vonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, amely a setOrigin segítségével állítható be.

  • Ha a vonal bármely része a képernyő határain kívül esik, akkor csak a látható rész kerül kirajzolásra.

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

Az EXP Brain képernyőképén egy vékony átlós vonal látható a középpontban, a bal felső saroktól a jobb alsó sarokig.

drawRectangle#

Egy téglalapot rajzol az EXP Brain képernyőn a megadott helyen és méretben.

Available Functions

1 — Kirajzol és kitölt egy téglalapot a jelenleg konfigurált kitöltőszín színnel.

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

2 — Előre definiált vagy egyéni szín objektummal rajzol és tölt ki egy téglalapot.

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

3 — Hexadecimális színértékkel rajzol és tölt ki egy téglalapot.

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

4 — Téglalapot rajzol és tölt ki egy színárnyalat értékével.

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

Parameters

Paraméter

Típus

Leírás

x

int

A téglalap bal felső sarkának x koordinátája, 0 és 159 közötti egész számként megadva.

y

int

A téglalap bal felső sarkának y koordinátája, 0 és 107 közötti egész számként megadva.

width

int

A téglalap szélessége, 0 és 159 közötti egész számként megadva.

height

int

A téglalap magassága, 0 és 107 közötti egész számként megadva.

color

const color&

color objektummal tölti ki a téglalapot. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez egyéni színobjektum is használható.

color

const char*

Hexadecimális színértékkel tölti ki a téglalapot (például “#FF0000”).

hue

int

A téglalapot 0–359 tartományba eső színárnyalattal tölti ki.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A téglalap körvonalát a setPenColor paraméterrel beállított aktuális tollszínnel rajzolja meg a program.

  • A körvonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • Ha nincs megadva color paraméter, a téglalap belseje a setFillColor függvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • Ha a téglalap bármely része a képernyő határain kívül esik, akkor csak a látható rész kerül kirajzolásra.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(20, 20, 80, 30);

Az EXP Brain képernyőjének képernyőképén egy téglalap látható, amelynek bal felső negyedében vékony fehér szegély látható.

drawCircle#

Kör rajzolása az EXP Brain képernyőn a megadott pozícióban és sugárban.

Available Functions

1 — Kör rajzolása és kitöltése a jelenleg konfigurált kitöltőszín színnel.

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

2 — Kör rajzolása és kitöltése egy előre definiált vagy egyéni szín objektummal.

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

3 — Hexadecimális színértékkel rajzol és tölt ki egy kört.

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

4 — Kör rajzolása és kitöltése egy színárnyalat értékével.

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

Parameters

Paraméter

Típus

Leírás

x

int

A kör középpontjának x koordinátája, 0 és 159 közötti egész számként megadva.

y

int

A kör középpontjának y koordinátája, 0 és 107 közötti egész számként megadva.

radius

int

A kör sugara, 0 és 107 pixel közötti egész számként megadva.

color

const color&

Egy color objektummal tölti ki a kört. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Hexadecimális színértékkel tölti ki a kört (például “#FF0000”).

hue

int

A kört a 0–359 tartományba eső színárnyalatértékkel tölti ki.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A kör körvonalát a setPenColor paraméterrel beállított aktuális tollszínnel rajzolja meg a program.

  • A körvonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • Ha nincs megadva color paraméter, a kör belseje a setFillColor függvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

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

Az EXP Brain képernyőképén egy kör látható, középen vékony fehér szegéllyel.

drawImageFromFile#

Kirajzol egy képet az EXP Brain képernyőre az SD-kártyán tárolt képfájl felhasználásával.

Available Functions
bool drawImageFromFile(
  const char* name,
  int x,
  int y );

Parameters

Paraméter

Típus

Leírás

name

const char*

A kép fájlneve az SD-kártyán. A fájl kiterjesztésének .bmp vagy .png kell lennie.

x

int

Az x koordináta pixelekben 0 és 159 között, amelynél a kép bal széle meg lesz rajzolva.

y

int

Az y koordináta pixelekben 0 és 107 között, amelynél a kép felső széle meg lesz rajzolva.

Return Values

Logikai értéket ad vissza, amely jelzi, hogy a kép sikeresen meg lett-e rajzolva:

  • true — A kép sikeresen betöltődött és megjelent a képernyőn.
  • false — A kép nem rajzolható meg (például, ha a fájl nem létezik vagy érvénytelen).

Notes
  • A támogatott képformátumok .bmp és .png.

  • A képfájl mérete nem haladhatja meg 512 KB.

    • A fájlméret minimalizálása érdekében 8 bites RLE kódolás ajánlott.

  • A maximálisan támogatott képméretek megegyeznek a Brain képernyő méretével (körülbelül 159 x 107 pixel).

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

Examples
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);

render#

Lehetővé teszi a dupla pufferelést az Agy képernyőjén. Meghívás után a rajzolási függvények (például szöveg, alakzatok vagy képek) nem jelennek meg azonnal a projekt többi részében. Ehelyett a frissítések csak akkor jelennek meg, ha render újra használják. Ez simább és kontrolláltabb képernyőfrissítéseket tesz lehetővé, de azt jelenti, hogy semmi sem lesz látható, amíg render at nem használják.

Available Functions

1 — Engedélyezi a dupla pufferelést, vagy a háttérpuffert jeleníti meg a képernyőn.

bool render();

2 — A háttérpuffert a képernyőn jeleníti meg, a függőleges szinkron viselkedésének és az opcionális ütemező végrehajtásának vezérlésével.

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

Parameters

Paraméter

Típus

Leírás

bVsyncWait

bool

​

  • true — A képernyő függőleges frissítésének megvárása a renderelés előtt a vizuális szakadozás csökkentése érdekében.
  • false — Ne várja meg a képernyő függőleges frissítését a renderelés előtt.

bRunScheduler

bool

Opcionális.

  • true (alapértelmezett) — Engedélyezi a háttérfeladatok futását a renderelésre várás közben.
  • false — Ne engedélyezze a háttérfeladatok futását a renderelésre várás közben.

Return Values

Logikai értéket ad vissza, amely jelzi, hogy a pufferben mentett rajzok sikeresen megjelenítődtek-e a képernyőn:

  • true — A rajzok sikeresen megjelenítődtek a képernyőn.
  • false — A rajzok nem jeleníthetők meg a képernyőn.
  • Notes
    • A render meghívásához render használatára lesz szükség a projekt többi részéhez.

    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();