Ekrāns#

Ievads#

screen klase ir atvasināta no brain bāzes klases. Tā kontrolē, kā IQ (2. paaudzes) Brain rāda tekstu, skaitļus un grafiku savā iebūvētajā ekrānā.

Pēc noklusējuma fonts drukāšanai uz Brain ir vienas atstarpes mazs.

Zīmēšanai smadzeņu izšķirtspēja ir 160 x 108 pikseļi.

Piekļuve#

screen klasei var piekļūt, izmantojot:

Brain.Screen

Piezīmes#

  • screen objektu nodrošina smadzenes. Tas netiek tieši konstruēts.

  • Projekti izmanto vienu globālu Brain objektu, tāpēc ekrāna funkcijas tiek izsauktas, izmantojot Brain.Screen.

Piemērs#

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

Dalībnieku funkcijas#

screen klasē ir iekļautas šādas dalībfunkcijas:

  • print — Izdrukā formatētu tekstu, skaitļus vai Būla vērtības Brain ekrānā.

  • setCursor — Pārvieto teksta kursoru uz norādīto rindu un kolonnu.

  • newLine — Notīra atlikušo pašreizējās rindas daļu un pārvieto kursoru uz nākamo rindu.

  • clearLine — Notīra atlikušo pašreizējās rindas daļu vai notīra norādīto rindu.

  • row rinda — Atgriež rindu, kurā tiks drukāts teksts.

  • column — Atgriež kolonnu, kurā tiks drukāts teksts.

  • getStringHeight — Atgriež virknes augstumu pikseļos, izmantojot pašreizējo fontu.

  • getStringWidth — Atgriež virknes platumu pikseļos, izmantojot pašreizējo fontu.

  • printAt — Izdrukā formatētu tekstu x un y pikseļu atrašanās vietā (pēc izvēles necaurspīdīgs).

  • clearScreen — Notīra visu ekrānu (pēc izvēles norādītajā krāsā).

  • setFont — Iestata fontu, kas tiek izmantots drukāšanai uz ekrāna.

  • setPenWidth — Iestata zīmēto līniju un formu kontūru biezumu.

  • setPenColor — Iestata teksta, pikseļu, līniju un formu kontūru krāsu.

  • setFillColor — Iestata aizpildījuma krāsu zīmētām formām un drukāta teksta foniem.

  • setOrigin — Iestata ekrāna koordinātu sākumpunktu.

  • setClipRegion — Ierobežo ekrāna izvadi taisnstūrveida apgabalā.

  • drawPixel — Uzzīmē vienu pikseli koordinātā.

  • drawLine — Novelk līniju starp diviem punktiem.

  • drawRectangle — Uzzīmē taisnstūri x un y koordinātēs ar norādīto izmēru.

  • drawCircle — Uzzīmē apli x un y koordinātēs ar norādītu rādiusu.

  • drawImageFromFile — Uzzīmē attēlu no SD kartes faila ekrānā.

  • render — Iespējo dubulto buferizāciju vai renderē aizmugurējo buferi ekrānā.

  • pressing — Atgriež, vai ekrāns pašlaik tiek nospiests.

  • xPosition — Atgriež pēdējās ekrāna nospiešanas x koordinātu.

  • yPosition — Atgriež pēdējās ekrāna nospiešanas y koordinātu.

  • pressed — Reģistrē atzvanīšanas funkciju, kas tiks palaista, nospiežot ekrānu.

  • released — Reģistrē atzvanīšanas funkciju, kas tiek palaista, kad ekrāns tiek atlaists pēc nospiešanas.

Pirms jebkuru screen dalībfunkciju izsaukšanas ir jāizveido brain instance, kā parādīts zemāk:

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

print#

IQ (2. paaudzes) smadzeņu ekrānā parāda tekstu, skaitļus vai Būla vērtības.

Available Functions

1 — Izdrukā formatētu tekstu, izmantojot virkņu literāļus vai tikai lasāmas C stila virknes.

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

2 — Izdrukā formatētu tekstu, izmantojot modificējamus rakstzīmju masīvus.

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

Parameters

Parametrs

Tips

Apraksts

format

const char*

Formāta virkne, kas norādīta kā virknes literālis vai tikai lasāma C stila virkne (piemēram, “Score: %d”).

format

char*

Formāta virkne, kas norādīta kā modificējams rakstzīmju masīvs.

…

Viena vai vairākas papildu vērtības, kas tiek ievietotas formāta virknē, atdalītas ar komatiem.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Izvade sākas no pašreizējās kursora pozīcijas ekrānā.

  • Drukātajam tekstam tiek izmantots pašreizējais ekrāna fonts

  • Drukātajam tekstam tiek izmantota pašreizējā pildspalvas krāsa .

  • Teksts, kas tiek drukāts ar print vienmēr tiek drukāts ar fonu, un fona krāsu nosaka aizpildījuma krāsa.

  • Izmantojot formāta virkni, nodoto vērtību skaitam un tipiem ir jāatbilst virknes formāta specifikatoriem.

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

Ekrānuzņēmums ar IQ (2. paaudzes) smadzenēm, kurā ekrāna augšējā kreisajā stūrī baltā krāsā redzams uzraksts “Sveiks, robot!”.

setCursor#

Pārvieto kursoru uz noteiktu rindu un kolonnu IQ (2. paaudzes) smadzeņu ekrānā. Nākamais print izsaukums sāks drukāšanu šajā vietā.

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

Parameters

Parametrs

Tips

Apraksts

row

int32_t

Rinda, uz kuru jāpārvieto kursors.

col

int32_t

Kolonna, uz kuru jāpārvieto kursors.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Ietekmē, kur sākas turpmākā teksta izvade, izmantojot print.

  • Rindas un kolonnas ir balstītas uz pašreiz iestatīto ekrāna fontu.

  • Noklusējuma fonts (mono20) izmanto 5 rindas un 16 kolonnas.

  • Izsaucot setCursor , tiek ietekmēta tikai nākamā teksta izvades pozīcija.

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

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

Ekrānuzņēmums ar IQ (2. paaudzes) smadzenēm, kurā ekrāna augšējā kreisajā stūrī, šajā pozīcijā, ir iespiests skaitlis 25.

newLine#

Pārvieto kursoru uz nākamās rindas sākumu Brain ekrānā.

Available Functions
void newLine();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Ja kursors atrodas teikuma vidū, newLine notīrīs pārējo rindu aiz kursora, pirms pāriet uz nākamo rindu.

  • Pēc newLineizsaukšanas kursors tiek novietots nākamās rindas pirmajā kolonnā.

  • Kursora pozīcija un rindu numerācija tiek iestatīta, izmantojot setCursor.

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

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums, kurā augšējā kreisajā stūrī redzamas divas balta teksta rindiņas. Augšējā rindā rakstīts “1. rinda”, bet otrajā rindā tieši zem tās rakstīts “2. rinda”.

clearLine#

Notīra tekstu no rindas IQ (2. paaudzes) smadzeņu ekrānā.

Available Functions

1 — Notīra atlikušo pašreizējās rindas daļu no kursora pozīcijas.

void clearLine();

2 — Notīra norādīto rindu, izmantojot pašlaik konfigurēto aizpildījuma krāsu.

void clearLine(
    int number );

3 — Notīra norādīto rindu, izmantojot iepriekš definētu vai pielāgotas krāsas objektu.

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

4 — Notīra norādīto rindu, izmantojot heksadecimālu krāsas vērtību.

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

5 — Notīra norādīto rindu, izmantojot nokrāsas vērtību.

void clearLine(
    int number,
    int hue );

Parameters

Parametrs

Tips

Apraksts

number

int

Notīrāmā rindas numurs. Rindu numerācija sākas ar 1.

color

const color&

Notīra rindu, izmantojot color objektu. Iepriekš definētās krāsas ietver:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Šeit var izmantot arī pielāgotas krāsas objektu.

color

const char*

Notīra rindu, izmantojot heksadecimālu krāsas vērtību (piemēram, “#000000”).

hue

int

Notīra rindu, izmantojot vesela skaitļa nokrāsas vērtību diapazonā 0līdz359, kas attēlo grādus ap krāsu apli.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Rindas notīrīšana nemaina pašreizējo kursora pozīciju.

  • Kursora pozīcija un rindu numerācija tiek iestatīta, izmantojot setCursor.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 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#

Atgriež rindu, kurā teksts tiks drukāts IQ (2. paaudzes) smadzeņu ekrānā.

Available Functions
int32_t row();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež int32_t , kas apzīmē rindu, kurā tiks drukāts teksts.

Rindu numerācija sākas ar 1.

Notes
  • Kursora pozīcija ir balstīta uz pašreizējo ekrāna fontu .

  • Atgrieztā vērtība norāda, kur parādīsies nākamā izdrukātā izvade.

  • Rindas vērtība mainās, kad tiek drukāts teksts vai kad tiek izsaukta setCursor.

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

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums, kurā 3. teksta rinda ir redzama baltā krāsā ekrāna kreisajā pusē, 3. rindas 12. kolonnas pozīcijā.

column#

Atgriež kolonnu, kurā teksts tiks drukāts IQ (2. paaudzes) smadzeņu ekrānā.

Available Functions
int32_t column();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež int32_t , kas apzīmē kolonnu, kurā tiks drukāts teksts.

Kolonnu numerācija sākas ar 1.

Notes
  • Kursora pozīcija ir balstīta uz pašreizējo ekrāna fontu .

  • Atgrieztā vērtība norāda, kur parādīsies nākamā izdrukātā izvade.

  • Kolonnas vērtība mainās, kad tiek drukāts teksts vai kad tiek izsaukta setCursor.

Examples
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums, kurā redzama kolonna: 9 baltā krāsā ekrāna augšdaļā, 1. rindas 9. kolonnas pozīcijā.

getStringHeight#

Atgriež virknes augstumu pikseļos, kad tā tiek atveidota IQ (2. paaudzes) Brain ekrānā.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametrs

Tips

Apraksts

cstr

const char*

Mērāmais teksts, kas norādīts kā C stila virkne (piemēram, “Hello”).

Return Values

Atgriež int32_t kas apzīmē virknes augstumu pikseļos, kad tā tiek atveidota Brain ekrānā.

Notes
  • Atgrieztais augstums ir atkarīgs no pašlaik atlasītā ekrāna fonta

  • Šī funkcija mēra virkni, to nezīmējot ekrānā.

  • Atgrieztais augstums atspoguļo, kā virkne izskatītos izdrukāta.

getStringWidth#

Atgriež virknes platumu pikseļos, kad tā tiek atveidota IQ (2. paaudzes) Brain ekrānā.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametrs

Tips

Apraksts

cstr

const char*

Mērāmais teksts, kas norādīts kā C stila virkne (piemēram, “Hello”).

Return Values

Atgriež int32_t kas attēlo virknes platumu pikseļos, kad tā tiek atveidota Brain ekrānā.

Notes
  • Atgrieztais platums ir atkarīgs no pašlaik atlasītā ekrāna

  • Šī funkcija mēra virkni, to nezīmējot ekrānā.

  • Atgrieztais platums atspoguļo, kā virkne izskatītos, kad tā tiktu izdrukāta.

printAt#

Izdrukā tekstu, skaitļus vai Būla vērtības noteiktā koordinātā IQ (2. paaudzes) smadzeņu ekrānā.

Available Functions

1 — Izdrukā formatētu izvadi norādītajā pikseļa vietā.

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

2 — Izdrukā formatētu izvadi norādītajā pikseļa vietā un iestata, vai teksta fons ir necaurspīdīgs vai caurspīdīgs.

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

Parameters

Parametrs

Tips

Apraksts

x

int32_t

X-pozīcija, kurā jādrukā, atsaucoties uz ekrāna sākumpunktu.

y

int32_t

Y pozīcija, kurā jādrukā, atsaucoties uz ekrāna sākumpunktu.

bOpaque

bool

Nosaka, vai drukātais teksts tiek zīmēts necaurspīdīgi vai caurspīdīgi:

  • true — Drukātā teksta fons tiek aizpildīts, izmantojot pašreizējo aizpildījuma krāsu.
  • false — Teksts tiek zīmēts caurspīdīgi, un fons netiek aizpildīts.

format

const char*

Formāta virkne, kas kontrolē ekrānā drukājamo informāciju (piemēram, “Score: %d”).

…

Viena vai vairākas papildu vērtības, kas tiek ievietotas formāta virknē, atdalītas ar komatiem.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var mainīt, izmantojot setOrigin.

  • Drukātajam tekstam tiek izmantots pašreizējais ekrāna fonts

  • Drukātajam tekstam tiek izmantota pašreizējā pildspalvas krāsa .

  • Izmantojot formāta virkni, nodoto vērtību skaitam un tipiem ir jāatbilst virknes formāta specifikatoriem.

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

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums ar baltu tekstu, kurā rakstīts 1, kas drukāts pie (100, 40).

clearScreen#

Izdzēš visus zīmējumus un tekstu no smadzeņu ekrāna.

Available Functions

1 — Padara ekrānu melnu.

void clearScreen();

2 — Notīra ekrānu, izmantojot iepriekš definētu vai pielāgotas krāsas objektu.

void clearScreen(
    const color& color );

3 — Notīra ekrānu, izmantojot heksadecimālu krāsas vērtību.

void clearScreen(
    const char* color );

4 — Notīra ekrānu, izmantojot nokrāsas vērtību.

void clearScreen(
    int hue );

Parameters

Parametrs

Tips

Apraksts

color

const color&

Notīra ekrānu, izmantojot color objektu. Iepriekš definētās krāsas ietver:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Šeit var izmantot arī pielāgotas krāsas objektu.

color

const char*

Notīra ekrānu, izmantojot heksadecimālu krāsas vērtību, kas attēlota kā virkne (piemēram, “#000000”).

hue

int

Clears the screen using an integer hue value in the range 0–359, representing degrees around a color wheel.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 240.

Examples
// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();


// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(red);

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums, kurā visa drukājamā zona ir spilgti sarkana.

setFont#

Iestata fontu, kas tiek izmantots tekstam, kas tiek rādīts IQ (2. paaudzes) smadzeņu ekrānā.

Tas kontrolē fontu, kas tiek lietots turpmākajai teksta izvadei, izmantojot ekrāna teksta funkcijas, piemēram, print.

Available Functions
void setFont(
  fontType font );

Parameters

Parametrs

Tips

Apraksts

font

fontType

Iestata fontu uz vienu no šiem:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
Šīs opcijas ir parādītas tālāk.

VEX IQ Brain ekrāna ekrānuzņēmums ar ciparu un burtu sēriju Mono 12 fontā. Burti AZ atrodas vienā rindā, kas aptver visu ekrāna platumu. Apakšējā kreisajā stūrī ir norādītas 26 rakstzīmes un 9 rindas.
mono12

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Mono 15 fontu. Burti AT atrodas vienā rindā, kas aptver visu ekrāna platumu. Apakšējā kreisajā stūrī ir norādītas 20 rakstzīmes un 7 rindas.
mono15

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Mono 20 fontu. Burti AP atrodas vienā rindā, kas aptver visu ekrāna platumu. Apakšējā kreisajā stūrī ir norādītas 16 rakstzīmes un 5 rindas.
mono20

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Mono 30 fontu. Skaitļi no 1 līdz 9 un papildu 0 atrodas vienā rindā, kas aptver visu ekrāna platumu. Apakšējais kreisais stūris norāda 3 rindas.
mono30

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Mono 40 fontu. Skaitļi no 1 līdz 8 atrodas otrajā rindā, aptverot visu ekrāna platumu.
mono40

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Mono 60 fontu. Ekrānā MN 60 tiek rādīts lielā fontā, aizņemot gandrīz visu ekrāna augšējo pusi.
mono60

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Prop 20 fontu. Burti AW atrodas vienā rindā, kas aptver visu ekrāna platumu. Apakšējā kreisajā stūrī ir norādītas 26 rakstzīmes un 5 rindas.
prop20

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Prop 30 fontu. Skaitļi no 1 līdz 9 tiek atkārtoti divas reizes vienā rindā, aptverot visu ekrāna platumu. Apakšējā kreisajā stūrī ir norādītas 18 rakstzīmes un 3 rindas.
prop30

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar fontu Prop 40. Ekrāna augšējā rindā ir redzams Prop 40, bet otrajā rindā ir norādītas 14 rakstzīmes un 2 rindas.
prop40

Tas pats ekrānuzņēmums kā iepriekšējais, tagad ar Prop 60 fontu. Ekrānā lielā fontā ir redzams PROP 60, kas aizņem gandrīz visu ekrāna augšējo pusi.
prop60

Return Values

Šī funkcija neatgriež vērtību.

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

IQ Brain ekrāna ekrānuzņēmums ar baltu tekstu divās rindās augšējā kreisajā stūrī. Pirmajā rindā rakstīts Mono Medium, bet otrajā rindā tieši zem tā rakstīts Prop Medium mazākā fontā.

setPenWidth#

Nosaka zīmēto līniju un formu kontūru biezumu.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametrs

Tips

Apraksts

width

uint32_t

Pildspalvas platums pikseļos no 0 līdz 32.

Return Values

Šī funkcija neatgriež vērtību.

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

IQ Brain ekrāna ekrānuzņēmums ar diviem baltiem apļiem, kas uzdrukāti ekrāna apakšējā pusē. Aplis kreisajā pusē ir uzzīmēts ar šaurāku apmali nekā aplis labajā pusē.

setPenColor#

Iestata teksta, pikseļu, līniju un formu kontūru krāsu.

Available Functions

1 — Iestata pildspalvas krāsu, izmantojot iepriekš definētu vai pielāgotas krāsas objektu.

void setPenColor(
    const color& color );

2 — Iestata pildspalvas krāsu, izmantojot heksadecimālu krāsas vērtību.

void setPenColor(
    const char* color );

3 — Iestata pildspalvas krāsu, izmantojot nokrāsas vērtību.

void setPenColor(
    int hue );

Parameters

Parametrs

Tips

Apraksts

color

const color&

Iestata pildspalvas krāsu, izmantojot color objektu. Iepriekš definētās krāsas ietver:

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

color

const char*

Iestata pildspalvas krāsu, izmantojot heksadecimālu krāsas vērtību, kas attēlota kā virkne (piemēram, “#FF0000”).

hue

int

Iestata pildspalvas krāsu, izmantojot vesela skaitļa nokrāsas vērtību diapazonā 0līdz359, kas attēlo grādus ap krāsu apli (piemēram, 0 ir sarkana, 120 ir zaļa un 240 ir zila).

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Noklusējuma pildspalvas krāsa projekta sākumā ir white.

  • The pen color is used for outlines of shapes (such as with drawCircle or drawRectangle), text and numeric output (with print and printAt), and individual pixels drawn with drawPixel.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 240.

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

IQ Brain ekrāna ekrānuzņēmums ar diviem maziem taisnstūriem, kas uzzīmēti ekrāna apakšējā pusē. Taisnstūris kreisajā pusē ir zils, bet labajā pusē - balts.

setFillColor#

Iestata aizpildījuma krāsu, kas tiek izmantota, zīmējot formas.

Available Functions

1 — Iestata aizpildījuma krāsu, izmantojot iepriekš definētu vai pielāgotas krāsas objektu.

void setFillColor(
    const color& color );

2 — Iestata aizpildījuma krāsu, izmantojot heksadecimālu krāsas vērtību.

void setFillColor(
    const char* color );

3 — Iestata aizpildījuma krāsu, izmantojot nokrāsas vērtību.

void setFillColor(
    int hue );

Parameters

Parametrs

Tips

Apraksts

color

const color&

Iestata aizpildījuma krāsu, izmantojot color objektu. Iepriekš definētās krāsas ietver:

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

color

const char*

Iestata aizpildījuma krāsu, izmantojot heksadecimālu krāsas vērtību, kas attēlota kā virkne (piemēram, “#00FF00”).

hue

int

Iestata aizpildījuma krāsu, izmantojot vesela skaitļa nokrāsas vērtību diapazonā 0līdz359, kas attēlo grādus ap krāsu apli (piemēram, 0 ir sarkana, 120 ir zaļa un 240 ir zila).

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Noklusējuma aizpildījuma krāsa projekta sākumā ir black.

  • Aizpildījuma krāsa tiek izmantota formu iekšpusē (piemēram, ar drawCircle vai drawRectangle).

  • Aizpildījuma krāsa tiek izmantota kā fona krāsa drukātam tekstam (piemēram, ar print un printAt).

    • Ja drukātam tekstam tiek izmantota vērtība transparent , fons būs melns black.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 240.

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

IQ Brain ekrāna ekrānuzņēmums ar spilgti dzeltenu apli ar plānu baltu apmali, kas uzzīmēta ekrāna kreisajā pusē.

setOrigin#

Iestata sākuma punktu, kas tiek izmantots zīmēšanai un uz koordinātām balstītai drukāšanai Brain ekrānā.

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

Parameters

Parametrs

Tips

Apraksts

x

int32_t

Sākotnes x pozīcija attiecībā pret Brain ekrāna augšējo kreiso stūri no 0 līdz 159.

y

int32_t

Sākotnes y pozīcija attiecībā pret smadzeņu ekrāna augšējo kreiso stūri no 0 līdz 107.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Noklusējuma sākumpunkts ir ekrāna augšējais kreisais stūris koordinātēs (0, 0).

  • Izcelsmes punkts attiecas uz koordinātu funkcijām, piemēram, drawLine, drawRectangle, drawCircle un printAt.

  • Izcelsmes punkts paliek spēkā, līdz tas tiek mainīts vēlreiz vai projekts tiek atiestatīts.

setClipRegion#

Nosaka taisnstūrveida apgabalu ekrānā, kurā tiks ievietoti visi zīmējumi un teksts. Jebkāds saturs ārpus šī apgabala netiks parādīts.

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

Parameters

Parametrs

Tips

Apraksts

x

int

Klipa apgabala augšējā kreisā stūra x koordināta, kas norādīta kā vesels skaitlis no 0 līdz 159.

y

int

Saspraudes apgabala augšējā kreisā stūra y koordināta, kas norādīta kā vesels skaitlis no 0 līdz 107.

width

int

Klipa apgabala platums pikseļos, kas norādīts kā vesels skaitlis no 0 līdz 159.

height

int

Klipa apgabala augstums pikseļos, kas norādīts kā vesels skaitlis no 0 līdz 107.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Zīmēšanas funkcijas joprojām tiek izpildītas pat tad, ja tās atrodas ārpus klipa apgabala, bet redzama ir tikai apgabala iekšpusē esošā daļa.

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var mainīt, izmantojot setOrigin.

  • Klipa reģions attiecas tikai uz pašreizējo pavedienu.

  • Jauna klipa apgabala iestatīšana aizstāj jebkuru iepriekš iestatītu klipa apgabalu pašreizējai pavedienam.

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

IQ (2. paaudzes) smadzeņu ekrāna ekrānuzņēmums ar baltu tekstu “Cut of” (Izgriezt) un tieši zem tā augšējā kreisajā kvadrantā redzamu sarkanu kvadrātu, kas atspoguļo to, kas ir iespiests klipša apgabalā.

drawPixel#

Uzzīmē vienu pikseli IQ (2. paaudzes) smadzeņu ekrānā atlasītajā x un y pikseļu atrašanās vietā.

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

Parameters

Parametrs

Tips

Apraksts

x

int

X koordināta, kur tiks zīmēts pikselis, norādīta kā vesels skaitlis no 0 līdz 159.

y

int

Y koordināta, kur tiks zīmēts pikselis, norādīta kā vesels skaitlis no 0 līdz 107.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Pikseļi tiek zīmēti, izmantojot pašreizējo pildspalvas krāsu, kas iestatīta ar setPenColor.

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var iestatīt, izmantojot setOrigin.

  • Ja norādītā pikseļa atrašanās vieta atrodas ārpus ekrāna robežām, pikselis netiek zīmēts.

Examples
// Draw one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

IQ Brain ekrāna ekrānuzņēmums ar nelielu baltu punktiņu ekrāna centrā.

drawLine#

Zīmē taisnu līniju, kas savieno divus punktus IQ (2. paaudzes) smadzeņu ekrānā.

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

Parameters

Parametrs

Tips

Apraksts

x1

int

Līnijas sākuma x koordināta, kas norādīta kā vesels skaitlis no 0 līdz 159.

y1

int

Līnijas sākuma y koordināta, kas norādīta kā vesels skaitlis no 0 līdz 107.

x2

int

Līnijas beigu x koordināta, kas norādīta kā vesels skaitlis no 0 līdz 159.

y2

int

Līnijas beigu y koordināta, kas norādīta kā vesels skaitlis no 0 līdz 107.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Līnijas tiek zīmētas, izmantojot pašreizējo pildspalvas krāsu, kas iestatīta ar setPenColor.

  • Līnijas platumu nosaka pašreizējais pildspalvas platums, kas iestatīts ar setPenWidth.

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var iestatīt, izmantojot setOrigin.

  • Ja kāda līnijas daļa atrodas ārpus ekrāna robežām, tiek zīmēta tikai redzamā daļa.

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

IQ Brain ekrāna ekrānuzņēmums ar baltu diagonālu līniju, kas novilkta no augšējā kreisā stūra uz apakšējo labo stūri.

drawRectangle#

Uzzīmē taisnstūri IQ (2. paaudzes) smadzeņu ekrānā norādītajā pozīcijā un izmērā.

Available Functions

1 — Zīmē un aizpilda taisnstūri, izmantojot pašlaik konfigurēto aizpildījuma krāsu.

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

2 — Zīmē un aizpilda taisnstūri, izmantojot iepriekš definētu vai pielāgotu krāsu objektu.

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

3 — Zīmē un aizpilda taisnstūri, izmantojot heksadecimālu krāsas vērtību.

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

4 — Zīmē un aizpilda taisnstūri, izmantojot nokrāsas vērtību.

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

Parameters

Parametrs

Tips

Apraksts

x

int

Taisnstūra augšējā kreisā stūra x koordināta, kas norādīta kā vesels skaitlis no 0 līdz 159.

y

int

Taisnstūra augšējā kreisā stūra y koordināta, kas norādīta kā vesels skaitlis no 0 līdz 107.

width

int

Taisnstūra platums, kas norādīts kā vesels skaitlis no 0 līdz 159.

height

int

Taisnstūra augstums, kas norādīts kā vesels skaitlis no 0 līdz 107.

color

const color&

Aizpilda taisnstūri, izmantojot color objektu. Iepriekš definētās krāsas ietver:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Var izmantot arī pielāgotas krāsas objektu.

color

const char*

Aizpilda taisnstūri, izmantojot heksadecimālu krāsas vērtību (piemēram, “#FF0000”).

hue

int

Aizpilda taisnstūri, izmantojot nokrāsas vērtību diapazonā 0līdz359.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Taisnstūra kontūra tiek zīmēta, izmantojot pašreizējo pildspalvas krāsu, kas iestatīta ar setPenColor.

  • Kontūras biezumu nosaka pašreizējais pildspalvas platums, kas iestatīts ar setPenWidth.

  • Ja nav norādīts parametrs color , taisnstūra iekšpuse tiek aizpildīta, izmantojot pašreizējo aizpildījuma krāsu, kas iestatīta ar setFillColor.

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var mainīt, izmantojot setOrigin.

  • Ja kāda taisnstūra daļa atrodas ārpus ekrāna robežām, tiek zīmēta tikai redzamā daļa.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 240.

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

IQ Brain ekrāna ekrānuzņēmums ar lielu sarkanu taisnstūri ar plānu baltu apmali, kas gandrīz centrēta ekrānā.

drawCircle#

Uzzīmē apli IQ (2. paaudzes) smadzeņu ekrānā norādītajā pozīcijā un rādiusā.

Available Functions

1 — Zīmē un aizpilda apli, izmantojot pašlaik konfigurēto aizpildījuma krāsu.

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

2 — Zīmē un aizpilda apli, izmantojot iepriekš definētu vai pielāgotu krāsu objektu.

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

3 — Zīmē un aizpilda apli, izmantojot heksadecimālu krāsas vērtību.

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

4 — Zīmē un aizpilda apli, izmantojot nokrāsas vērtību.

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

Parameters

Parametrs

Tips

Apraksts

x

int

Apļa centra x koordināta, kas norādīta kā vesels skaitlis no 0 līdz 159.

y

int

Apļa centra y koordināta, kas norādīta kā vesels skaitlis no 0 līdz 107.

radius

int

Apļa rādiuss, kas norādīts kā vesels skaitlis no 0 līdz 107 pikseļiem.

color

const color&

Aizpilda apli, izmantojot color objektu. Iepriekš definētās krāsas ietver:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Var izmantot arī pielāgotas krāsas objektu.

color

const char*

Aizpilda apli, izmantojot heksadecimālu krāsas vērtību (piemēram, “#FF0000”).

hue

int

Aizpilda apli, izmantojot nokrāsas vērtību diapazonā 0līdz359.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Apļa kontūra tiek zīmēta, izmantojot pašreizējo pildspalvas krāsu, kas iestatīta ar setPenColor.

  • Kontūras biezumu nosaka pašreizējais pildspalvas platums, kas iestatīts ar setPenWidth.

  • Ja nav norādīts parametrs color , apļa iekšpuse tiek aizpildīta, izmantojot pašreizējo aizpildījuma krāsu, kas iestatīta ar setFillColor.

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var mainīt, izmantojot setOrigin.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Krāsu aplis, kas parāda krāsu diapazonu no 0 līdz 359, kur sarkana ir 0, zaļa ir 120 un zila ir 240.

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

IQ Brain ekrāna ekrānuzņēmums ar nepārtrauktu zaļu apli ar plānu baltu apmali ekrāna centrā.

drawImageFromFile#

Uzzīmē attēlu IQ (2. paaudzes) smadzeņu ekrānā, izmantojot attēla failu, kas saglabāts SD kartē.

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

Parameters

Parametrs

Tips

Apraksts

name

const char*

Attēla faila nosaukums SD kartē. Failam ir jābūt ar paplašinājumu .bmp vai .png.

x

int

X koordināta pikseļos no 0 līdz 159, kurā tiks zīmēta attēla kreisā mala.

y

int

Y koordināta pikseļos no 0 līdz 107, pie kuras tiks zīmēta attēla augšējā mala.

Return Values

Atgriež Būla vērtību, kas norāda, vai attēls tika veiksmīgi uzzīmēts:

  • true — Attēls tika veiksmīgi ielādēts un uzzīmēts ekrānā.
  • false — Attēlu nevarēja uzzīmēt (piemēram, ja fails neeksistē vai ir nederīgs).

Notes
  • Atbalstītie attēlu formāti ir .bmp un .png.

  • Attēla faila lielums nedrīkst pārsniegt 512 KB

    • Lai samazinātu faila lielumu, ieteicams izmantot 8 bitu RLE kodējumu.

  • Maksimāli atbalstītie attēla izmēri ir Brain ekrāna izmērs (160 x 108 pikseļi).

  • x un y koordinātas ir relatīvas attiecībā pret pašreizējo ekrāna sākumpunktu, ko var mainīt, izmantojot setOrigin.

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

render#

Iespējo dubultu buferizāciju Brain ekrānam. Pēc izsaukšanas visas zīmēšanas funkcijas (piemēram, teksts, formas vai attēli) vairs neparādīsies nekavējoties pārējā projektā. Tā vietā atjauninājumi tiks parādīti tikai tad, kad atkal tiks izmantota render Tas nodrošina vienmērīgākus un kontrolētākus ekrāna atjauninājumus, bet nozīmē, ka nekas nebūs redzams, kamēr netiks izmantota render.

Available Functions

1 — Iespējo dubulto buferizāciju vai atveido aizmugurējo buferi ekrānā.

bool render();

2 — Renderē aizmugurējo buferi ekrānā ar vertikālās sinhronizācijas darbības kontroli un papildu plānotāja izpildi.

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

Parameters

Parametrs

Tips

Apraksts

bVsyncWait

bool

​

  • true — Pirms renderēšanas nogaidīt ekrāna vertikālo atsvaidzinājumu, lai samazinātu vizuālo plīsumu.
  • false — Pirms renderēšanas negaidīt ekrāna vertikālo atsvaidzinājumu.

bRunScheduler

bool

Neobligāti.

  • true (noklusējums) — Ļaut fona uzdevumiem darboties, gaidot renderēšanu.
  • false — Neļaut fona uzdevumiem darboties, gaidot renderēšanu.

Return Values

Atgriež Būla vērtību, kas norāda, vai buferī saglabātie zīmējumi tika veiksmīgi atveidoti ekrānā:

  • true — Zīmējumi tika veiksmīgi atveidoti ekrānā.
  • false — Zīmējumus nevarēja atveidot ekrānā.
  • Notes
    • Izsaucot render , pārējā projekta daļā būs jāizmanto 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();