Képernyő#

Bevezetés#

A screen osztály a brain alaposztályból származik. Ez szabályozza, hogy az IQ (1. generációs) Brain hogyan jelenítse meg a szöveget és az értékeket a beépített képernyőjén.

Az IQ (1. generációs) Brain képernyő akár 5 soros és 21 oszlopos szöveget is támogat.

A VEX IQ (1. generációs) agy számozott ráccsal (1–21. oszlopok és 1–5. sorok). Piros átfedő vonalak jelölik a rácsszerkezetet, a nyilak az 1. oszlopot, a 21. oszlopot, az 1. sort, a 2. sort és az 5. sort jelölik. Az első sor tetején 1-től 21-ig terjedő számok láthatók.

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 — 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.

  • 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 Brain
brain Brain = brain();

print#

Szöveget, számokat vagy logikai értékeket jelenít meg az IQ (1. 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!");

setCursor#

A kurzort egy adott sorra és oszlopra mozgatja az IQ (1. 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.

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

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

Az IQ (1. generációs) agyképernyő középre igazított „VEXkód!” felirattal.

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("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

Az IQ (1. generációs) agy képernyője, amelyen az „Első üzenet” és a „Második üzenet” külön sorokban jelenik meg.

clearLine#

Törli a szöveget egy sorból az IQ (1. 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.

  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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 az aktuális kurzor sorpozícióját az IQ (1. generációs) 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, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

column#

Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva az IQ (1. 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());

getStringHeight#

Visszaadja egy karakterlánc magasságát pixelben, amikor az IQ (1. 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 (1. 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 (1. 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átumkarakterlánc, amely a képernyőn megjelenő 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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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#

Beállítja az IQ (1. generációs) Brain képernyőn megjelenő 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.

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

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

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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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

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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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

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
// 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#

Egyetlen képpontot rajzol az IQ (1. generációs) agy képernyőjén a megadott 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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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

drawLine#

Egyenes vonalat húz két pont összekötésére az IQ (1. 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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

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

drawRectangle#

Egy téglalapot rajzol az IQ (1. generációs) agy 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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

  • A körvonal 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, 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.

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

drawCircle#

Kör rajzolása az IQ (1. 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
  • Az IQ (1. generációs) agyképernyő monokróm kijelző, így a megadott színek nem jelennek meg rajta.

  • A körvonal 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, ami a setOrigin segítségével módosítható.

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

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