Skärm#

Introduktion#

Klassen screen härleds från basklassen brain. Den styr hur IQ-hjärnan (2:a generationens) visar text, siffror och grafik på sin inbyggda skärm.

Som standard är teckensnittet för utskrift till Brain monospaced small.

För att rita är hjärnans upplösning 160 x 108 pixlar.

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

  • pressing — Returnerar om skärmen trycks ned för närvarande.

  • xPosition — Returnerar x-koordinaten för det senaste skärmtrycket.

  • yPosition — Returnerar y-koordinaten för det senaste skärmtrycket.

  • pressed — Registrerar en återuppringningsfunktion som körs när skärmen trycks ned.

  • released — Registrerar en återuppringningsfunktion som körs när skärmen släpps efter att ha tryckts ned.

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

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

print#

Visar text, siffror eller booleska värden på IQ (2:a generationen) hjärnskä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 IQ-hjärnan (2:a generationen) 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å IQ (2:a generationen) 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 5 rader och 16 kolumner.

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

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

En skärmdump av IQ-hjärnan (2:a generationen) som visar 25 tryckt längst upp till vänster på 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 IQ (2:a generationens) hjärnskärm 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#

Tar bort text från en rad på IQ (2:a generationen) hjärnskärm.

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 heltal nyansvä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å IQ (2:a generationen) hjärnskärm.

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, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

En skärmdump av IQ (2:a generationen) hjärnskärm som visar textrad 3 i vitt på vänster sida av skärmen, vid rad 3 kolumn 12 position.

column#

Returnerar kolumnen där texten ska skrivas ut på IQ (2:a generationen) hjärnskärm.

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.print("column: ", Brain.Screen.column());

En skärmdump av IQ (2:a generationen) hjärnskärm som visar kolumnen: 9 i vitt högst upp på skärmen, vid rad 1 kolumn 9-positionen.

getStringHeight#

Returnerar höjden, i pixlar, på en sträng när den renderas på IQ (2:a generationen) hjärnskärm.

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 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å IQ (2:a generationen) 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å IQ (2:a generationen) hjärnskä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);

En skärmdump av IQ (2:a generationen) hjärnskärm med vit text som lyder 1, tryckt vid (100, 40).

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 ett hexadecimalt färgvärde representerat som en sträng (till exempel “#000000”).

hue

int

Rensar skärmen med ett heltal för nyansen 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(red);

En skärmdump av IQ (2:a generationen) hjärnskärm med hela det utskrivbara området klarrött.

setFont#

Ställer in teckensnittet som används för text som visas på IQ (2:a generationen) hjärnskärm.

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.

En skärmdump av VEX IQ Brain-skärmen med en serie siffror och bokstäver i teckensnittet Mono 12. Bokstaven AZ finns på en rad och sträcker sig över skärmens bredd. Det nedre vänstra hörnet indikerar 26 tecken bredd och 9 rader.
mono12

Samma skärmdump som den föregående, nu med teckensnittet Mono 15. Bokstäverna AT finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 20 tecken bredd och 7 rader.
mono15

Samma skärmdump som den föregående, nu med teckensnittet Mono 20. Bokstäverna AP finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 16 tecken bredd och 5 rader.
mono20

Samma skärmdump som den föregående, nu med teckensnittet Mono 30. Siffrorna 1 till 9 och en extra 0 finns på en rad och sträcker sig över skärmens bredd. Det nedre vänstra hörnet indikerar 3 rader.
mono30

Samma skärmdump som den föregående, nu med teckensnittet Mono 40. Siffrorna 1 till 8 finns på den andra raden och sträcker sig över hela skärmens bredd.
mono40

Samma skärmdump som den föregående, nu med teckensnittet Mono 60. Skärmen visar MN 60 i stor teckenstorlek och tar upp nästan hela den övre halvan av skärmen.
mono60

Samma skärmdump som den föregående, nu med Prop 20-typsnittet. Bokstäverna AW finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 26 tecken bredd och 5 rader.
prop20

Samma skärmdump som den föregående, nu med Prop 30-typsnittet. Siffrorna 1-9 upprepas två gånger på en rad, över hela skärmens bredd. Det nedre vänstra hörnet indikerar 18 tecken bredd och 3 rader.
prop30

Samma skärmdump som den föregående, nu med Prop 40-typsnittet. Skärmen visar Prop 40 på den översta raden och indikerar 14 tecken och 2 rader på den andra.
prop40

Samma skärmdump som den föregående, nu med teckensnittet Prop 60. Skärmen visar PROP 60 i stor stil och tar upp nästan hela den övre halvan av skärmen.
prop60

Return Values

Den här funktionen returnerar inget värde.

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

En skärmdump av IQ Brain-skärmen med vit text på två rader i det övre vänstra hörnet. Den första raden har texten Mono Medium och den andra raden direkt nedanför har texten Prop Medium i ett mindre teckensnitt.

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, från 0 till 32.

Return Values

Den här funktionen returnerar inget värde.

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

En skärmdump av IQ Brain-skärmen med två vita cirklar tryckta på den nedre halvan av skärmen. Cirkeln till vänster är ritad med en smalare kantlinje än den till höger.

setPenColor#

Anger färgen på text, pixlar, linjer och konturer.

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

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
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

En skärmdump av IQ Brain-skärmen med två små rektanglar ritade på den nedre halvan av skärmen. Rektangeln till vänster är blå och den till höger är vit.

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 värdet color Fördefinierade färger inkluderar:

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

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 circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

En skärmdump av IQ Brain-skärmen med en ljusgul cirkel med en tunn vit kant ritad på vänster halva av skärmen.

setOrigin#

Ställer in origo som används för ritning och koordinatbaserad utskrift på hjärnskärmen.

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ärnskärmen från 0 till 159.

y

int32_t

Ursprungs y-positionen i förhållande till det övre vänstra hörnet av hjärnskärmen 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
// 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!");

En skärmdump av IQ (2:a generationen) Brains skärm med vit text som lyder Cut of med en heldragen röd fyrkant direkt under i den övre vänstra kvadranten, vilket återspeglar vad som skrivs ut i klippområdet.

drawPixel#

Ritar en pixel på IQ (2:a generationen) hjärnskä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 one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

En skärmdump av IQ Brain-skärmen med en liten vit prick i mitten av skärmen.

drawLine#

Ritar en rak linje som förbinder två punkter på IQ-hjärnskärmen (2:a generationen).

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 IQ Brain-skärmen med en vit diagonal linje dragen från det övre vänstra hörnet till det nedre högra hörnet.

drawRectangle#

Ritar en rektangel på IQ-hjärnskärmen (2:a generationen) 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 red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

En skärmdump av IQ Brain-skärmen med en stor röd rektangel med en tunn vit kant ritad nästan centrerad på skärmen.

drawCircle#

Ritar en cirkel på IQ (2:a generationen) hjärnskä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 green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

En skärmdump av IQ Brain-skärmen med en heldragen grön cirkel med en tunn vit kant i mitten av skärmen.

drawImageFromFile#

Ritar en bild på IQ (2:a generationen) hjärnskärm 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 (160 x 108 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();