Képernyő#

Bevezetés#

A screen osztály a brain alaposztályból származik. Ez szabályozza, hogy az IQ (2. generációs) agy hogyan jelenít meg szöveget, számokat és grafikákat a beépített képernyőjén.

Alapértelmezés szerint a Brainbe nyomtatott betűtípus egyszeres szélességű kicsi.

Rajzolás esetén az agy felbontása 160 x 108 pixel.

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 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 — Kiüríti 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 a képernyőre rendereli.

  • pressing — Visszaadja, hogy a képernyő jelenleg le van-e nyomva.

  • xPosition — Visszaadja a legutóbbi képernyőnyomás x koordinátáját.

  • yPosition — Visszaadja a legutóbbi szitanyomás y koordinátáját.

  • pressed — Visszahívó függvényt regisztrál, amely a képernyő megnyomásakor fut.

  • released — Visszahívó függvényt regisztrál, amely akkor fut le, amikor a képernyőt elengedik a megnyomás utá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 Brain
brain Brain = brain();

print#

Szöveget, számokat vagy logikai értékeket jelenít meg az IQ (2. generációs) agy 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 IQ (2. generációs) 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 IQ (2. generációs) 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) 5 sort és 16 oszlopot használ.

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

Examples
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Repeatedly print the Brain timer at top-left
  while (true) {
    Brain.Screen.print("%d", Brain.Timer.time(seconds));
    Brain.Screen.newLine();
    wait(1, seconds);
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
  }
}

Az IQ (2. generációs) agy képernyőképe, amelyen a képernyő bal felső sarkában, azon a helyen 25-ös szám látható.

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 IQ (2. generációs) agy 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 látható.

clearLine#

Törli a szöveget egy sorból az IQ (2. generációs) 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 IQ (2. generációs) agy 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, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

Az IQ (2. generációs) agy képernyőjének képernyőképe, amelyen a 3. szövegsor fehér színnel látható a képernyő bal oldalán, a 3. sor 12. oszlopának pozíciójában.

column#

Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva az IQ (2. generációs) agy 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.print("column: ", Brain.Screen.column());

Az IQ (2. generációs) agy képernyőjének képernyőképe, amelyen a 9-es oszlop látható fehér színnel a képernyő tetején, az 1. sor 9. oszlopának pozíciójában.

getStringHeight#

Visszaadja egy karakterlánc magasságát pixelben, amikor az IQ (2. generációs) 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 IQ (2. generációs) 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 egy adott koordinátán az IQ (2. generációs) agy 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);

Képernyőkép az IQ (2. generációs) agy képernyőjéről, fehér 1-es szöveggel, (100, 40) koordinátákon nyomtatva.

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

Az IQ (2. generációs) agy képernyőjének képernyőképe, amelyen a teljes nyomtatható terület élénkpiros.

setFont#

Beállítja az IQ (2. generációs) 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.

A VEX IQ Brain képernyőjének képernyőképe, amelyen Mono 12 betűtípusú számok és betűk láthatók. Az AZ betűk egy sorban helyezkednek el, a képernyő teljes szélességében. A bal alsó sarok 26 karaktert és 9 sort jelez.
mono12

Ugyanaz a képernyőkép, mint az előző, most Mono 15 betűtípussal. Az AT betűk egy sorban vannak, a képernyő teljes szélességében. A bal alsó sarok 20 karaktert és 7 sort jelez.
mono15

Ugyanaz a képernyőkép, mint az előző, most Mono 20 betűtípussal. Az AP betűk egy sorban vannak, a képernyő teljes szélességében. A bal alsó sarok 16 karaktert és 5 sort jelez.
mono20

Ugyanaz a képernyőkép, mint az előző, most Mono 30 betűtípussal. Az 1-től 9-ig terjedő számok és egy plusz 0 egy sorban vannak, a képernyő teljes szélességében. A bal alsó sarok 3 sort jelöl.
mono30

Ugyanaz a képernyőkép, mint az előző, most Mono 40 betűtípussal. Az 1-től 8-ig terjedő számok a második sorban találhatók, a képernyő teljes szélességében.
mono40

Ugyanaz a képernyőkép, mint az előző, most Mono 60 betűtípussal. A képernyőn nagy betűtípussal látható az MN 60, amely a képernyő felső felét majdnem teljesen kitölti.
mono60

Ugyanaz a képernyőkép, mint az előző, most Prop 20 betűtípussal. Az AW betűk egy sorban vannak, a képernyő teljes szélességében. A bal alsó sarok 26 karaktert és 5 sort jelez.
prop20

Ugyanaz a képernyőkép, mint az előző, most Prop 30 betűtípussal. Az 1-9 számok kétszer ismétlődnek egy sorban, a képernyő teljes szélességében. A bal alsó sarok 18 karaktert és 3 sort jelöl.
prop30

Ugyanaz a képernyőkép, mint az előző, most Prop 40 betűtípussal. A képernyő felső sorban a Prop 40 felirat látható, a második sorban pedig 14 karakter és 2 sor látható.
prop40

Ugyanaz a képernyőkép, mint az előző, most Prop 60 betűtípussal. A képernyőn nagy betűtípussal olvasható a PROP 60, amely a képernyő felső felét majdnem teljesen kitölti.
prop60

Return Values

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

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

Az IQ Brain képernyőjének képernyőképe, két sorban fehér szöveggel a bal felső sarokban. Az első sorban a Mono Medium (Egyszínű Közepes) felirat olvasható, a közvetlenül alatta lévő második sorban pedig kisebb betűtípussal a Prop Medium (Prop Közepes).

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ött.

Return Values

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

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

Az IQ Brain képernyőjének képernyőképe, két fehér körrel a képernyő alsó felén. A bal oldali kör keskenyebb szegéllyel van rajzolva, mint a jobb oldali.

setPenColor#

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

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&

Sets the pen color using a color object. Predefined colors include:

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

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
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

Az IQ Brain képernyőjének képernyőképe, két kis téglalappal a képernyő alsó felén. A bal oldali téglalap kék, a jobb oldali pedig fehér.

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

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 circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

Az IQ Brain képernyőjének képernyőképe, amelyen egy élénk sárga kör látható vékony fehér szegéllyel a képernyő bal felén.

setOrigin#

Beállítja a rajzoláshoz és a koordináta-alapú nyomtatáshoz használt origót a Brain képernyőn.

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 a Brain képernyő bal felső sarkához képest 0-tól 159-ig.

y

int32_t

Az origó y-pozíciója az agyképernyő 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
// 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!");

Képernyőkép az IQ (2. generációs) agy képernyőjéről, fehér „Kivágás” felirattal, alatta pedig egy tömör piros négyzettel a bal felső negyedben, amely a klipterületen belüli kinyomtatott tartalmat tükrözi.

drawPixel#

Egy képpontot rajzol az IQ (2. generációs) agy képernyőjé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 one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

Az IQ Brain képernyőjének képernyőképe, egy apró fehér ponttal a képernyő közepén.

drawLine#

Egyenes vonalat húz két pont összekötésére az IQ (2. generációs) agy 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 IQ Brain képernyőjének képernyőképe, amelyen egy fehér átlós vonal húzódik a bal felső saroktól a jobb alsó sarokig.

drawRectangle#

Egy téglalapot rajzol az IQ (2. generációs) agy képernyőjére 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 red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

Az IQ Brain képernyőjének képernyőképe, amelyen egy nagy piros téglalap látható, vékony fehér szegéllyel, majdnem a képernyő közepére igazítva.

drawCircle#

Kör rajzolása az IQ (2. generációs) agy 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 green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

Az IQ Brain képernyőjének képernyőképe, amelyen egy tömör zöld kör látható vékony fehér szegéllyel a képernyő közepén.

drawImageFromFile#

Képet rajzol az IQ (2. generációs) agy képernyőjé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 a Brain képernyő méretével megegyezőek (160 x 108 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();