Skärm#
Introduktion#
Klassen screen är härledd från basklassen brain. Den styr hur V5 Brain visar text, siffror och grafik på pekskärmen, och hur den reagerar på pekinmatning.
Som standard är teckensnittet för utskrift till Brain monospaced small vilket har 12 rader och 48 kolumner.
För att rita är hjärnans upplösning 480 x 240 pixlar.

Tillträde#
Klassen screen kan nås genom:
Brain.Screen
Anteckningar#
Objektet
screentillhandahålls av hjärnan. Det är inte konstruerat direkt.Projekt använder ett enda globalt
Brainobjekt, så skärmfunktioner anropas medBrain.Screen.
Exempel#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 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 vid en x-, y-pixelposition.clearScreen— Tar bort alla teckningar och text från hjärnskärmen.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 V5 Brain
brain Brain = brain();
print#
Visar text, siffror eller booleska värden på V5 Brain-skärmen.
Available Functions1 — Skriver ut formaterad text med hjälp av stränglitteraler eller skrivskyddade strängar i C-stil.
void print( const char* format, ... );
Parameters2 — Skriver ut formaterad text med hjälp av modifierbara teckenuppsättningar.
void print( char* format, ... );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En formatsträng som anges som en stränglitteral eller skrivskyddad C-sträng (till exempel |
|
|
En formatsträng som tillhandahålls som en modifierbar teckenmatris. |
|
Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken. |
Den här funktionen returnerar inget värde.
NotesOutput begins at the current cursor position on the screen.
Text som skrivs ut med
printskrivs 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.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Flyttar markören till en specifik rad och kolumn på V5 Brain-skärmen. Nästa print anrop börjar skriva ut på den platsen.
void setCursor(
int32_t row,
int32_t col );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Raden att flytta markören till. |
|
|
Kolumnen att flytta markören till. |
Den här funktionen returnerar inget värde.
NotesPåverkar var efterföljande textutmatning börjar när
printanvänds.Rader och kolumner baseras på nuvarande inställt skärmteckensnitt.
Standardteckensnittet (
mono20) använder 12 rader och 48 kolumner.Att anropa
setCursorpåverkar endast positionen för efterföljande textutmatning.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Flyttar markören till början av nästa rad på hjärnskärmen.
Available Functionsvoid newLine();
Den här funktionen accepterar inga parametrar.
Return ValuesDen här funktionen returnerar inget värde.
NotesOm markören är mitt i en mening, kommer
newLineatt 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.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Tar bort text från en rad på V5 Brain-skärmen.
Available Functions1 — 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 );
Parameters5 — Rensar den angivna raden med ett nyansvärde.
void clearLine( int number, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Radnumret som ska rensas. Radnumreringen börjar på |
|
|
Rensar raden med ett objekt med
|
|
|
Rensar raden med ett hexadecimalt färgvärde (till exempel |
|
|
Rensar raden med ett heltal nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesAtt 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°).

// 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å V5 Brain-skärmen.
Available Functionsint32_t row();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar raden där texten ska skrivas ut.
Radnumreringen börjar på 1.
NotesMarkö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
setCursoranropas.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Returnerar kolumnen där texten ska skrivas ut på V5 Brain-skärmen.
Available Functionsint32_t column();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar kolumnen där texten ska skrivas ut.
Kolumnnumreringen börjar på 1.
NotesMarkö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
setCursoranropas.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Returnerar höjden, i pixlar, på en sträng när den renderas på V5 Brain-skärmen.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Texten som ska mätas, angiven som en C-stilsträng (till exempel |
Returnerar ett int32_t som representerar strängens höjd i pixlar när den renderas på hjärnskärmen.
getStringWidth#
Returnerar bredden, i pixlar, på en sträng när den renderas på V5 Brain-skärmen.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Texten som ska mätas, angiven som en C-stilsträng (till exempel |
Returnerar ett int32_t som representerar strängens bredd i pixlar när den renderas på hjärnskärmen.
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å V5 Brain-skärmen.
Available Functions1 — Skriver ut formaterad utdata på den angivna pixelplatsen.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — 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, ... );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-positionen att skriva ut från, refererad till skärmens origo. |
|
|
Y-positionen att skriva ut från, refererad till skärmens origo. |
|
|
Styr om den utskrivna texten ritas ogenomskinligt eller transparent:
|
|
|
En formatsträng som styr vad som skrivs ut på skärmen (till exempel |
|
Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken. |
Den här funktionen returnerar inget värde.
NotesKoordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.När en formatsträng används måste antalet och typerna av värden som skickas matcha formatspecificerare i strängen.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Raderar alla teckningar och text från hjärnskärmen och återställer markörens position till rad 1, kolumn 1.
Available Functions1 — 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 );
Parameters4 — Rensar skärmen med ett nyansvärde.
void clearScreen( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Rensar skärmen med ett objekt med
|
|
|
Rensar skärmen med ett hexadecimalt färgvärde representerat som en sträng (till exempel |
|
|
Rensar skärmen med ett heltal för nyans i intervallet |
Den här funktionen returnerar inget värde.
NotesParametervä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°).

// 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å V5 Brain-skärmen.
Detta styr vilket teckensnitt som används för efterföljande textutmatning när skärmtextfunktioner som print används.
void setFont(
fontType font );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Den här funktionen returnerar inget värde.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

setPenWidth#
Anger tjockleken på ritade linjer och formens konturer.
Available Functionsvoid setPenWidth(
uint32_t width );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Pennans bredd, i pixlar, från 0 till 32. |
Den här funktionen returnerar inget värde.
NotesPennbredden gäller för ritfunktioner som
drawLine,drawRectangleochdrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Anger färgen på text, pixlar, linjer och konturer.
Available Functions1 — 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 );
Parameters3 — Ställer in pennfärgen med hjälp av ett nyansvärde.
void setPenColor( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ställer in pennfärgen med ett objekt med
|
|
|
Ställer in pennfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel |
|
|
Ställer in pennfärgen med ett heltalsnyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesStandardpennans färg i början av ett projekt är
white.Pennfärgen används för konturer av former (t.ex. med
drawCircleellerdrawRectangle), text och numerisk utdata (medprintochprintAt), och individuella pixlar som ritas meddrawPixel.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°).

// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setFillColor#
Anger fyllningsfärgen som används när former ritas.
Available Functions1 — 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 );
Parameters3 — Ställer in fyllningsfärgen med ett nyansvärde.
void setFillColor( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ställer in fyllningsfärgen med ett objekt med värdet
|
|
|
Anger fyllningsfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel |
|
|
Ställer in fyllningsfärgen med ett heltal nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesStandardfyllningsfärgen i början av ett projekt är
black.Fyllningsfärgen används för insidan av former (t.ex. med
drawCircleellerdrawRectangle).Fyllningsfärgen används som bakgrundsfärg för utskriven text (t.ex. med
printochprintAt).Om
transparentanvänds med tryckt text blir bakgrundenblack.
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°).

// Draw a rectangle filled with purple
Brain.Screen.setFillColor(purple);
Brain.Screen.drawRectangle(50, 100, 130, 60);

setOrigin#
Ställer in origo som används för ritning och koordinatbaserad utskrift på hjärnskärmen.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ursprungs x-position i förhållande till det övre vänstra hörnet av hjärnskärmen från 0 till 479. |
|
|
Ursprungs y-positionen i förhållande till det övre vänstra hörnet av hjärnskärmen från 0 till 239. |
Den här funktionen returnerar inget värde.
NotesStandardorigo är skärmens övre vänstra hörn vid koordinaten (0, 0).
Ursprunget gäller för koordinatfunktioner som
drawLine,drawRectangle,drawCircleochprintAt.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 Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 479. |
|
|
Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 239. |
|
|
Klippområdets bredd i pixlar, angivet som ett heltal från 0 till 479. |
|
|
Höjden på klippområdet i pixlar, angiven som ett heltal från 0 till 239. |
Den här funktionen returnerar inget värde.
NotesRitfunktioner körs fortfarande även om de faller utanför klippområdet, men endast delen innanför området är synlig.
Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.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.
// 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 pixel på V5 Brain-skärmen vid den valda x- och y-pixelpositionen.
Available Functionsvoid drawPixel(
int x,
int y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 479. |
|
|
Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 239. |
Den här funktionen returnerar inget värde.
NotesPixlar ritas med den aktuella pennfärgen som är inställd med
setPenColor.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ställas in medsetOrigin.Om den angivna pixelplatsen ligger utanför skärmens gränser ritas inte pixeln.
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);
![]()
drawLine#
Ritar en rak linje som förbinder två punkter på V5 Brain-skärmen.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Linjens start-x-koordinat, angiven som ett heltal från 0 till 479. |
|
|
Linjens start-y-koordinat, angiven som ett heltal från 0 till 239. |
|
|
Linjens slutkoordinat x, angiven som ett heltal från 0 till 479. |
|
|
Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 239. |
Den här funktionen returnerar inget värde.
NotesLinjer 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
xochyär relativa till skärmens aktuella origo, vilket kan ställas in medsetOrigin.Om någon del av linjen ligger utanför skärmens gränser ritas endast den synliga delen.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Ritar en rektangel på V5 Brain-skärmen vid den angivna positionen och storleken.
Available Functions1 — 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 );
Parameters4 — Ritar och fyller en rektangel med ett nyansvärde.
void drawRectangle( int x, int y, int width, int height, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 479. |
|
|
Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 239. |
|
|
Rektangelns bredd, angiven som ett heltal från 0 till 479. |
|
|
Rektangelns höjd, angiven som ett heltal från 0 till 239. |
|
|
Fyller rektangeln med ett objekt med
|
|
|
Fyller rektangeln med ett hexadecimalt färgvärde (till exempel |
|
|
Fyller rektangeln med ett nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesRektangelns 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
coloranges fylls rektangelns insida med den aktuella fyllningsfärgen som är inställd medsetFillColor.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.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°).

// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

drawCircle#
Ritar en cirkel på V5 Brain-skärmen vid den angivna positionen och radien.
Available Functions1 — 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 );
Parameters4 — Ritar och fyller en cirkel med ett nyansvärde.
void drawCircle( int x, int y, int radius, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 479. |
|
|
Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 239. |
|
|
Cirkelns radie, angiven som ett heltal från 0 till 239 pixlar. |
|
|
Fyller cirkeln med ett objekt med
|
|
|
Fyller cirkeln med ett hexadecimalt färgvärde (till exempel |
|
|
Fyller cirkeln med ett nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesCirkelkonturen 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
coloranges fylls cirkelns insida med den aktuella fyllningsfärgen som är inställd medsetFillColor.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.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°).

// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

drawImageFromFile#
Ritar en bild på V5 Brain-skärmen med hjälp av en bildfil som är lagrad på SD-kortet.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Filnamnet på bilden på SD-kortet. Filen måste ha filändelsen |
|
|
X-koordinaten, i pixlar från 0 till 479, vid vilken bildens vänstra kant kommer att ritas. |
|
|
Y-koordinaten, i pixlar från 0 till 239, vid vilken bildens övre kant kommer att ritas. |
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).
Bildformat som stöds är
.bmpoch.png.Bildfilens storlek får inte överstiga
512 KB8-bitars RLE-kodning rekommenderas för att minimera filstorleken.
De maximala bilddimensionerna som stöds är storleken på hjärnskärmen (cirka 479 x 239 pixlar).
Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.
// 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
1 — Aktiverar dubbel buffring eller återger bakbufferten på skärmen.
bool render();
Parameters2 — Renderar bakbufferten till skärmen med kontroll över vertikal synkronisering och valfri schemaläggningskörning.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
|
|
|
Valfritt.
|
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
renderkräver attrenderanvänds för resten av projektet.
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();
pressing#
Rapporterar om V5 Brain-skärmen trycks ned för närvarande.
Available Functionsbool pressing();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger skärmens aktuella nedtryckta tillstånd:true — Skärmen trycks för närvarande. eller false — Skärmen trycks inte.
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);
// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();
// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();
xPosition#
Returnerar x-koordinaten för det senaste trycket på V5 Brain-skärmen.
Available Functionsint32_t xPosition();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar x-koordinaten, i pixlar från 0 till 479, för det senaste skärmtrycket.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
yPosition#
Returnerar y-koordinaten för det senaste trycket på V5 Brain-skärmen.
Available Functionsint32_t yPosition();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar y-koordinaten, i pixlar från 0 till 239, för det senaste skärmtrycket.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
pressed#
Registrerar en funktion som ska anropas när V5 Brain-skärmen trycks ned.
Available Functions1 — Anropar en funktion när skärmen trycks ned.
void pressed( void (*callback)(void) );
Parameters2 — Anropar en funktion när skärmen trycks ner och skickar ett användardefinierat argument till återanropsfunktionen.
void pressed( void (*callback)(void*), void* arg );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som anropas när skärmen trycks ned. |
|
|
En funktion som anropas när skärmen trycks ner och tar emot ett användardefinierat argument. |
|
|
Ett användardefinierat värde som skickas till callback-funktionen när skärmen trycks ned. |
Den här funktionen returnerar inget värde.
NotesÅteruppringningsfunktionen körs varje gång hjärnskärmen trycks ned.
Endast en återuppringningsfunktion kan registreras åt gången; om du anropar
pressedigen ersätts den föregående återuppringningen.Återanropsfunktionen måste returnera
void.
Definiera callback-funktionen (utanför
int main())// Tracks how many times the screen is pressed. void onScreenPressed(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Pressed %d times", *count); }Registrera återuppringningen inuti
int main()int main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
Registrerar en funktion som ska anropas när V5 Brain-skärmen släpps efter att ha tryckts ned.
Available Functions1 — Anropar en funktion när skärmen släpps efter att ha tryckts ned.
void released( void (*callback)(void) );
Parameters2 — Anropar en funktion när skärmen släpps efter att ha tryckts ner och skickar ett användardefinierat argument till återanropsfunktionen.
void released( void (*callback)(void*), void* arg );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som anropas när skärmen släpps efter att ha tryckts ned. |
|
|
En funktion som anropas när skärmen släpps efter att ha tryckts ner och tar emot ett användardefinierat argument. |
|
|
Ett användardefinierat värde som skickas till callback-funktionen när skärmen släpps efter att ha tryckts ned. |
Den här funktionen returnerar inget värde.
NotesÅteruppringningsfunktionen körs varje gång hjärnskärmen släpps efter att ha tryckts ned.
Endast en återuppringningsfunktion kan registreras åt gången; om
releasedigen ersätts den föregående återuppringningen.Återanropsfunktionen måste returnera
void.
Definiera callback-funktionen (utanför
int main())// Tracks how many times the screen is released. void onScreenReleased(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Released %d times", *count); }Registrera återuppringningen inuti
int main()int main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










