Näyttö#

Johdanto#

screen -luokka on johdettu brain -perusluokasta. Se ohjaa sitä, miten EXP Brain näyttää tekstiä, numeroita ja grafiikkaa näytöllään.

EXP Brainin näytöllä on tietty määrä rivejä ja sarakkeita, joita käytetään tekstin tulostamiseen näytölle.

Oletusarvoisesti Brainiin tulostettava fontti on mono20 , jossa on 7 riviä ja 20 saraketta.

Piirtämistä varten aivojen resoluutio on 159 x 107 pikseliä.

VEX Brain -näytön ruudukkokaavio, jossa näkyvät rivit, sarakkeet, pikselimitat ja koordinaatit. Punaiset viivat ääriviivat ruudukon.

Pääsy#

screen -luokkaan pääsee käsiksi seuraavasti:

Brain.Screen

Muistiinpanoja#

  • Aivot tarjoavat screen -objektin. Sitä ei konstruoida suoraan.

  • Projektit käyttävät yhtä globaalia Brain -objektia, joten screen-funktioita kutsutaan käyttämällä Brain.Screen -objektia.

Esimerkki#

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

Jäsenten toiminnot#

screen -luokka sisältää seuraavat jäsenfunktiot:

  • print — Tulostaa muotoiltua tekstiä, numeroita tai totuusarvoja Brain-näytölle.

  • setCursor — Siirtää tekstikohdistimen määritettyyn riviin ja sarakkeeseen.

  • newLine — Tyhjentää nykyisen rivin loppuosan ja siirtää kohdistimen seuraavalle riville.

  • clearLine — Tyhjentää nykyisen rivin loppuosan tai tyhjentää määritetyn rivin.

  • row — Palauttaa rivin, jolle teksti tulostetaan.

  • column — Palauttaa sarakkeen, johon teksti tulostetaan.

  • getStringHeight — Palauttaa merkkijonon korkeuden pikseleinä käyttäen nykyistä fonttia.

  • getStringWidth — Palauttaa merkkijonon leveyden pikseleinä käyttäen nykyistä fonttia.

  • printAt — Tulostaa muotoiltua tekstiä x- ja y-pikselisijaintiin (valinnainen läpinäkymätön).

  • clearScreen — Tyhjentää koko näytön (valinnainen, määritettyyn väriin).

  • setFont — Asettaa näytölle tulostettaessa käytettävän fontin.

  • setPenWidth — Asettaa piirrettyjen viivojen ja ääriviivojen paksuuden.

  • setPenColor — Asettaa tekstin, pikseleiden, viivojen ja ääriviivojen värin.

  • setFillColor — Asettaa piirrettyjen muotojen ja tulostettujen tekstitaustojen täyttövärin.

  • setOrigin — Asettaa näyttökoordinaattien alkuperän.

  • setClipRegion — Rajoittaa näytön tulosteen suorakaiteen muotoiseen alueeseen.

  • drawPixel — Piirtää yhden pikselin koordinaattiin.

  • drawLine — Piirtää viivan kahden pisteen välille.

  • drawRectangle — Piirtää x- ja y-koordinaatteihin suorakulmion määritetyllä koolla.

  • drawCircle — Piirtää ympyrän x- ja y-koordinaateissa määritetyllä säteellä.

  • drawImageFromFile — Piirtää kuvan SD-kortilla olevasta tiedostosta näytölle.

  • render — Ottaa käyttöön kaksoispuskuroinnin tai renderöi taustapuskurin näytölle.

Ennen minkään screen -jäsenfunktion kutsumista on luotava brain -instanssi alla olevan mukaisesti:

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

print#

Näyttää tekstiä, numeroita tai totuusarvoja EXP Brain -näytössä.

Available Functions

1 — Tulostaa muotoiltua tekstiä käyttämällä merkkijonoliteraaleja tai vain luettavia C-tyylisiä merkkijonoja.

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

2 — Tulostaa muotoiltua tekstiä muokattavia merkistötaulukoita käyttäen.

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

Parameters

Parametri

Tyyppi

Kuvaus

format

const char*

Muotoilumerkkijono, joka annetaan merkkijonoliteraalina tai vain luettavana C-tyylisenä merkkijonona (esimerkiksi “Score: %d”).

format

char*

Muokattavana merkkijonona annettu muotoilumerkkijono.

…

Yksi tai useampi lisäarvo, jotka lisätään muotoilumerkkijonoon pilkuilla erotettuna.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Tuloste alkaa näytöllä kohdistimen nykyisestä sijainnista .

  • Tulostettu teksti käyttää nykyistä näytön fonttia .

  • Tulostetussa tekstissä käytetään nykyistä kynän väriä .

  • Teksti, joka tulostetaan arvolla print tulostetaan aina taustan kanssa, ja taustavärin määrää nykyinen täyttöväri

  • Muotoilumerkkijonoa käytettäessä välitettävien arvojen lukumäärän ja tyyppien on vastattava merkkijonon muotoilumäärittelijöitä.

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

Kuvakaappaus EXP-aivoista, joissa näkyy teksti Hei, robotti! painettuna näytön vasempaan yläkulmaan valkoisella tekstillä.

setCursor#

Siirtää kohdistimen tiettyyn riviin ja sarakkeeseen EXP Brain -näytössä. Seuraava print -kutsu aloittaa tulostuksen tästä kohdasta.

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

Parameters

Parametri

Tyyppi

Kuvaus

row

int32_t

Rivi, johon kohdistin siirretään.

col

int32_t

Sarake, johon kohdistin siirretään.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Vaikuttaa siihen, mistä seuraava tekstituloste alkaa käytettäessä print.

  • Rivit ja sarakkeet perustuvat nykyiseen asetettuun näyttöfonttiin.

  • Oletusfontti (mono20) käyttää 12 riviä ja 48 saraketta.

  • Funktion setCursor kutsuminen vaikuttaa vain seuraavan tekstitulosteen sijaintiin.

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

Kuvakaappaus EXP Brainista, jossa rivin 3 sarakkeen 12 tiedot tulostuvat näytön yläosaan lähelle keskikohtaa, kyseiseen kohtaan.

newLine#

Siirtää kohdistimen Brain-näytön seuraavan rivin alkuun.

Available Functions
void newLine();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Jos kohdistin on lauseen keskellä, newLine tyhjentää lopun rivin kohdistimen jälkeen ennen siirtymistä seuraavalle riville.

  • Kun funktiota newLinekutsutaan, kursori sijoitetaan seuraavan rivin ensimmäiseen sarakkeeseen.

  • Kohdistimen sijainti ja rivinumerointi asetetaan käyttämällä setCursor.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy kaksi riviä valkoista tekstiä vasemmassa yläkulmassa. Ylimmällä rivillä lukee Rivi 1 ja toisella rivillä heti sen alapuolella Rivi 2.

clearLine#

Tyhjentää tekstin riviltä EXP Brain -näytössä.

Available Functions

1 — Tyhjentää nykyisen rivin lopun kohdistimen sijainnista.

void clearLine();

2 — Tyhjentää määritetyn rivin käyttämällä nykyistä määritettyä täyttöväriä.

void clearLine(
    int number );

3 — Tyhjentää määritetyn rivin käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

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

4 — Tyhjentää määritetyn rivin käyttämällä heksadesimaaliväriarvoa.

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

5 — Tyhjentää määritetyn rivin käyttäen sävyarvoa.

void clearLine(
    int number,
    int hue );

Parameters

Parametri

Tyyppi

Kuvaus

number

int

Tyhjennettävän rivin numero. Rivien numerointi alkaa numerosta 1.

color

const color&

Clears the row using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Tyhjentää rivin käyttämällä heksadesimaaliväriarvoa (esimerkiksi “#000000”).

hue

int

Tyhjentää rivin käyttämällä kokonaislukuista sävyn arvoa väliltä 0359, joka edustaa asteita väriympyrän ympärillä.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Rivin tyhjentäminen ei muuta kohdistimen nykyistä sijaintia.

  • Kohdistimen sijainti ja rivinumerointi asetetaan käyttämällä setCursor.

  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 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#

Palauttaa rivin, jolle teksti tulostetaan EXP Brain -näytössä.

Available Functions
int32_t row();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa arvon int32_t joka edustaa riviä, jolle teksti tulostetaan.

Rivien numerointi alkaa numerosta 1.

Notes
  • Kohdistimen sijainti perustuu nykyiseen näytön fonttiin .

  • Palautettu arvo osoittaa, missä seuraava tulostettu tuloste näkyy.

  • Rivin arvo muuttuu, kun teksti tulostetaan tai kun setCursor kutsutaan.

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

Kuvakaappaus EXP Brain -näytöstä, jossa teksti 3 näkyy valkoisena näytön vasemmassa yläkulmassa, rivin 3 sarakkeen 10 kohdalla.

column#

Palauttaa sarakkeen, johon teksti tulostetaan EXP Brain -näytössä.

Available Functions
int32_t column();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa arvon int32_t joka edustaa saraketta, johon teksti tulostetaan.

Sarakkeiden numerointi alkaa numerosta 1.

Notes
  • Kohdistimen sijainti perustuu nykyiseen näytön fonttiin .

  • Palautettu arvo osoittaa, missä seuraava tulostettu tuloste näkyy.

  • Sarakkeen arvo muuttuu, kun teksti tulostetaan tai kun setCursor kutsutaan.

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

Kuvakaappaus EXP Brain -näytöstä, jossa teksti 10 näkyy valkoisena näytön vasemmassa yläkulmassa, rivin 3 sarakkeen 10 kohdalla.

getStringHeight#

Palauttaa merkkijonon korkeuden pikseleinä, kun se renderöidään EXP Brain -näytössä.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametri

Tyyppi

Kuvaus

cstr

const char*

Mitattava teksti, joka annetaan C-tyylisenä merkkijonona (esimerkiksi “Hello”).

Return Values

Palauttaa arvon int32_t joka edustaa merkkijonon korkeutta pikseleinä Brain-näytössä renderöidyssä muodossa.

Notes
  • Palautettu korkeus riippuu valitusta näyttöfontista.

  • Tämä funktio mittaa merkkijonon piirtämättä sitä näytölle.

  • Palautettu korkeus heijastaa sitä, miltä merkkijono näyttäisi tulostettuna.

getStringWidth#

Palauttaa merkkijonon leveyden pikseleinä, kun se renderöidään EXP Brain -näytössä.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametri

Tyyppi

Kuvaus

cstr

const char*

Mitattava teksti, joka annetaan C-tyylisenä merkkijonona (esimerkiksi “Hello”).

Return Values

Palauttaa arvon int32_t joka edustaa merkkijonon leveyttä pikseleinä, kun se renderöidään Brain-näytöllä.

Notes
  • Palautettu leveys riippuu valitusta näyttöfontista.

  • Tämä funktio mittaa merkkijonon piirtämättä sitä näytölle.

  • Palautettu leveys heijastaa sitä, miltä merkkijono näyttäisi tulostettuna.

printAt#

Tulostaa tekstiä, numeroita tai totuusarvoja tietyssä koordinaatissa EXP Brain -näytöllä.

Available Functions

1 — Tulostaa muotoillun tulosteen määritettyyn pikselisijaintiin.

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

2 — Tulostaa muotoillun tulosteen määritettyyn pikselisijaintiin ja määrittää, onko tekstin tausta läpinäkymätön vai peittävä.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int32_t

Tulostettava x-sijainti, viitaten näytön lähtöpisteeseen.

y

int32_t

Tulostettava y-akselin sijainti suhteessa näytön lähtöpisteeseen.

bOpaque

bool

Määrittää, piirretäänkö tulostettava teksti läpinäkymättömäksi vai läpinäkyväksi:

  • true — Tulostettavan tekstin tausta täytetään käyttämällä nykyistä täyttöväriä.
  • false — Teksti piirretään läpinäkyväksi eikä taustaa täytetä.

format

const char*

Muotoilumerkkijono, joka määrittää, mitä näytölle tulostetaan (esimerkiksi “Score: %d”).

…

Yksi tai useampi lisäarvo, jotka lisätään muotoilumerkkijonoon pilkuilla erotettuna.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, jota voidaan muuttaa käyttämällä setOrigin.

  • Tulostettu teksti käyttää nykyistä näytön fonttia .

  • Tulostetussa tekstissä käytetään nykyistä kynän väriä .

  • Muotoilumerkkijonoa käytettäessä välitettävien arvojen lukumäärän ja tyyppien on vastattava merkkijonon muotoilumäärittelijöitä.

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

clearScreen#

Poistaa kaikki piirrokset ja tekstin aivojen näytöltä.

Available Functions

1 — Tyhjentää näytön mustaksi.

void clearScreen();

2 — Tyhjentää näytön käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

void clearScreen(
    const color& color );

3 — Tyhjentää näytön käyttämällä heksadesimaaliväriarvoa.

void clearScreen(
    const char* color );

4 — Tyhjentää näytön käyttäen sävyarvoa.

void clearScreen(
    int hue );

Parameters

Parametri

Tyyppi

Kuvaus

color

const color&

Tyhjentää näytön käyttämällä color sisältävää objektia. Esimääritettyihin väreihin kuuluvat:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Tässä voi käyttää myös mukautettua väriobjektia.

color

const char*

Tyhjentää näytön käyttämällä heksadesimaalimuotoista väriarvoa, joka esitetään merkkijonona (esimerkiksi “#000000”).

hue

int

Tyhjentää näytön käyttämällä kokonaislukuista sävyarvoa väliltä 0359, joka edustaa asteita väriympyrän ympärillä.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 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#

Asettaa EXP Brain -näytössä näkyvän tekstin fontin.

Tämä määrittää fontin, jota käytetään myöhemmässä tekstitulostuksessa käytettäessä näyttötekstifunktioita, kuten print.

Available Functions
void setFont(
  fontType font );

Parameters

Parametri

Tyyppi

Kuvaus

font

fontType

Sets the font to one of the following:

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

Aivot tulostivat numeroita ja kirjaimia näytölle mono 12 -fonttikoolla. Se näyttää A:sta Z:aan ja kaikki numerot. Näytön alareunassa lukee 9 riviä, 26 saraketta.
mono12

Aivojen näytölle painetut numerot ja kirjaimet fonttikoolla mono 15. Se näyttää A:sta T:hen ja kaikki numerot. Näytön alareunassa lukee 7 riviä, 22 saraketta.
mono15

Aivojen näytölle painetut numerot ja kirjaimet mono 20 -fontilla. Se näyttää A:sta P:hen ja kaikki numerot. Näytön alareunassa lukee 5 riviä, 16 saraketta.
mono20

Aivojen silkkipainokoneella painetut numerot ja kirjaimet mono 30 -fontilla. Se näyttää A:sta J:hen. Näytön alareunassa lukee R:3 C:10.
mono30

Aivot tulostivat numeroita ja kirjaimia näytölle mono 40 -fontilla. Näytön alareunassa lukee R:2 C:8.
mono40

Aivojen silkkipainotekniikalla painetut numerot ja kirjaimet mono 60 -fontilla. Vain MON60 näkyy.
mono60

Aivot tulostivat numeroita ja kirjaimia prop 20 -fontilla. Se näyttää kirjaimet A:sta W:hen ja kaikki numerot. Näytön alareunassa lukee 5 riviä, 16 saraketta.
prop20

Aivot tulostivat näytölle numeroita ja kirjaimia prop 30 -fontilla. Se näyttää kirjaimet A:sta P:hen. Näytön alareunassa lukee R:3 C:10.
prop30

Aivot tulostivat näytölle numeroita ja kirjaimia prop 40 -fontilla. Näytön alareunassa lukee R:2 C:8.
prop40

Aivojen silkkipainotulosteet numeroista ja kirjaimista, joiden fonttikoko on prop 60. Vain PROP60 näkyy.
prop60

Return Values

Tämä funktio ei palauta arvoa.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy valkoista tekstiä, jossa lukee VEX oletusarvoa suuremmalla fontilla vasemmassa yläkulmassa.

setPenWidth#

Määrittää piirrettyjen viivojen ja ääriviivojen paksuuden.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametri

Tyyppi

Kuvaus

width

uint32_t

Kynän leveys pikseleinä välillä 0–32.

Return Values

Tämä funktio ei palauta arvoa.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy paksureunainen suorakulmio näytön vasemmalla puolella.

setPenColor#

Määrittää viivojen, muotojen ja tekstin piirtämiseen käytettävän kynän värin.

Available Functions

1 — Asettaa kynän värin käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

void setPenColor(
    const color& color );

2 — Asettaa kynän värin heksadesimaaliarvon avulla.

void setPenColor(
    const char* color );

3 — Asettaa kynän värin sävyarvon avulla.

void setPenColor(
    int hue );

Parameters

Parametri

Tyyppi

Kuvaus

color

const color&

Asettaa kynän värin käyttämällä color -objektia. Esimääritettyjä värejä ovat:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Tässä voi käyttää myös mukautettua väriobjektia.

color

const char*

Asettaa kynän värin käyttämällä heksadesimaalimuotoista väriarvoa, joka esitetään merkkijonona (esimerkiksi “#FF0000”).

hue

int

Asettaa kynän värin käyttämällä kokonaislukuarvoa väliltä 0359, joka edustaa asteita väriympyrän ympärillä (esimerkiksi 0 on punainen, 120 on vihreä ja 240 on sininen).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Projektin alussa kynän oletusväri on white.

  • Kynän väriä käytetään muotojen ääriviivoihin (kuten funktioilla drawCircle tai drawRectangle), teksti- ja numeeriseen tulosteeseen (funktioilla print ja printAt) sekä yksittäisiin pikseleihin, jotka piirretään funktiolla drawPixel.

  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 240.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy oranssilla piirretty suorakulmio näytön vasemmalla puolella.

setFillColor#

Määrittää muotojen piirtämisessä käytettävän täyttövärin.

Available Functions

1 — Asettaa täyttövärin käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

void setFillColor(
    const color& color );

2 — Asettaa täyttövärin heksadesimaaliarvon avulla.

void setFillColor(
    const char* color );

3 — Asettaa täyttövärin sävyarvon avulla.

void setFillColor(
    int hue );

Parameters

Parametri

Tyyppi

Kuvaus

color

const color&

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

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Asettaa täyttövärin käyttämällä heksadesimaalimuotoista väriarvoa, joka esitetään merkkijonona (esimerkiksi “#00FF00”).

hue

int

Asettaa täyttövärin kokonaislukuarvona väliltä 0359, joka edustaa asteita väriympyrän ympärillä (esimerkiksi 0 on punainen, 120 on vihreä ja 240 on sininen).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Oletusarvoinen täyttöväri projektin alussa on black.

  • Täyttöväriä käytetään muotojen sisäosissa (kuten esimerkiksi drawCircle tai drawRectangle).

  • Täyttöväriä käytetään tulostetun tekstin taustavärinä (kuten esimerkiksi print ja printAt).

    • Jos käytetään arvoa transparent tulostetun tekstin kanssa, tausta on black.

  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 240.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy violetilla täytetty suorakulmio näytön vasemmalla puolella.

setOrigin#

Asettaa Brainin näytöllä piirrettävien grafiikoiden alkuperän.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int32_t

Origon x-sijainti suhteessa aivojen näytön vasempaan yläkulmaan välillä 0 - 159.

y

int32_t

Origon y-akselin sijainti suhteessa aivojen näytön vasempaan yläkulmaan välillä 0 - 107.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Oletusarvoinen lähtöpiste on näytön vasen yläkulma koordinaateissa (0, 0).

  • Origo pätee koordinaattifunktioihin, kuten drawLine, drawRectangle, drawCircle ja printAt.

  • Alkuperä pysyy voimassa, kunnes sitä muutetaan uudelleen tai projekti nollataan.

setClipRegion#

Määrittää näytölle suorakaiteen muotoisen alueen, johon kaikki piirrokset ja teksti rajataan. Tämän alueen ulkopuolella olevaa sisältöä ei näytetä.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int

Leikkausalueen vasemman yläkulman x-koordinaatti kokonaislukuna väliltä 0–159.

y

int

Leikkausalueen vasemman yläkulman y-koordinaatti kokonaislukuna väliltä 0–107.

width

int

Leikkausalueen leveys pikseleinä, kokonaislukuna 0–159.

height

int

Leikkausalueen korkeus pikseleinä, kokonaislukuna 0–107.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Piirtofunktioita suoritetaan edelleen, vaikka ne osuisivatkin leikealueen ulkopuolelle, mutta vain alueen sisällä oleva osa on näkyvissä.

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, jota voidaan muuttaa käyttämällä setOrigin.

  • Leikkausalue koskee vain nykyistä säikettä.

  • Uuden leikealueen asettaminen korvaa kaikki aiemmin asetetut leikealueet nykyiselle säikeelle.

Examples

drawPixel#

Piirtää yhden pikselin EXP Brain -näytölle valittuun x- ja y-pikselikohtaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int

Pikselin piirrettävä x-koordinaatti kokonaislukuna 0–159.

y

int

Y-koordinaatti, johon pikseli piirretään, kokonaislukuna 0–107.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Pikselit piirretään käyttämällä nykyistä kynän väriä, joka on asetettu setPenColor-asetuksella.

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, joka voidaan asettaa käyttämällä setOrigin.

  • Jos määritetty pikselin sijainti on näytön rajojen ulkopuolella, pikseliä ei piirretä.

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

Kuvakaappaus EXP Brain -näytöstä, jossa näkyy pikselien kokoelma, joka näyttää neliön kulmat lähellä näytön keskustaa.

drawLine#

Piirtää suoran viivan, joka yhdistää kaksi pistettä EXP Brain -näytössä.

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

Parameters

Parametri

Tyyppi

Kuvaus

x1

int

Suoran aloitus-x-koordinaatti kokonaislukuna 0–159.

y1

int

Suoran aloitus-y-koordinaatti kokonaislukuna 0–107.

x2

int

Suoran päättymispisteen x-koordinaatti kokonaislukuna väliltä 0–159.

y2

int

Suoran päätepisteen y-koordinaatti kokonaislukuna väliltä 0–107.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Viivat piirretään käyttämällä nykyistä kynän väriä, joka on asetettu setPenColor -asetuksella.

  • Viivan leveys määräytyy kynän nykyisen leveyden mukaan, joka on asetettu setPenWidth-metodilla.

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, joka voidaan asettaa käyttämällä setOrigin.

  • Jos jokin osa viivasta on näytön rajojen ulkopuolella, vain näkyvä osa piirretään.

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

Kuvakaappaus EXP Brain -näytöstä näyttää ohuen vinon viivan keskellä vasemmasta yläkulmasta oikeaan alakulmaan.

drawRectangle#

Piirtää suorakulmion EXP Brain -näytölle määritettyyn paikkaan ja kokoon.

Available Functions

1 — Piirtää ja täyttää suorakulmion käyttämällä nykyistä määritettyä täyttöväriä.

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

2 — Piirtää ja täyttää suorakulmion käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

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

3 — Piirtää ja täyttää suorakulmion käyttämällä heksadesimaaliväriarvoa.

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

4 — Piirtää ja täyttää suorakulmion käyttäen sävyarvoa.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int

Suorakulmion vasemman yläkulman x-koordinaatti kokonaislukuna väliltä 0–159.

y

int

Suorakulmion vasemman yläkulman y-koordinaatti kokonaislukuna väliltä 0–107.

width

int

Suorakulmion leveys kokonaislukuna väliltä 0–159.

height

int

Suorakulmion korkeus kokonaislukuna väliltä 0–107.

color

const color&

Fills the rectangle using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Täyttää suorakulmion heksadesimaaliväriarvolla (esimerkiksi “#FF0000”).

hue

int

Täyttää suorakulmion sävyarvolla väliltä 0359.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Suorakulmion ääriviiva piirretään käyttämällä nykyistä kynän väriä, joka on asetettu setPenColor -asetuksella.

  • Ääriviivan paksuus määräytyy kynän nykyisen leveyden mukaan, joka on asetettu setPenWidth-metodilla.

  • Kun color -parametria ei anneta, suorakulmion sisäosa täytetään nykyisellä täyttövärillä, joka on asetettu setFillColor -metodilla.

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, jota voidaan muuttaa käyttämällä setOrigin.

  • Jos jokin osa suorakulmiosta on näytön rajojen ulkopuolella, vain näkyvä osa piirretään.

  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 240.

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

Kuvakaappaus EXP Brainin näytöstä näyttää suorakulmion, jonka vasemmassa yläkulmassa on ohut valkoinen reunus.

drawCircle#

Piirtää ympyrän EXP Brain -näyttöön määritettyyn kohtaan ja säteeseen.

Available Functions

1 — Piirtää ja täyttää ympyrän käyttämällä nykyistä määritettyä täyttöväriä.

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

2 — Piirtää ja täyttää ympyrän käyttämällä ennalta määritettyä tai mukautettua väriä objektia.

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

3 — Piirtää ja täyttää ympyrän käyttämällä heksadesimaaliväriarvoa.

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

4 — Piirtää ja täyttää ympyrän käyttäen sävyarvoa.

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

Parameters

Parametri

Tyyppi

Kuvaus

x

int

Ympyrän keskipisteen x-koordinaatti kokonaislukuna väliltä 0–159.

y

int

Ympyrän keskipisteen y-koordinaatti kokonaislukuna väliltä 0–107.

radius

int

Ympyrän säde, joka annetaan kokonaislukuna väliltä 0–107 pikseliä.

color

const color&

Täyttää ympyrän käyttämällä color sisältävää objektia. Esimääritettyihin väreihin kuuluvat:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Tässä voi käyttää myös mukautettua väriobjektia.

color

const char*

Täyttää ympyrän heksadesimaaliväriarvolla (esimerkiksi “#FF0000”).

hue

int

Täyttää ympyrän käyttämällä sävyarvoa väliltä 0–359.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Ympyrän ääriviiva piirretään käyttämällä nykyistä kynän väriä, joka on asetettu setPenColor -asetuksella.

  • Ääriviivan paksuus määräytyy kynän nykyisen leveyden mukaan, joka on asetettu setPenWidth-metodilla.

  • Kun color -parametria ei anneta, ympyrän sisäosa täytetään käyttämällä nykyistä täyttöväriä, joka on asetettu setFillColor -mekaniikalla.

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, jota voidaan muuttaa käyttämällä setOrigin.

  • Sävyparametrin hue perustuu pyöreään väriympyrään, kuten alla on esitetty, jossa arvot edustavat asteita ympyrän ympärillä (esimerkiksi punainen lähellä 0°, vihreä lähellä 120° ja sininen lähellä 240°).

Väriympyrä, joka näyttää värialueen 0–359, jossa punainen on 0, vihreä on 120 ja sininen on 240.

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

Kuvakaappaus EXP Brain -näytöstä näyttää ympyrän, jonka keskelle on piirretty ohut valkoinen reunus.

drawImageFromFile#

Piirtää kuvan EXP Brain -näytölle käyttäen SD-kortille tallennettua kuvatiedostoa.

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

Parameters

Parametri

Tyyppi

Kuvaus

name

const char*

SD-kortilla olevan kuvan tiedostonimi. Tiedoston tiedostopäätteen on oltava .bmp tai .png.

x

int

X-koordinaatti pikseleinä välillä 0–159, johon kuvan vasen reuna piirretään.

y

int

Y-koordinaatti pikseleinä 0–107, johon kuvan yläreuna piirretään.

Return Values

Palauttaa totuusarvon, joka ilmaisee, onnistuiko kuvan piirtäminen:

  • true — Kuva ladattiin ja piirrettiin näytölle onnistuneesti.
  • false — Kuvaa ei voitu piirtää (esimerkiksi jos tiedostoa ei ole tai se on virheellinen).

Notes
  • Tuetut kuvamuodot ovat .bmp ja .png.

  • Kuvatiedoston koko ei saa ylittää 512 KB

    • Tiedostokoon minimoimiseksi suositellaan 8-bittistä RLE-koodausta.

  • Suurimmat tuetut kuvamitat ovat Brain-näytön koko (noin 159 x 107 pikseliä).

  • Koordinaatit x ja y ovat suhteessa nykyiseen näytön nollapisteeseen, jota voidaan muuttaa käyttämällä setOrigin.

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

render#

Mahdollistaa Brainin näytön kaksoispuskuroinnin. Kun funktio on kutsuttu, piirtofunktiot (kuten teksti, muodot tai kuvat) eivät enää näy välittömästi projektin loppuosassa. Sen sijaan päivitykset näkyvät vasta, kun render -käytetään uudelleen. Tämä mahdollistaa sujuvammat ja hallitummat näytön päivitykset, mutta tarkoittaa, että mikään ei ole näkyvissä ennen kuin render -käytetään.

Available Functions

1 — Ottaa käyttöön kaksoispuskuroinnin tai renderöi takapuskurin näytölle.

bool render();

2 — Renderöi takapuskurin näytölle ja hallitsee pystysuuntaisen synkronoinnin toimintaa ja valinnaista ajastimen suoritusta.

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

Parameters

Parametri

Tyyppi

Kuvaus

bVsyncWait

bool

​

  • true — Odota näytön pystysuuntaista päivitystä ennen renderöintiä visuaalisen repeytymisen vähentämiseksi.
  • false — Älä odota näytön pystysuuntaista päivitystä ennen renderöintiä.

bRunScheduler

bool

Valinnainen.

  • true (oletus) — Salli taustatehtävien suorittamisen renderöintiä odotettaessa.
  • false — Älä salli taustatehtävien suorittamista renderöintiä odotettaessa.

Return Values

Palauttaa totuusarvon, joka ilmaisee, renderöitiinkö puskuriin tallennetut piirrokset näytölle onnistuneesti:

  • true — Piirrokset renderöitiin näytölle onnistuneesti.
  • false — Piirroksia ei voitu renderöidä näytölle.
  • Notes
    • Funktion render kutsuminen edellyttää, että projektin loppuosassa käytetään funktiota render.

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