Skärm#

Introduktion#

Klassen screen härleds från basklassen brain. Den styr hur EXP Brain visar text, siffror och grafik på skärmen.

EXP Brains skärm har ett visst antal rader och kolumner som ska användas vid utskrift av text på skärmen.

Som standard är teckensnittet för utskrift till Brain mono20 vilket har 7 rader och 20 kolumner.

För ritning är hjärnans upplösning 159 x 107 pixlar.

Ett märkt rutnätsdiagram av VEX Brain-skärmen som visar rader, kolumner, pixeldimensioner och koordinater, med röda linjer som konturerar rutnätet.

Tillträde#

Klassen screen kan nås genom:

Brain.Screen

Anteckningar#

  • Objektet screen tillhandahålls av hjärnan. Det är inte konstruerat direkt.

  • Projekt använder ett enda globalt Brain objekt, så skärmfunktioner anropas med Brain.Screen.

Exempel#

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

Medlemsfunktioner#

Klassen screen innehåller följande medlemsfunktioner:

  • print — Skriver ut formaterad text, siffror eller booleska värden till hjärnskärmen.

  • setCursor — Flyttar textmarkören till en angiven rad och kolumn.

  • newLine — Rensar resten av den aktuella raden och flyttar markören till nästa rad.

  • clearLine — Rensar resten av den aktuella raden eller rensar en angiven rad.

  • row — Returnerar raden där texten ska skrivas ut.

  • column — Returnerar kolumnen där texten ska skrivas ut.

  • getStringHeight — Returnerar höjden på en sträng i pixlar med det aktuella teckensnittet.

  • getStringWidth — Returnerar bredden på en sträng i pixlar med det aktuella teckensnittet.

  • printAt — Skriver ut formaterad text på en x-, y-pixelposition (valfritt ogenomskinlig).

  • clearScreen — Rensar hela skärmen (valfritt till en specificerad färg).

  • setFont — Anger vilket teckensnitt som används för utskrift på skärmen.

  • setPenWidth — Anger tjockleken på ritade linjer och formens konturer.

  • setPenColor — Ställer in färgen på text, pixlar, linjer och konturer.

  • setFillColor — Ställer in fyllningsfärgen för ritade former och utskrivna textbakgrunder.

  • setOrigin — Anger origo som används för skärmkoordinater.

  • setClipRegion — Begränsar skärmutdata till ett rektangulärt område.

  • drawPixel — Ritar en pixel vid en koordinat.

  • drawLine — Ritar en linje mellan två punkter.

  • drawRectangle — Ritar en rektangel vid en x-, y-position med en angiven storlek.

  • drawCircle — Ritar en cirkel vid en x-, y-position med en angiven radie.

  • drawImageFromFile — Ritar en bild från en SD-kortfil till skärmen.

  • render — Aktiverar dubbel buffring eller renderar bakbufferten till skärmen.

Innan några screen medlemsfunktioner anropas måste en brain instans skapas, som visas nedan:

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

print#

Visar text, siffror eller booleska värden på EXP Brain-skärmen.

Available Functions

1 — Skriver ut formaterad text med hjälp av stränglitteraler eller skrivskyddade strängar i C-stil.

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

2 — Skriver ut formaterad text med hjälp av modifierbara teckenuppsättningar.

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

Parameters

Parameter

Typ

Beskrivning

format

const char*

En formatsträng som anges som en stränglitteral eller skrivskyddad C-sträng (till exempel “Score: %d”).

format

char*

En formatsträng som tillhandahålls som en modifierbar teckenmatris.

…

Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Output begins at the current cursor position on the screen.

  • Utskriven text använder det aktuella skärmteckensnittet

  • Tryckt text använder den aktuella pennfärgen

  • Text som skrivs ut med print skrivs alltid ut med en bakgrund, och bakgrundsfärgen bestäms av den aktuella fyllningsfärgen.

  • När en formatsträng används måste antalet och typerna av värden som skickas matcha formatspecificerare i strängen.

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

En skärmdump av EXP-hjärnan som visar Hello, Robot! tryckt på skärmen i det övre vänstra hörnet med vit text.

setCursor#

Flyttar markören till en specifik rad och kolumn på EXP Brain-skärmen. Nästa print anrop börjar skriva ut på den platsen.

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

Parameters

Parameter

Typ

Beskrivning

row

int32_t

Raden att flytta markören till.

col

int32_t

Kolumnen att flytta markören till.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Påverkar var efterföljande textutmatning börjar när print används.

  • Rader och kolumner baseras på nuvarande inställt skärmteckensnitt.

  • Standardteckensnittet (mono20) använder 12 rader och 48 kolumner.

  • Att anropa setCursor påverkar endast positionen för efterföljande textutmatning.

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

En skärmdump av EXP-hjärnan som visar rad 3 kolumn 12 tryckt i den övre delen nära mitten av skärmen, på den positionen.

newLine#

Flyttar markören till början av nästa rad på hjärnskärmen.

Available Functions
void newLine();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Om markören är mitt i en mening, kommer newLine att rensa resten av raden efter markören innan nästa rad flyttas.

  • Efter att ha anropat newLineplaceras markören vid den första kolumnen på nästa rad.

  • Markörposition och radnumrering ställs in med setCursor.

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

En skärmdump av EXP Brain-skärmen som visar två rader vit text i det övre vänstra hörnet. Den översta raden är rad 1 och den andra raden direkt under är rad 2.

clearLine#

Rensar text från en rad på EXP Brain-skärmen.

Available Functions

1 — Tar bort resten av den aktuella raden från markörens position.

void clearLine();

2 — Rensar den angivna raden med den för närvarande konfigurerade fyllningsfärgen.

void clearLine(
    int number );

3 — Rensar den angivna raden med ett fördefinierat objekt eller ett anpassad färg-objekt.

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

4 — Rensar den angivna raden med ett hexadecimalt färgvärde.

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

5 — Rensar den angivna raden med ett nyansvärde.

void clearLine(
    int number,
    int hue );

Parameters

Parameter

Typ

Beskrivning

number

int

Radnumret som ska rensas. Radnumreringen börjar på 1.

color

const color&

Rensar raden med ett objekt med color färg. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Rensar raden med ett hexadecimalt färgvärde (till exempel “#000000”).

hue

int

Rensar raden med ett heltalsnyansvärde i intervallet 0–359, som representerar grader runt en färgcirkel.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Att radera en rad ändrar inte markörens aktuella position.

  • Markörposition och radnumrering ställs in med setCursor.

  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 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#

Returnerar raden där texten ska skrivas ut på EXP Brain-skärmen.

Available Functions
int32_t row();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar int32_t som representerar raden där texten ska skrivas ut.

Radnumreringen börjar på 1.

Notes
  • Markörens position är baserad på det aktuella skärmteckensnittet

  • Det returnerade värdet anger var nästa utskrivna resultat kommer att visas.

  • Radvärdet ändras när text skrivs ut eller när setCursor anropas.

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

En skärmdump av EXP Brain-skärmen som visar texten 3 i vitt i skärmens övre vänstra kvadrant, vid rad 3 kolumn 10-positionen.

column#

Returnerar kolumnen där texten ska skrivas ut på EXP Brain-skärmen.

Available Functions
int32_t column();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar int32_t som representerar kolumnen där texten ska skrivas ut.

Kolumnnumreringen börjar på 1.

Notes
  • Markörens position är baserad på det aktuella skärmteckensnittet

  • Det returnerade värdet anger var nästa utskrivna resultat kommer att visas.

  • Kolumnvärdet ändras när text skrivs ut eller när setCursor anropas.

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

En skärmdump av EXP Brain-skärmen som visar texten 10 i vitt i skärmens övre vänstra kvadrant, vid rad 3 kolumn 10-positionen.

getStringHeight#

Returnerar höjden, i pixlar, på en sträng när den renderas på EXP Brain-skärmen.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parameter

Typ

Beskrivning

cstr

const char*

Texten som ska mätas, angiven som en C-stilsträng (till exempel “Hello”).

Return Values

Returnerar ett int32_t som representerar strängens höjd i pixlar när den renderas på hjärnskärmen.

Notes
  • Den returnerade höjden beror på det för närvarande valda skärmteckensnittet

  • Den här funktionen mäter strängen utan att rita den på skärmen.

  • Den returnerade höjden återspeglar hur strängen skulle se ut när den skrivs ut.

getStringWidth#

Returnerar bredden, i pixlar, på en sträng när den renderas på EXP Brain-skärmen.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parameter

Typ

Beskrivning

cstr

const char*

Texten som ska mätas, angiven som en C-stilsträng (till exempel “Hello”).

Return Values

Returnerar ett int32_t som representerar strängens bredd i pixlar när den renderas på hjärnskärmen.

Notes
  • Den returnerade bredden beror på för närvarande valda.

  • Den här funktionen mäter strängen utan att rita den på skärmen.

  • Den returnerade bredden återspeglar hur strängen skulle se ut när den skrivs ut.

printAt#

Skriver ut text, siffror eller booleska värden vid en specifik koordinat på EXP Brain-skärmen.

Available Functions

1 — Skriver ut formaterad utdata på den angivna pixelplatsen.

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

2 — Skriver ut formaterad utdata vid den angivna pixelplatsen och anger om textbakgrunden är ogenomskinlig eller transparent.

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

Parameters

Parameter

Typ

Beskrivning

x

int32_t

X-positionen att skriva ut från, refererad till skärmens origo.

y

int32_t

Y-positionen att skriva ut från, refererad till skärmens origo.

bOpaque

bool

Styr om den utskrivna texten ritas ogenomskinligt eller transparent:

  • true — Bakgrunden till den utskrivna texten fylls med aktuell fyllningsfärg.
  • false — Texten ritas transparent och bakgrunden fylls inte.

format

const char*

En formatsträng som styr vad som skrivs ut på skärmen (till exempel “Score: %d”).

…

Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ändras med setOrigin.

  • Utskriven text använder det aktuella skärmteckensnittet

  • Tryckt text använder den aktuella pennfärgen

  • När en formatsträng används måste antalet och typerna av värden som skickas matcha formatspecificerare i strängen.

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

clearScreen#

Raderar alla teckningar och text från hjärnans skärm.

Available Functions

1 — Rensar skärmen till svart.

void clearScreen();

2 — Rensar skärmen med ett fördefinierat eller anpassad färg objekt.

void clearScreen(
    const color& color );

3 — Rensar skärmen med ett hexadecimalt färgvärde.

void clearScreen(
    const char* color );

4 — Rensar skärmen med ett nyansvärde.

void clearScreen(
    int hue );

Parameters

Parameter

Typ

Beskrivning

color

const color&

Rensar skärmen med ett objekt med color färg. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Rensar skärmen med hjälp av ett hexadecimalt färgvärde representerat som en sträng (till exempel “#000000”).

hue

int

Rensar skärmen med ett heltal för nyans i intervallet 0–359, vilket representerar grader runt en färgcirkel.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 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#

Ställer in teckensnittet som används för text som visas på EXP Brain-skärmen.

Detta styr vilket teckensnitt som används för efterföljande textutmatning när skärmtextfunktioner som print används.

Available Functions
void setFont(
  fontType font );

Parameters

Parameter

Typ

Beskrivning

font

fontType

Ställer in teckensnittet till ett av följande:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
Dessa alternativ visas nedan.

Hjärnans screentryckta siffror och bokstäver med teckensnittsstorlek mono12. Den visar A till Ö och alla siffror. Längst ner på skärmen står det 9 rader, 26 kolumner.
mono12

Hjärnans screentryckta siffror och bokstäver med teckensnittsstorlek mono15. Den visar A till T och alla siffror. Längst ner på skärmen står det 7 rader, 22 kolumner.
mono15

Hjärnans screentryckta siffror och bokstäver med teckenstorlek mono20. Den visar A till P och alla siffror. Längst ner på skärmen står det 5 rader, 16 kolumner.
mono20

Hjärnans screentryckta siffror och bokstäver med teckenstorlek mono30. Det visas A till J. Längst ner på skärmen står det R:3 C:10.
mono30

Hjärnans screentryckta siffror och bokstäver med teckensnittsstorlek mono40. Längst ner på skärmen står det R:2 C:8.
mono40

Hjärnans screentryckta siffror och bokstäver med teckensnittet mono 60. Endast MON60 visas.
mono60

Hjärnans screentryckta siffror och bokstäver med teckensnittsstorlek prop 20. Den visar A till W och alla siffror. Längst ner på skärmen står det 5 rader, 16 kolumner.
prop20

Hjärnans screentryckta siffror och bokstäver med teckensnittsstorlek prop 30. Det visas A till P. Längst ner på skärmen står det R:3 C:10.
prop30

Hjärnans screentryckta siffror och bokstäver med teckensnittet prop 40. Längst ner på skärmen står det R:2 C:8.
prop40

Hjärnans screentryckta siffror och bokstäver med teckensnittet prop 60. Endast PROP60 visas.
prop60

Return Values

Den här funktionen returnerar inget värde.

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

En skärmdump av EXP Brain-skärmen som visar vit text som läser VEX i större teckensnitt än standard, i det övre vänstra hörnet.

setPenWidth#

Anger tjockleken på ritade linjer och formens konturer.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parameter

Typ

Beskrivning

width

uint32_t

Pennans bredd i pixlar i intervallet 0 till 32.

Return Values

Den här funktionen returnerar inget värde.

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

En skärmdump av EXP Brain-skärmen som visar en rektangel med tjocka kanter tryckta på vänster sida av skärmen.

setPenColor#

Ställer in pennfärgen som används för att rita linjer, former och text.

Available Functions

1 — Ställer in pennfärgen med ett fördefinierat objekt eller ett anpassad färg objekt.

void setPenColor(
    const color& color );

2 — Ställer in pennfärgen med ett hexadecimalt färgvärde.

void setPenColor(
    const char* color );

3 — Ställer in pennfärgen med hjälp av ett nyansvärde.

void setPenColor(
    int hue );

Parameters

Parameter

Typ

Beskrivning

color

const color&

Ställer in pennfärgen med ett objekt med color färger. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Ställer in pennfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel “#FF0000”).

hue

int

Ställer in pennfärgen med ett heltalsnyansvärde i intervallet 0–359, vilket representerar grader runt en färgcirkel (till exempel är 0 rött, 120 är grönt och 240 är blått).

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Standardpennans färg i början av ett projekt är white.

  • Pennfärgen används för konturer av former (t.ex. med drawCircle eller drawRectangle), text och numerisk utdata (med print och printAt), och individuella pixlar som ritas med drawPixel.

  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 240.

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

En skärmdump av EXP Brain-skärmen som visar en rektangel ritad i orange på vänster sida av skärmen.

setFillColor#

Anger fyllningsfärgen som används när former ritas.

Available Functions

1 — Ställer in fyllningsfärgen med ett fördefinierat objekt eller ett anpassad färg objekt.

void setFillColor(
    const color& color );

2 — Anger fyllningsfärgen med ett hexadecimalt färgvärde.

void setFillColor(
    const char* color );

3 — Ställer in fyllningsfärgen med ett nyansvärde.

void setFillColor(
    int hue );

Parameters

Parameter

Typ

Beskrivning

color

const color&

Ställer in fyllningsfärgen med ett objekt med color färger. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Anger fyllningsfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel “#00FF00”).

hue

int

Ställer in fyllningsfärgen med ett heltal nyansvärde i intervallet 0–359, vilket representerar grader runt en färgcirkel (till exempel är 0 rött, 120 är grönt och 240 är blått).

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Standardfyllningsfärgen i början av ett projekt är black.

  • Fyllningsfärgen används för insidan av former (t.ex. med drawCircle eller drawRectangle).

  • Fyllningsfärgen används som bakgrundsfärg för utskriven text (t.ex. med print och printAt).

    • Om transparent används med tryckt text blir bakgrunden black.

  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 240.

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

En skärmdump av EXP Brain-skärmen som visar en rektangel fylld med lila på vänster sida av skärmen.

setOrigin#

Ställer in origo som används för att rita grafik på hjärnans skärm.

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

Parameters

Parameter

Typ

Beskrivning

x

int32_t

Ursprungs x-position i förhållande till det övre vänstra hörnet av hjärnans skärm från 0 till 159.

y

int32_t

Ursprungs y-positionen i förhållande till det övre vänstra hörnet av hjärnans skärm från 0 till 107.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Standardorigo är skärmens övre vänstra hörn vid koordinaten (0, 0).

  • Ursprunget gäller för koordinatfunktioner som drawLine, drawRectangle, drawCircle och printAt.

  • Ursprunget förblir giltigt tills det ändras igen eller projektet återställs.

setClipRegion#

Definierar ett rektangulärt område på skärmen där alla ritningar och text begränsas. Innehåll utanför detta område visas inte.

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

Parameters

Parameter

Typ

Beskrivning

x

int

X-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 159.

y

int

Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 107.

width

int

Klippområdets bredd i pixlar, angivet som ett heltal från 0 till 159.

height

int

Klippområdets höjd i pixlar, angivet som ett heltal från 0 till 107.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Ritfunktioner körs fortfarande även om de faller utanför klippområdet, men endast delen innanför området är synlig.

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ändras med setOrigin.

  • Klippregionen gäller endast den aktuella tråden.

  • Att ställa in ett nytt klippområde ersätter alla tidigare inställda klippområden för den aktuella tråden.

Examples

drawPixel#

Ritar en pixel på EXP Brain-skärmen vid den valda x- och y-pixelpositionen.

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

Parameters

Parameter

Typ

Beskrivning

x

int

X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 159.

y

int

Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 107.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Pixlar ritas med den aktuella pennfärgen som är inställd med setPenColor.

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ställas in med setOrigin.

  • Om den angivna pixelplatsen ligger utanför skärmens gränser ritas inte pixeln.

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

En skärmdump av EXP Brain-skärmen som visar ett sortiment av pixlar som visar hörnen på en kvadrat nära mitten av skärmen.

drawLine#

Ritar en rak linje som förbinder två punkter på EXP Brain-skärmen.

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

Parameters

Parameter

Typ

Beskrivning

x1

int

Linjens start-x-koordinat, angiven som ett heltal från 0 till 159.

y1

int

Linjens start-y-koordinat, angiven som ett heltal från 0 till 107.

x2

int

Linjens avslutande x-koordinat, angiven som ett heltal från 0 till 159.

y2

int

Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 107.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Linjer ritas med den aktuella pennfärgen som är inställd med setPenColor.

  • Linjens bredd bestäms av den aktuella pennbredden som är inställd med setPenWidth.

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ställas in med setOrigin.

  • Om någon del av linjen ligger utanför skärmens gränser ritas endast den synliga delen.

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

En skärmdump av EXP Brain-skärmen visar en tunn diagonal linje över mitten, från det övre vänstra hörnet till det nedre högra hörnet.

drawRectangle#

Ritar en rektangel på EXP Brain-skärmen vid den angivna positionen och storleken.

Available Functions

1 — Ritar och fyller en rektangel med den för närvarande konfigurerade fyllningsfärgen.

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

2 — Ritar och fyller en rektangel med ett fördefinierat objekt eller ett anpassad färg objekt.

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

3 — Ritar och fyller en rektangel med ett hexadecimalt färgvärde.

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

4 — Ritar och fyller en rektangel med ett nyansvärde.

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

Parameters

Parameter

Typ

Beskrivning

x

int

X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 159.

y

int

Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 107.

width

int

Rektangelns bredd, angiven som ett heltal från 0 till 159.

height

int

Rektangelns höjd, angiven som ett heltal från 0 till 107.

color

const color&

Fyller rektangeln med ett objekt med color färg. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Fyller rektangeln med ett hexadecimalt färgvärde (till exempel “#FF0000”).

hue

int

Fyller rektangeln med ett nyansvärde i intervallet 0–359.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Rektangelns kontur ritas med den aktuella pennfärgen som är inställd med setPenColor.

  • Konturtjockleken bestäms av den aktuella pennbredden som är inställd med setPenWidth.

  • När ingen parameter color anges fylls rektangelns insida med den aktuella fyllningsfärgen som är inställd med setFillColor.

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ändras med setOrigin.

  • Om någon del av rektangeln ligger utanför skärmens gränser ritas endast den synliga delen.

  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 240.

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

En skärmdump av EXP Brains skärm visar en rektangel med en tunn vit kant tryckt i den övre vänstra kvadranten.

drawCircle#

Ritar en cirkel på EXP Brain-skärmen vid den angivna positionen och radien.

Available Functions

1 — Ritar och fyller en cirkel med den för närvarande konfigurerade fyllningsfärgen.

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

2 — Ritar och fyller en cirkel med hjälp av ett fördefinierat eller anpassad färg objekt.

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

3 — Ritar och fyller en cirkel med ett hexadecimalt färgvärde.

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

4 — Ritar och fyller en cirkel med ett nyansvärde.

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

Parameters

Parameter

Typ

Beskrivning

x

int

X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 159.

y

int

Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 107.

radius

int

Cirkelns radie, angiven som ett heltal från 0 till 107 pixlar.

color

const color&

Fyller cirkeln med ett objekt med color färg. Fördefinierade färger inkluderar:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Detta kan också använda ett anpassat färgobjekt.

color

const char*

Fyller cirkeln med ett hexadecimalt färgvärde (till exempel “#FF0000”).

hue

int

Fyller cirkeln med ett nyansvärde i intervallet 0–359.

Return Values

Den här funktionen returnerar inget värde.

Notes
  • Cirkelkonturen ritas med den aktuella pennfärgen som är inställd med setPenColor.

  • Konturtjockleken bestäms av den aktuella pennbredden som är inställd med setPenWidth.

  • När ingen parameter color anges fylls cirkelns insida med den aktuella fyllningsfärgen som är inställd med setFillColor.

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ändras med setOrigin.

  • Parametervärdet hue är baserat på ett cirkulärt färghjul, som visas nedan, där värden representerar grader runt hjulet (till exempel rött nära 0°, grönt nära 120° och blått nära 240°).

En färgcirkel som visar färgskalan från 0 till 359, där rött är 0, grönt är 120 och blått är 240.

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

En skärmdump av EXP Brain-skärmen visar en cirkel med en tunn vit kant ritad i mitten.

drawImageFromFile#

Ritar en bild på EXP Brain-skärmen med hjälp av en bildfil som lagrats på SD-kortet.

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

Parameters

Parameter

Typ

Beskrivning

name

const char*

Filnamnet på bilden på SD-kortet. Filen måste ha filändelsen .bmp eller .png.

x

int

X-koordinaten, i pixlar från 0 till 159, vid vilken bildens vänstra kant kommer att ritas.

y

int

Y-koordinaten, i pixlar från 0 till 107, vid vilken bildens övre kant kommer att ritas.

Return Values

Returnerar ett booleskt värde som anger om bilden ritades:

  • true — Bilden laddades och ritades på skärmen.
  • false — Bilden kunde inte ritas (till exempel om filen inte finns eller är ogiltig).

Notes
  • Bildformat som stöds är .bmp och .png.

  • Bildfilens storlek får inte överstiga 512 KB

    • 8-bitars RLE-kodning rekommenderas för att minimera filstorleken.

  • De maximala bilddimensionerna som stöds är storleken på hjärnskärmen (cirka 159 x 107 pixlar).

  • Koordinaterna x och y är relativa till skärmens aktuella origo, vilket kan ändras med setOrigin.

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

render#

Aktiverar dubbel buffring för hjärnans skärm. När den väl anropats kommer inga ritfunktioner (som text, former eller bilder) att visas omedelbart under resten av projektet. Istället visas uppdateringar bara när rendering render render

Available Functions

1 — Aktiverar dubbel buffring eller återger bakbufferten på skärmen.

bool render();

2 — Renderar bakbufferten till skärmen med kontroll över vertikal synkronisering och valfri schemaläggningskörning.

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

Parameters

Parameter

Typ

Beskrivning

bVsyncWait

bool

​

  • true — Vänta på skärmens vertikala uppdatering innan rendering för att minska visuell tearing.
  • false — Vänta inte på skärmens vertikala uppdatering innan rendering.

bRunScheduler

bool

Valfritt.

  • true (standard) — Tillåt bakgrundsuppgifter att köras medan du väntar på rendering.
  • false — Tillåt inte bakgrundsuppgifter att köras medan du väntar på rendering.

Return Values

Returnerar ett booleskt värde som anger om de sparade ritningarna i bufferten har renderats på skärmen:

  • true — Ritningarna har renderats på skärmen.
  • false — Ritningarna kunde inte renderas på skärmen.
  • Notes
    • Att anropa render kräver att render används för resten av projektet.

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