Skärm#

Introduktion#

Klassen screen härleds från basklassen brain. Den styr hur IQ-hjärnan (1:a generationen) visar text och värden på sin inbyggda skärm.

IQ (1:a generationen) hjärnskärm stöder upp till 5 rader och 21 kolumner text.

VEX IQ (1:a generationen) Brain med ett numrerat rutnät (kolumner 1–21 och rader 1–5). Röda linjer markerar rutnätsstrukturen, med pilar som markerar kolumn 1, kolumn 21, rad 1, rad 2 och rad 5. Den första raden visar siffrorna 1 till 21 överst.

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.

  • render — Aktiverar dubbel buffring eller renderar bakåtbufferten till skärmen.

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-hjärnskärmen (1:a generationen).

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

setCursor#

Flyttar markören till en specifik rad och kolumn på IQ (1: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.

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

Examples
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

IQ (1:a generationens) hjärnskärm visar centrerad text som läser "VEXcode!".

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("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

IQ (1:a generationens) hjärnskärm visar "Första meddelandet" och "Andra meddelandet", visas på separata rader.

clearLine#

Tar bort text från en rad på IQ (1:a generationen) hjärnskä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 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.

  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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 den aktuella positionen för markörraden på IQ (1:a generationen) hjärnskä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, 12);
Brain.Screen.print("row: ", Brain.Screen.row());

column#

Returnerar kolumnen där texten ska skrivas ut på IQ (1:a generationen) hjärnskä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.print("column: ", Brain.Screen.column());

getStringHeight#

Returnerar höjden, i pixlar, på en sträng när den renderas på IQ (1: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 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å IQ (1: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 (1: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);

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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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

setFont#

Ställer in teckensnittet som används för text som visas på IQ (1: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.

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

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

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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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

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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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

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

drawPixel#

Ritar en enda pixel på IQ (1:a generationen) hjärnskärmen vid den angivna 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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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

drawLine#

Ritar en rak linje som förbinder två punkter på IQ-hjärnskärmen (1: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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

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

drawRectangle#

Ritar en rektangel på IQ-hjärnskärmen (1: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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

  • Konturtjockleken 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 ändras med setOrigin.

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

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

drawCircle#

Ritar en cirkel på IQ (1: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
  • IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.

  • Konturtjockleken 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 ändras med setOrigin.

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

render#

Enables double buffering for the Brain’s screen. Once called, any drawing functions (like text or shapes) will no longer appear immediately for the rest of the project. Instead, updates will only be shown when render is used again. This allows for smoother and more controlled screen updates, but means nothing will be visible until render is used.

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