Obrazovka#

Zavedení#

Třída screen je odvozena od základní třídy brain. Řídí, jak EXP Brain zobrazuje text, čísla a grafiku na obrazovce.

Obrazovka EXP Brain má nastavený počet řádků a sloupců, které se používají při tisku textu.

Ve výchozím nastavení je písmo pro tisk do Brainu mono20 , které má 7 řádků a 20 sloupců.

Pro kreslení je rozlišení Brainu 159 x 107 pixelů.

Popsaný mřížkový diagram obrazovky VEX Brain zobrazující řádky, sloupce, rozměry v pixelech a souřadnice s červenými čarami ohraničujícími mřížku.

Přístup#

Třída screen je přístupná pomocí:

Brain.Screen

Poznámky#

  • Objekt screen je poskytován mozkem. Není konstruován přímo.

  • Projekty používají jeden globální objekt Brain , takže funkce obrazovky se volají pomocí Brain.Screen.

Příklad#

/* 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!");

Členské funkce#

Třída screen obsahuje následující členské funkce:

  • print — Vypíše formátovaný text, čísla nebo booleovské hodnoty na obrazovku Brain.

  • setCursor — Přesune textový kurzor na zadaný řádek a sloupec.

  • newLine — Vymaže zbytek aktuálního řádku a přesune kurzor na další řádek.

  • clearLine — Vymaže zbytek aktuálního řádku nebo vymaže zadaný řádek.

  • row — Vrátí řádek, kam bude vytištěn text.

  • column — Vrátí sloupec, do kterého bude vytištěn text.

  • getStringHeight — Vrátí výšku řetězce v pixelech s použitím aktuálního písma.

  • getStringWidth — Vrátí šířku řetězce v pixelech s použitím aktuálního písma.

  • printAt — Vytiskne formátovaný text v bodě x, y (volitelně neprůhledný).

  • clearScreen — Vyčistí celou obrazovku (volitelně na zadanou barvu).

  • setFont — Nastaví písmo použité pro tisk na obrazovce.

  • setPenWidth — Nastaví tloušťku nakreslených čar a obrysů tvarů.

  • setPenColor — Nastaví barvu textu, pixelů, čar a obrysů tvarů.

  • setFillColor — Nastaví barvu výplně pro nakreslené tvary a pozadí tištěného textu.

  • setOrigin — Nastaví počátek souřadnic obrazovky.

  • setClipRegion — Omezí výstup obrazovky na obdélníkovou oblast.

  • drawPixel — Nakreslí jeden pixel na zadané souřadnici.

  • drawLine — Nakreslí čáru mezi dvěma body.

  • drawRectangle — Nakreslí obdélník v bodě x, y o zadané velikosti.

  • drawCircle — Nakreslí kružnici v bodě x, y se zadaným poloměrem.

  • drawImageFromFile — Nakreslí obrázek ze souboru na SD kartě na obrazovku.

  • render — Povolí dvojité ukládání do vyrovnávací paměti nebo vykreslí zpětnou vyrovnávací paměť na obrazovku.

Před voláním jakékoli členské funkce screen musí být vytvořena instance brain , jak je znázorněno níže:

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

print#

Zobrazuje text, čísla nebo booleovské hodnoty na obrazovce EXP Brain.

Available Functions

1 — Vypíše formátovaný text pomocí řetězcových literálů nebo řetězců ve stylu jazyka C určených pouze pro čtení.

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

2 — Vytiskne formátovaný text pomocí modifikovatelných znakových polí.

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

Parameters

Parametr

Typ

Popis

format

const char*

Formátovací řetězec zadaný jako řetězcový literál nebo řetězec ve stylu jazyka C určený pouze pro čtení (například “Score: %d”).

format

char*

Formátovací řetězec poskytnutý jako modifikovatelné pole znaků.

…

Jedna nebo více dalších hodnot, které se vkládají do formátovacího řetězce, oddělených čárkami.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Výstup začíná na pozici kurzoru na obrazovce.

  • Tištěný text používá aktuální písmo obrazovky .

  • Tištěný text používá aktuální barvu pera .

  • Text vytištěný s hodnotou print se vždy vytiskne s pozadím a barva pozadí je určena aktuální barvou výplně

  • Při použití formátovacího řetězce se musí počet a typy předávaných hodnot shodovat se specifikacemi format specificiers v řetězci.

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

Snímek obrazovky EXP Brainu zobrazující v levém horním rohu bílý text Hello, Robot!.

setCursor#

Přesune kurzor na konkrétní řádek a sloupec na obrazovce EXP Brain. Další volání příkazu print začne tisknout na tomto místě.

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

Parameters

Parametr

Typ

Popis

row

int32_t

Řádek, na který se má kurzor přesunout.

col

int32_t

Sloupec, do kterého se má kurzor přesunout.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Ovlivňuje, kde začíná následný textový výstup při použití print.

  • Řádky a sloupce jsou založeny na aktuálně nastaveném písmu obrazovky.

  • Výchozí písmo (mono20) používá 12 řádků a 48 sloupců.

  • Volání setCursor ovlivní pouze pozici následujícího textového výstupu.

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

Snímek obrazovky EXP Brainu zobrazující řádek 3 a sloupec 12 vytištěný v horní části poblíž středu obrazovky, v dané pozici.

newLine#

Přesune kurzor na začátek dalšího řádku na obrazovce Brain.

Available Functions
void newLine();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Pokud je kurzor uprostřed věty, příkaz newLine vymaže zbytek řádku za kurzorem a poté se přesune na další řádek.

  • Po volání newLinese kurzor umístí na první sloupec dalšího řádku.

  • Pozice kurzoru a číslování řádků se nastavují pomocí setCursor.

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

Snímek obrazovky EXP Brain zobrazující dva řádky bílého textu v levém horním rohu. Horní řádek zní jako Řádek 1 a druhý řádek přímo pod ním jako Řádek 2.

clearLine#

Vymaže text z řádku na obrazovce EXP Brain.

Available Functions

1 — Vymaže zbytek aktuálního řádku od pozice kurzoru.

void clearLine();

2 — Vymaže zadaný řádek s použitím aktuálně nakonfigurované barvy výplně.

void clearLine(
    int number );

3 — Vymaže zadaný řádek pomocí předdefinovaného objektu nebo objektu vlastní barva.

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

4 — Vymaže zadaný řádek pomocí hexadecimální hodnoty barvy.

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

5 — Vymaže zadaný řádek pomocí hodnoty odstínu.

void clearLine(
    int number,
    int hue );

Parameters

Parametr

Typ

Popis

number

int

Číslo řádku, které se má vymazat. Číslování řádků začíná na 1.

color

const color&

Vymaže řádek pomocí objektu color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze také použít objekt vlastní barva.

color

const char*

Vymaže řádek pomocí hexadecimální hodnoty barvy (například “#000000”).

hue

int

Vymaže řádek pomocí celočíselné hodnoty odstínu v rozsahu 0–359, která představuje stupně na barevném kruhu.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Vymazání řádku nezmění aktuální pozici kurzoru.

  • Pozice kurzoru a číslování řádků se nastavují pomocí setCursor.

  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 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#

Vrátí řádek, kde bude text vytištěn na obrazovce EXP Brain.

Available Functions
int32_t row();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací hodnotu int32_t představující řádek, kam bude text vytištěn.

Číslování řádků začíná od 1.

Notes
  • Pozice kurzoru je založena na aktuálním písmu obrazovky.

  • Vrácená hodnota označuje, kde se zobrazí další tištěný výstup.

  • Hodnota řádku se změní při tisku textu nebo při volání funkce setCursor.

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

Snímek obrazovky EXP Brain zobrazující bílý text 3 v levém horním kvadrantu obrazovky, na pozici 10 v řádku 3.

column#

Vrátí sloupec, kde bude text vytištěn na obrazovce EXP Brain.

Available Functions
int32_t column();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací hodnotu int32_t představující sloupec, kam bude text vytištěn.

Číslování sloupců začíná od 1.

Notes
  • Pozice kurzoru je založena na aktuálním písmu obrazovky.

  • Vrácená hodnota označuje, kde se zobrazí další tištěný výstup.

  • Hodnota sloupce se změní při tisku textu nebo při volání funkce setCursor.

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

Snímek obrazovky EXP Brain zobrazující bílý text 10 v levém horním kvadrantu obrazovky, na pozici 10 ve 3. řádku.

getStringHeight#

Vrátí výšku řetězce v pixelech při vykreslení na obrazovce EXP Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametr

Typ

Popis

cstr

const char*

Text, který má být měřen, zadaný jako řetězec ve stylu jazyka C (například “Hello”).

Return Values

Vrací hodnotu int32_t která představuje výšku řetězce v pixelech při vykreslení na obrazovce Brain.

Notes

getStringWidth#

Vrátí šířku řetězce v pixelech při vykreslení na obrazovce EXP Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametr

Typ

Popis

cstr

const char*

Text, který má být měřen, zadaný jako řetězec ve stylu jazyka C (například “Hello”).

Return Values

Vrací hodnotu int32_t která představuje šířku řetězce v pixelech při vykreslení na obrazovce Brain.

Notes

printAt#

Vypíše text, čísla nebo booleovské hodnoty na zadané souřadnici na obrazovce EXP Brain.

Available Functions

1 — Vytiskne formátovaný výstup na zadané místo v pixelu.

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

2 — Vytiskne formátovaný výstup na zadané místo v pixelu a nastaví, zda je pozadí textu neprůhledné nebo průhledné.

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

Parameters

Parametr

Typ

Popis

x

int32_t

Pozice x pro tisk, vztažená k počátku obrazovky.

y

int32_t

Pozice y pro tisk, vztažená k počátku obrazovky.

bOpaque

bool

Určuje, zda se tištěný text vykreslí neprůhledně nebo průhledně:

  • true — Pozadí tištěného textu se vyplní pomocí aktuální barvy výplně.
  • false — Text se vykreslí průhledně a pozadí se nevyplní.

format

const char*

Formátovací řetězec, který určuje, co se vypíše na obrazovce (například “Score: %d”).

…

Jedna nebo více dalších hodnot, které se vkládají do formátovacího řetězce, oddělených čárkami.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze změnit pomocí setOrigin.

  • Tištěný text používá aktuální písmo obrazovky .

  • Tištěný text používá aktuální barvu pera .

  • Při použití formátovacího řetězce se musí počet a typy předávaných hodnot shodovat se specifikacemi format specificiers v řetězci.

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

clearScreen#

Smaže všechny kresby a text z obrazovky mozku.

Available Functions

1 — Vyčistí obrazovku do černé.

void clearScreen();

2 — Vyčistí obrazovku pomocí předdefinovaného objektu nebo objektu vlastní barva.

void clearScreen(
    const color& color );

3 — Vymaže obrazovku pomocí hexadecimální hodnoty barvy.

void clearScreen(
    const char* color );

4 — Vyčistí obrazovku pomocí hodnoty odstínu.

void clearScreen(
    int hue );

Parameters

Parametr

Typ

Popis

color

const color&

Vyčistí obrazovku pomocí objektu color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze zde také použít vlastní objekt barvy.

color

const char*

Vymaže obrazovku pomocí hexadecimální hodnoty barvy reprezentované jako řetězec (například “#000000”).

hue

int

Vyčistí obrazovku pomocí celočíselné hodnoty odstínu v rozsahu 0–359, která představuje stupně na barevném kruhu.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 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#

Nastavuje písmo použité pro text zobrazený na obrazovce EXP Brain.

Toto ovládá písmo použité na následný textový výstup při použití funkcí pro text na obrazovce, jako například print.

Available Functions
void setFont(
  fontType font );

Parameters

Parametr

Typ

Popis

font

fontType

Nastaví písmo na jednu z následujících možností:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
Tyto možnosti jsou zobrazeny níže.

Mozek vytiskl čísla a písmena na sítotisk s velikostí písma mono 12. Zobrazuje písmena od A do Z a všechna čísla. Ve spodní části obrazovky je uvedeno 9 řádků, 26 sloupců.
mono12

Mozek vytiskl na obrazovce čísla a písmena s velikostí písma mono 15. Zobrazuje písmena od A do T a všechna čísla. Ve spodní části obrazovky je uvedeno 7 řádků, 22 sloupců.
mono15

Mozek vytiskl na obrazovce čísla a písmena velikostí písma mono 20. Zobrazuje písmena od A do P a všechna čísla. Ve spodní části obrazovky je uvedeno 5 řádků, 16 sloupců.
mono20

Mozek vytiskl čísla a písmena na sítotisk s velikostí písma mono 30. Zobrazuje písmena od A do J. Ve spodní části obrazovky je uvedeno R:3 C:10.
mono30

Mozek vytiskl na obrazovce čísla a písmena s velikostí písma mono 40. Ve spodní části obrazovky je uvedeno R:2 C:8.
mono40

Čísla a písmena vytištěná na sítotisku Brain s velikostí písma mono 60. Zobrazuje se pouze MON60.
mono60

Mozek vytiskl na obrazovce čísla a písmena s velikostí písma prop 20. Zobrazuje písmena od A do W a všechna čísla. Ve spodní části obrazovky je uvedeno 5 řádků, 16 sloupců.
prop20

Mozek vytiskl na obrazovce čísla a písmena s velikostí písma prop 30. Zobrazuje písmena od A do P. Ve spodní části obrazovky je uvedeno R:3 C:10.
prop30

Mozek vytiskl na obrazovce čísla a písmena s velikostí písma prop 40. Ve spodní části obrazovky je uvedeno R:2 C:8.
prop40

Čísla a písmena vytištěná na sítotisku Brain s velikostí písma prop 60. Zobrazuje se pouze PROP60.
prop60

Return Values

Tato funkce nevrací hodnotu.

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

Snímek obrazovky EXP Brain zobrazující bílý text VEX větším písmem než ve výchozím nastavení v levém horním rohu.

setPenWidth#

Nastavuje tloušťku nakreslených čar a obrysů tvarů.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametr

Typ

Popis

width

uint32_t

Šířka pera v pixelech v rozsahu od 0 do 32.

Return Values

Tato funkce nevrací hodnotu.

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

Snímek obrazovky EXP Brain zobrazující obdélník s tlustými okraji vytištěnými na levé straně obrazovky.

setPenColor#

Nastaví barvu pera použitou pro kreslení čar, tvarů a textu.

Available Functions

1 — Nastaví barvu pera pomocí předdefinovaného objektu nebo objektu vlastní barva.

void setPenColor(
    const color& color );

2 — Nastaví barvu pera pomocí hexadecimální hodnoty barvy.

void setPenColor(
    const char* color );

3 — Nastaví barvu pera pomocí hodnoty odstínu.

void setPenColor(
    int hue );

Parameters

Parametr

Typ

Popis

color

const color&

Nastaví barvu pera pomocí objektu color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze také použít objekt vlastní barva.

color

const char*

Nastaví barvu pera pomocí hexadecimální hodnoty barvy reprezentované jako řetězec (například “#FF0000”).

hue

int

Nastaví barvu pera pomocí celočíselné hodnoty odstínu v rozsahu 0–359, která představuje stupně na barevném kruhu (například 0 je červená, 120 je zelená a 240 je modrá).

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Výchozí barva pera na začátku projektu je white.

  • Barva pera se používá pro obrysy tvarů (například s drawCircle nebo drawRectangle), textový a číselný výstup (s print a printAt) a jednotlivé pixely vykreslené s drawPixel.

  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 240.

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

Snímek obrazovky EXP Brain zobrazující oranžově nakreslený obdélník na levé straně obrazovky.

setFillColor#

Nastavuje barvu výplně použitou při kreslení tvarů.

Available Functions

1 — Nastaví barvu výplně pomocí předdefinovaného objektu nebo objektu vlastní barva.

void setFillColor(
    const color& color );

2 — Nastaví barvu výplně pomocí hexadecimální hodnoty barvy.

void setFillColor(
    const char* color );

3 — Nastaví barvu výplně pomocí hodnoty odstínu.

void setFillColor(
    int hue );

Parameters

Parametr

Typ

Popis

color

const color&

Nastaví barvu výplně pomocí objektu color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze také použít objekt vlastní barva.

color

const char*

Nastaví barvu výplně pomocí hexadecimální hodnoty barvy reprezentované jako řetězec (například “#00FF00”).

hue

int

Nastaví barvu výplně pomocí celočíselné hodnoty odstínu v rozsahu 0–359, která představuje stupně kolem barevného kruhu (například 0 je červená, 120 je zelená a 240 je modrá).

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Výchozí barva výplně na začátku projektu je black.

  • Barva výplně se používá pro vnitřek tvarů (například s drawCircle nebo drawRectangle).

  • Barva výplně se používá jako barva pozadí pro tištěný text (například u print a printAt).

    • Pokud se u tištěného textu použije hodnota transparent , pozadí bude black.

  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 240.

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

Snímek obrazovky EXP Brain zobrazující obdélník vyplněný fialovou barvou na levé straně obrazovky.

setOrigin#

Nastaví počátek používaný pro kreslení grafiky na obrazovce Brainu.

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

Parameters

Parametr

Typ

Popis

x

int32_t

Pozice x-ového počátku vzhledem k levému hornímu rohu obrazovky Brainu od 0 do 159.

y

int32_t

Pozice y počátku vzhledem k levému hornímu rohu obrazovky Brainu od 0 do 107.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Výchozí počátek je levý horní roh obrazovky na souřadnici (0, 0).

  • Počátek souřadnic se vztahuje na funkce souřadnic, jako například drawLine, drawRectangle, drawCircle a printAt.

  • Počátek zůstává v platnosti, dokud se znovu nezmění nebo dokud se projekt neresetuje.

setClipRegion#

Definuje obdélníkovou oblast na obrazovce, kde budou umístěny všechny kresby a text. Obsah mimo tuto oblast se nezobrazí.

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

Parameters

Parametr

Typ

Popis

x

int

Souřadnice x levého horního rohu oblasti klipu, zadaná jako celé číslo od 0 do 159.

y

int

Souřadnice y levého horního rohu oblasti klipu, zadaná jako celé číslo od 0 do 107.

width

int

Šířka oblasti klipu v pixelech, zadaná jako celé číslo od 0 do 159.

height

int

Výška oblasti klipu v pixelech, udaná jako celé číslo od 0 do 107.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Funkce kreslení se stále provádějí, i když spadají mimo oblast klipu, ale viditelná je pouze část uvnitř oblasti.

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze změnit pomocí setOrigin.

  • Oblast oříznutí se vztahuje pouze na aktuální vlákno.

  • Nastavení nové oblasti oříznutí nahradí jakoukoli dříve nastavenou oblast oříznutí pro aktuální vlákno.

Examples

drawPixel#

Nakreslí jeden pixel na obrazovce EXP Brain ve vybraném umístění pixelu x a y.

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

Parameters

Parametr

Typ

Popis

x

int

Souřadnice x, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 159.

y

int

Souřadnice y, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 107.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Pixely se kreslí s použitím aktuální barvy pera nastavené pomocí setPenColor.

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze nastavit pomocí setOrigin.

  • Pokud je zadané umístění pixelu mimo hranice obrazovky, pixel se nevykreslí.

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

Snímek obrazovky EXP Brain zobrazující směs pixelů znázorňujících rohy čtverce poblíž středu obrazovky.

drawLine#

Nakreslí přímku spojující dva body na obrazovce EXP Brain.

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

Parameters

Parametr

Typ

Popis

x1

int

Počáteční souřadnice x čáry, zadaná jako celé číslo od 0 do 159.

y1

int

Počáteční souřadnice y úsečky, zadaná jako celé číslo od 0 do 107.

x2

int

Koncová souřadnice x řádku, zadaná jako celé číslo od 0 do 159.

y2

int

Koncová souřadnice y čáry, zadaná jako celé číslo od 0 do 107.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Čáry se kreslí s použitím aktuální barvy pera nastavené pomocí setPenColor.

  • Šířka čáry je určena aktuální šířkou pera nastavenou pomocí setPenWidth.

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze nastavit pomocí setOrigin.

  • Pokud jakákoli část čáry leží mimo hranice obrazovky, vykreslí se pouze viditelná část.

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

Snímek obrazovky EXP Brain ukazuje tenkou diagonální čáru přes střed, od levého horního rohu k pravému dolnímu rohu.

drawRectangle#

Nakreslí obdélník na obrazovce EXP Brain v zadané pozici a velikosti.

Available Functions

1 — Nakreslí a vyplní obdélník s použitím aktuálně nakonfigurované barvy výplně.

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

2 — Nakreslí a vyplní obdélník pomocí předdefinovaného objektu nebo objektu vlastní barva.

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

3 — Nakreslí a vyplní obdélník hexadecimální hodnotou barvy.

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

4 — Nakreslí a vyplní obdélník pomocí hodnoty odstínu.

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

Parameters

Parametr

Typ

Popis

x

int

Souřadnice x levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 159.

y

int

Souřadnice y levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 107.

width

int

Šířka obdélníku, zadaná jako celé číslo od 0 do 159.

height

int

Výška obdélníku, zadaná jako celé číslo od 0 do 107.

color

const color&

Vyplní obdélník pomocí objektu s barvou color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze také použít objekt vlastní barva.

color

const char*

Vyplní obdélník hexadecimální hodnotou barvy (například “#FF0000”).

hue

int

Vyplní obdélník hodnotou odstínu v rozsahu 0–359.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Obrys obdélníku se vykreslí s použitím aktuální barvy pera nastavené pomocí setPenColor.

  • Tloušťka obrysu je určena aktuální šířkou pera nastavenou pomocí setPenWidth.

  • Pokud není zadán parametr color , vnitřek obdélníku se vyplní aktuální barvou výplně nastavenou pomocí setFillColor.

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze změnit pomocí setOrigin.

  • Pokud jakákoli část obdélníku leží mimo hranice obrazovky, vykreslí se pouze viditelná část.

  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 240.

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

Snímek obrazovky EXP Brainu ukazuje obdélník s tenkým bílým okrajem vytištěným v levém horním kvadrantu.

drawCircle#

Nakreslí kruh na obrazovce EXP Brain v zadané pozici a poloměru.

Available Functions

1 — Nakreslí a vyplní kruh s použitím aktuálně nakonfigurované barvy výplně.

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

2 — Nakreslí a vyplní kruh pomocí předdefinovaného objektu nebo objektu vlastní barva.

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

3 — Nakreslí a vyplní kruh pomocí hexadecimální hodnoty barvy.

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

4 — Nakreslí a vyplní kruh pomocí hodnoty odstínu.

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

Parameters

Parametr

Typ

Popis

x

int

Souřadnice x středu kružnice, zadaná jako celé číslo od 0 do 159.

y

int

Souřadnice y středu kružnice, zadaná jako celé číslo od 0 do 107.

radius

int

Poloměr kruhu, zadaný jako celé číslo od 0 do 107 pixelů.

color

const color&

Vyplní kruh pomocí objektu s barvou color Předdefinované barvy zahrnují:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Lze také použít objekt vlastní barva.

color

const char*

Vyplní kruh hexadecimální hodnotou barvy (například “#FF0000”).

hue

int

Vyplní kruh hodnotou odstínu v rozsahu 0–359.

Return Values

Tato funkce nevrací hodnotu.

Notes
  • Obrys kruhu se nakreslí pomocí aktuální barvy pera nastavené pomocí setPenColor.

  • Tloušťka obrysu je určena aktuální šířkou pera nastavenou pomocí setPenWidth.

  • Pokud není zadán parametr color , vnitřek kruhu se vyplní aktuální barvou výplně nastavenou pomocí setFillColor.

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze změnit pomocí setOrigin.

  • Hodnota parametru hue je založena na kruhovém barevném kruhu, jak je znázorněno níže, kde hodnoty představují stupně kolem kruhu (například červená poblíž 0°, zelená poblíž 120° a modrá poblíž 240°).

Barevné kolo zobrazující rozsah barev od 0 do 359, kde červená je 0, zelená je 120 a modrá je 240.

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

Snímek obrazovky EXP Brain ukazuje kruh s tenkým bílým okrajem uprostřed.

drawImageFromFile#

Nakreslí obrázek na obrazovku EXP Brain s použitím obrazového souboru uloženého na SD kartě.

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

Parameters

Parametr

Typ

Popis

name

const char*

Název souboru s obrázkem na SD kartě. Soubor musí mít příponu .bmp nebo .png.

x

int

Souřadnice x v pixelech od 0 do 159, na které bude vykreslen levý okraj obrázku.

y

int

Souřadnice y v pixelech od 0 do 107, na které bude vykreslen horní okraj obrázku.

Return Values

Vrací booleovskou hodnotu označující, zda byl obrázek úspěšně vykreslen:

  • true — Obrázek byl úspěšně načten a vykreslen na obrazovce.
  • false — Obrázek se nepodařilo vykreslit (například pokud soubor neexistuje nebo je neplatný).

Notes
  • Podporované formáty obrázků jsou .bmp a .png.

  • Velikost obrazového souboru nesmí překročit 512 KB.

    • Pro minimalizaci velikosti souboru se doporučuje 8bitové kódování RLE.

  • Maximální podporované rozměry obrázku odpovídají velikosti obrazovky Brain (přibližně 159 x 107 pixelů).

  • Souřadnice x a y jsou relativní vzhledem k aktuálnímu počátku obrazovky, který lze změnit pomocí setOrigin.

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

render#

Umožňuje dvojité ukládání do vyrovnávací paměti pro obrazovku Brainu. Po volání se žádné kreslicí funkce (jako text, tvary nebo obrázky) již nebudou okamžitě zobrazovat po zbytek projektu. Místo toho se aktualizace zobrazí pouze při opětovném použití render To umožňuje plynulejší a kontrolovanější aktualizace obrazovky, ale znamená to, že nic nebude viditelné, dokud se nepoužije render.

Available Functions

1 — Povolí dvojité ukládání do vyrovnávací paměti nebo vykreslí zpětnou vyrovnávací paměť na obrazovku.

bool render();

2 — Vykreslí zpětný buffer na obrazovku s možností kontroly nad chováním vertikální synchronizace a volitelným spuštěním plánovače.

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

Parameters

Parametr

Typ

Popis

bVsyncWait

bool

​

  • true — Před vykreslením počkat na vertikální obnovení obrazovky, aby se snížilo trhání obrazu.
  • false — Před vykreslením nečekat na vertikální obnovení obrazovky.

bRunScheduler

bool

Volitelné.

  • true (výchozí) – Povolit spouštění úloh na pozadí během čekání na vykreslení.
  • false – Nepovolit spouštění úloh na pozadí během čekání na vykreslení.

Return Values

Vrací booleovskou hodnotu označující, zda byly uložené kresby ve vyrovnávací paměti úspěšně vykresleny na obrazovku:

  • true — Kresby byly úspěšně vykresleny na obrazovce.
  • false — Kresby se nepodařilo vykreslit na obrazovce.
  • Notes
    • Volání render bude vyžadovat render , které bude použito pro zbytek projektu.

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