Scherm#
Invoering#
De klasse screen is afgeleid van de basisklasse brain. Deze klasse bepaalt hoe de V5 Brain tekst, cijfers en afbeeldingen op het touchscreen weergeeft en hoe deze reageert op aanraakinvoer.
Standaard is het lettertype voor afdrukken naar de Brain monospaced small, met 12 rijen en 48 kolommen.
Voor tekenen heeft de Brain een resolutie van 480 x 240 pixels.

Toegang#
De klasse screen is toegankelijk via:
Brain.Screen
Notities#
Het object
screenwordt door de hersenen aangeleverd. Het wordt niet direct geconstrueerd.Projecten gebruiken één globaal
Brainobject, dus schermfuncties worden aangeroepen met behulp vanBrain.Screen.
Voorbeeld#
/* 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!");
Lidfuncties#
De klasse screen bevat de volgende lidfuncties:
print— Drukt opgemaakte tekst, getallen of Booleaanse waarden af op het Brain-scherm.setCursor— Verplaatst de tekstcursor naar een opgegeven rij en kolom.newLine— Maakt de rest van de huidige regel leeg en verplaatst de cursor naar de volgende regel.clearLine— Maakt de rest van de huidige regel leeg of maakt een opgegeven regel leeg.row— Geeft de rij terug waar de tekst zal worden afgedrukt.column— Geeft de kolom terug waar de tekst wordt afgedrukt.getStringHeight— Retourneert de hoogte van een tekenreeks in pixels met behulp van het huidige lettertype.getStringWidth— Retourneert de breedte van een tekenreeks in pixels met behulp van het huidige lettertype.printAt— Drukt opgemaakte tekst af op een x, y pixelpositie.clearScreen— Verwijdert alle tekeningen en tekst van het Brain-scherm.setFont— Stelt het lettertype in dat wordt gebruikt voor afdrukken op het scherm.setPenWidth— Stelt de dikte in van getekende lijnen en vormcontouren.setPenColor— Stelt de kleur in van tekst, pixels, lijnen en vormcontouren.setFillColor— Stelt de vulkleur in voor getekende vormen en achtergronden van afgedrukte tekst.setOrigin— Stelt de oorsprong in die gebruikt wordt voor schermcoördinaten.setClipRegion— Beperkt de schermuitvoer tot een rechthoekig gebied.drawPixel— Tekent één pixel op een coördinaat.drawLine— Tekent een lijn tussen twee punten.drawRectangle— Tekent een rechthoek op een x, y-locatie met een opgegeven grootte.drawCircle— Tekent een cirkel op een x, y-locatie met een opgegeven straal.drawImageFromFile— Tekent een afbeelding van een SD-kaartbestand op het scherm.render— Schakelt dubbele buffering in of geeft de backbuffer weer op het scherm.pressing— Geeft aan of het scherm momenteel wordt ingedrukt.xPosition— Geeft de x-coördinaat van de meest recente schermdruk terug.yPosition— Geeft de y-coördinaat van de meest recente schermdruk terug.pressed— Registreert een callbackfunctie die wordt uitgevoerd wanneer het scherm wordt ingedrukt.released— Registreert een callbackfunctie die wordt uitgevoerd wanneer het scherm wordt losgelaten nadat erop is gedrukt.
Before calling any screen member functions, a brain instance must be created, as shown below:
// Create the V5 Brain
brain Brain = brain();
print#
Geeft tekst, getallen of Booleaanse waarden weer op het V5 Brain-scherm.
Available Functions1 — Drukt opgemaakte tekst af met behulp van tekenreeksliteralen of alleen-lezen C-stijl tekenreeksen.
void print( const char* format, ... );
Parameters2 — Drukt opgemaakte tekst af met behulp van aanpasbare tekenreeksen.
void print( char* format, ... );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een opmaakstring die wordt aangeleverd als een letterlijke tekenreeks of als een alleen-lezen C-stijl tekenreeks (bijvoorbeeld |
|
|
Een opmaakstring die wordt aangeleverd als een aanpasbare tekenreeks. |
|
Een of meer extra waarden die in de opmaakreeks worden ingevoegd, gescheiden door komma’s. |
Deze functie retourneert geen waarde.
NotesDe uitvoer begint bij de huidige cursorpositie (positie op het scherm.
Tekst die met
printwordt afgedrukt, wordt altijd met een achtergrond afgedrukt, en de achtergrondkleur wordt bepaald door de vulkleur.Bij gebruik van een opmaakstring moeten het aantal en de typen van de doorgegeven waarden overeenkomen met de opmaakspecificaties in de string.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Verplaatst de cursor naar een specifieke rij en kolom op het V5 Brain-scherm. De volgende print aanroep zal op die locatie beginnen met afdrukken.
void setCursor(
int32_t row,
int32_t col );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De rij waarnaar de cursor moet worden verplaatst. |
|
|
De kolom waarnaar de cursor moet worden verplaatst. |
Deze functie retourneert geen waarde.
NotesDit heeft invloed op waar de daaropvolgende tekstuitvoer begint bij gebruik van
print.Rijen en kolommen zijn gebaseerd op het momenteel ingestelde schermlettertype.
Het standaardlettertype (
mono20) gebruikt 12 rijen en 48 kolommen.Het aanroepen van
setCursorheeft alleen invloed op de positie van de daaropvolgende tekstuitvoer.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Verplaatst de cursor naar het begin van de volgende rij op het Brain-scherm.
Available Functionsvoid newLine();
Deze functie accepteert geen parameters.
Return ValuesDeze functie retourneert geen waarde.
NotesAls de cursor zich midden in een zin bevindt, zal
newLinede rest van de regel na de cursor wissen voordat naar de volgende regel wordt overgeschakeld.Na het aanroepen van
newLinewordt de cursor op de eerste kolom van de volgende regel geplaatst.De cursorpositie en rijnummering worden ingesteld met behulp van
setCursor.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Verwijdert tekst uit een rij op het V5 Brain-scherm.
Available Functions1 — Verwijdert de rest van de huidige regel vanaf de cursorpositie.
void clearLine();
2 — Maakt de opgegeven rij leeg met de momenteel geconfigureerde vulkleur.
void clearLine( int number );
3 — Maakt de opgegeven rij leeg met behulp van een vooraf gedefinieerd of aangepast kleur object.
void clearLine( int number, const color& color );
4 — Maakt de opgegeven rij leeg met behulp van een hexadecimale kleurwaarde.
void clearLine( int number, const char* color );
Parameters5 — Maakt de opgegeven rij leeg met behulp van een kleurwaarde.
void clearLine( int number, int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Het rijnummer dat moet worden gewist. De rijnummering begint bij |
|
|
Maakt de rij leeg met behulp van een object met kleur
|
|
|
Maakt de rij leeg met behulp van een hexadecimale kleurwaarde (bijvoorbeeld |
|
|
Maakt de rij leeg met behulp van een integer tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesHet wissen van een regel verandert de huidige cursorpositie niet.
De cursorpositie en rijnummering worden ingesteld met behulp van
setCursor.De parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 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#
Geeft de regel terug waar de tekst op het V5 Brain-scherm wordt afgedrukt.
Available Functionsint32_t row();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een int32_t die de regel vertegenwoordigt waar de tekst moet worden afgedrukt.
De rijnummering begint bij 1.
NotesDe cursorpositie is gebaseerd op het huidige schermlettertype .
De geretourneerde waarde geeft aan waar de volgende afgedrukte uitvoer zal verschijnen.
De rijwaarde verandert wanneer tekst wordt afgedrukt of wanneer
setCursorwordt aangeroepen.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Geeft de kolom terug waarin de tekst op het V5 Brain-scherm wordt afgedrukt.
Available Functionsint32_t column();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een int32_t die de kolom vertegenwoordigt waar de tekst moet worden afgedrukt.
De kolomnummering begint bij 1.
NotesDe cursorpositie is gebaseerd op het huidige schermlettertype .
De geretourneerde waarde geeft aan waar de volgende afgedrukte uitvoer zal verschijnen.
De kolomwaarde verandert wanneer tekst wordt afgedrukt of wanneer
setCursorwordt aangeroepen.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Geeft de hoogte in pixels weer van een tekenreeks wanneer deze wordt weergegeven op het V5 Brain-scherm.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De te meten tekst, aangeleverd als een C-stijl tekenreeks (bijvoorbeeld |
Retourneert een int32_t die de hoogte van de tekenreeks in pixels weergeeft wanneer deze op het Brain-scherm wordt weergegeven.
De geretourneerde hoogte is afhankelijk van momenteel geselecteerde schermlettertype.
Deze functie meet de tekenreeks zonder deze op het scherm weer te geven.
De geretourneerde hoogte geeft weer hoe de tekenreeks eruit zou zien wanneer deze wordt afgedrukt.
getStringWidth#
Geeft de breedte in pixels weer van een tekenreeks wanneer deze wordt weergegeven op het V5 Brain-scherm.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De te meten tekst, aangeleverd als een C-stijl tekenreeks (bijvoorbeeld |
Retourneert een int32_t die de breedte van de tekenreeks in pixels weergeeft wanneer deze op het Brain-scherm wordt weergegeven.
De geretourneerde breedte is afhankelijk van momenteel geselecteerde schermlettertype.
Deze functie meet de tekenreeks zonder deze op het scherm weer te geven.
De geretourneerde breedte geeft aan hoe de tekenreeks eruit zou zien wanneer deze wordt afgedrukt.
printAt#
Hiermee worden tekst, getallen of Booleaanse waarden afgedrukt op een specifieke coördinaat op het V5 Brain-scherm.
Available Functions1 — Drukt de geformatteerde uitvoer af op de opgegeven pixelpositie.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Drukt opgemaakte uitvoer af op de opgegeven pixelpositie en stelt in of de tekstachtergrond ondoorzichtig of transparant is.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-positie waarop afgedrukt moet worden, ten opzichte van de oorsprong van het scherm. |
|
|
De y-positie waarop afgedrukt moet worden, ten opzichte van de schermoorsprong. |
|
|
Hiermee wordt bepaald of de afgedrukte tekst dekkend of transparant wordt weergegeven:
|
|
|
Een opmaakstring die bepaalt wat er op het scherm wordt afgedrukt (bijvoorbeeld |
|
Een of meer extra waarden die in de opmaakreeks worden ingevoegd, gescheiden door komma’s. |
Deze functie retourneert geen waarde.
NotesDe coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp vansetOrigin.Bij gebruik van een opmaakstring moeten het aantal en de typen van de doorgegeven waarden overeenkomen met de opmaakspecificaties in de string.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Verwijdert alle tekeningen en tekst van het Brain-scherm en zet de cursorpositie terug naar rij 1, kolom 1.
Available Functions1 — Maakt het scherm zwart.
void clearScreen();
2 — Maakt het scherm leeg met behulp van een vooraf gedefinieerd of aangepast kleur object.
void clearScreen( const color& color );
3 — Maakt het scherm leeg met behulp van een hexadecimale kleurwaarde.
void clearScreen( const char* color );
Parameters4 — Maakt het scherm schoon met behulp van een kleurwaarde.
void clearScreen( int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Maakt het scherm leeg met behulp van een object met kleur
|
|
|
Maakt het scherm leeg met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld |
|
|
Maakt het scherm leeg met behulp van een integer tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesDe parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 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#
Hiermee wordt het lettertype ingesteld dat wordt gebruikt voor de tekst die op het V5 Brain-scherm wordt weergegeven.
Dit bepaalt het lettertype dat wordt toegepast op de daaropvolgende tekstuitvoer bij gebruik van schermtekstfuncties zoals print.
void setFont(
fontType font );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Stelt het lettertype in op een van de volgende:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Deze functie retourneert geen waarde.
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#
Hiermee stelt u de dikte van getekende lijnen en vormcontouren in.
Available Functionsvoid setPenWidth(
uint32_t width );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De penbreedte, in pixels, van 0 tot 32. |
Deze functie retourneert geen waarde.
NotesDe penbreedte is van toepassing op tekenfuncties zoals
drawLine,drawRectangle, endrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Hiermee kunt u de kleur van tekst, pixels, lijnen en vormcontouren instellen.
Available Functions1 — Stelt de penkleur in met behulp van een vooraf gedefinieerd of aangepast kleur object.
void setPenColor( const color& color );
2 — Stelt de penkleur in met behulp van een hexadecimale kleurwaarde.
void setPenColor( const char* color );
Parameters3 — Stelt de penkleur in met behulp van een tintwaarde.
void setPenColor( int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Stelt de penkleur in met behulp van een object met kleur
|
|
|
Hiermee wordt de penkleur ingesteld met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld |
|
|
Hiermee wordt de penkleur ingesteld met een integer tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesDe standaard penkleur aan het begin van een project is
white.De penkleur wordt gebruikt voor de contouren van vormen (zoals met
drawCircleofdrawRectangle), tekst en numerieke uitvoer (metprintenprintAt), en individuele pixels getekend metdrawPixel.De parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 240°).

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

setFillColor#
Hiermee wordt de opvulkleur ingesteld die wordt gebruikt bij het tekenen van vormen.
Available Functions1 — Stelt de vulkleur in met behulp van een vooraf gedefinieerd of aangepast kleur object.
void setFillColor( const color& color );
2 — Stelt de vulkleur in met behulp van een hexadecimale kleurwaarde.
void setFillColor( const char* color );
Parameters3 — Stelt de vulkleur in met behulp van een tintwaarde.
void setFillColor( int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Stelt de vulkleur in met behulp van een object met kleurcode
|
|
|
Hiermee wordt de vulkleur ingesteld met behulp van een hexadecimale kleurwaarde die als tekenreeks wordt weergegeven (bijvoorbeeld |
|
|
Hiermee wordt de vulkleur ingesteld met een integer tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesDe standaard vulkleur aan het begin van een project is
black.De vulkleur wordt gebruikt voor de binnenkant van vormen (zoals bij
drawCircleofdrawRectangle).De vulkleur wordt gebruikt als achtergrondkleur voor afgedrukte tekst (zoals bij
printenprintAt).Als
transparentwordt gebruikt met gedrukte tekst, zal de achtergrondblackzijn.
De parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 240°).

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

setOrigin#
Hiermee wordt het nulpunt ingesteld dat wordt gebruikt voor tekenen en coördinatengebaseerd printen op het Brain-scherm.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-positie van de oorsprong ten opzichte van de linkerbovenhoek van het Brain-scherm, van 0 tot 479. |
|
|
De y-positie van de oorsprong ten opzichte van de linkerbovenhoek van het Brain-scherm, van 0 tot 239. |
Deze functie retourneert geen waarde.
NotesDe standaard oorsprong is de linkerbovenhoek van het scherm op coördinaat (0, 0).
De oorsprong is van toepassing op coördinaatfuncties zoals
drawLine,drawRectangle,drawCircle, enprintAt.De oorsprong blijft van kracht totdat deze opnieuw wordt gewijzigd of het project wordt gereset.
setClipRegion#
Hiermee wordt een rechthoekig gebied op het scherm gedefinieerd waarbinnen alle tekeningen en tekst worden weergegeven. Inhoud buiten dit gebied wordt niet getoond.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal van 0 tot 479. |
|
|
De y-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal van 0 tot 239. |
|
|
De breedte van het knipgebied in pixels, weergegeven als een geheel getal van 0 tot 479. |
|
|
De hoogte van het knipgebied in pixels, weergegeven als een geheel getal van 0 tot 239. |
Deze functie retourneert geen waarde.
NotesTekenfuncties worden nog steeds uitgevoerd, zelfs als ze buiten het knipgebied vallen, maar alleen het gedeelte binnen het gebied is zichtbaar.
De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp vansetOrigin.Het knipgebied is alleen van toepassing op de huidige thread.
Door een nieuw knipgebied in te stellen, wordt elk eerder ingesteld knipgebied voor de huidige thread vervangen.
// 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#
Tekent één pixel op het V5 Brain-scherm op de geselecteerde x- en y-pixelpositie.
Available Functionsvoid drawPixel(
int x,
int y );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 479. |
|
|
De y-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 239. |
Deze functie retourneert geen waarde.
NotesPixels worden getekend met behulp van de huidige penkleur die is ingesteld met
setPenColor.De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden ingesteld met behulp vansetOrigin.Als de opgegeven pixelpositie buiten de schermgrenzen ligt, wordt de pixel niet getekend.
// 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#
Tekent een rechte lijn die twee punten op het V5 Brain-scherm verbindt.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De startcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 479. |
|
|
De begincoördinaat van de lijn op de y-as, gegeven als een geheel getal van 0 tot 239. |
|
|
De eindcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 479. |
|
|
De eind-y-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 239. |
Deze functie retourneert geen waarde.
NotesLijnen worden getekend met de huidige penkleur die is ingesteld met
setPenColor.De breedte van de lijn wordt bepaald door de huidige penbreedte die is ingesteld met
setPenWidth.De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden ingesteld met behulp vansetOrigin.Als een gedeelte van de lijn buiten de schermgrenzen valt, wordt alleen het zichtbare gedeelte getekend.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Tekent een rechthoek op het V5 Brain-scherm op de opgegeven positie en met de opgegeven afmetingen.
Available Functions1 — Tekent en vult een rechthoek met de momenteel geconfigureerde vulkleur.
void drawRectangle( int x, int y, int width, int height );
2 — Tekent en vult een rechthoek met behulp van een vooraf gedefinieerd of aangepast kleur object.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Tekent en vult een rechthoek met een hexadecimale kleurwaarde.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Tekent en vult een rechthoek met behulp van een kleurwaarde.
void drawRectangle( int x, int y, int width, int height, int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 479. |
|
|
De y-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 239. |
|
|
De breedte van de rechthoek, gegeven als een geheel getal van 0 tot 479. |
|
|
De hoogte van de rechthoek, gegeven als een geheel getal van 0 tot 239. |
|
|
Vult de rechthoek met een object met kleur
|
|
|
Vult de rechthoek met een hexadecimale kleurwaarde (bijvoorbeeld |
|
|
Vult de rechthoek met een tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesDe omtrek van de rechthoek wordt getekend met de huidige penkleur die is ingesteld met
setPenColor.De dikte van de omtreklijn wordt bepaald door de huidige penbreedte die is ingesteld met
setPenWidth.Als er geen
colorparameter wordt opgegeven, wordt het binnenste van de rechthoek gevuld met de huidige vulkleur die is ingesteld metsetFillColor.De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp vansetOrigin.Als een deel van de rechthoek buiten de schermgrenzen valt, wordt alleen het zichtbare deel getekend.
De parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 240°).

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

drawCircle#
Tekent een cirkel op het V5 Brain-scherm op de opgegeven positie en met de opgegeven straal.
Available Functions1 — Tekent en vult een cirkel met de momenteel geconfigureerde vulkleur.
void drawCircle( int x, int y, int radius );
2 — Tekent en vult een cirkel met behulp van een vooraf gedefinieerd of aangepast kleur object.
void drawCircle( int x, int y, int radius, const color& color );
3 — Tekent en vult een cirkel met behulp van een hexadecimale kleurwaarde.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Tekent en vult een cirkel met behulp van een kleurwaarde.
void drawCircle( int x, int y, int radius, int hue );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De x-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 479. |
|
|
De y-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 239. |
|
|
De straal van de cirkel, gegeven als een geheel getal van 0 tot 239 pixels. |
|
|
Vult de cirkel met een object met kleur
|
|
|
Vult de cirkel met een hexadecimale kleurwaarde (bijvoorbeeld |
|
|
Vult de cirkel met een tintwaarde in het bereik |
Deze functie retourneert geen waarde.
NotesDe omtrek van de cirkel wordt getekend met de huidige penkleur die is ingesteld met
setPenColor.De dikte van de omtreklijn wordt bepaald door de huidige penbreedte die is ingesteld met
setPenWidth.Als er geen parameter
colorwordt opgegeven, wordt de binnenkant van de cirkel gevuld met de huidige vulkleur die is ingesteld metsetFillColor.De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp vansetOrigin.De parameterwaarde
hueis gebaseerd op een cirkelvormig kleurenwiel, zoals hieronder weergegeven, waarbij de waarden graden rond het wiel vertegenwoordigen (bijvoorbeeld rood in de buurt van 0°, groen in de buurt van 120° en blauw in de buurt van 240°).

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

drawImageFromFile#
Tekent een afbeelding op het V5 Brain-scherm met behulp van een afbeeldingsbestand dat is opgeslagen op de SD-kaart.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De bestandsnaam van de afbeelding op de SD-kaart. Het bestand moet de extensie .bmp hebben |
|
|
De x-coördinaat, in pixels van 0 tot 479, waar de linkerrand van de afbeelding wordt getekend. |
|
|
De y-coördinaat, in pixels van 0 tot 239, waarop de bovenrand van de afbeelding wordt getekend. |
Retourneert een Booleaanse waarde die aangeeft of de afbeelding succesvol is getekend:
true— De afbeelding is succesvol geladen en op het scherm getekend.false— De afbeelding kon niet worden getekend (bijvoorbeeld als het bestand niet bestaat of ongeldig is).
Ondersteunde afbeeldingsformaten zijn
.bmpen.png.The image file size must not exceed
512 KB.Om de bestandsgrootte te minimaliseren, wordt 8-bits RLE-codering aanbevolen.
De maximaal ondersteunde afmetingen van afbeeldingen zijn gelijk aan de grootte van het Brain-scherm (ongeveer 479 x 239 pixels).
De coördinaten
xenyzijn relatief ten opzichte van de huidige schermoorsprong, die kan worden gewijzigd met behulp vansetOrigin.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Schakelt dubbele buffering in voor het scherm van de Brain. Zodra deze functie is aangeroepen, zullen tekenfuncties (zoals tekst, vormen of afbeeldingen) niet langer direct verschijnen gedurende de rest van het project. In plaats daarvan worden updates pas weergegeven wanneer render opnieuw wordt gebruikt. Dit zorgt voor vloeiendere en meer gecontroleerde schermupdates, maar betekent wel dat er niets zichtbaar zal zijn totdat render wordt gebruikt.
1 — Schakelt dubbele buffering in of geeft de backbuffer weer op het scherm.
bool render();
Parameters2 — Geeft de backbuffer weer op het scherm, met controle over het verticale synchronisatiegedrag en optionele uitvoering van de scheduler.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
|
|
|
Optioneel.
|
Retourneert een Booleaanse waarde die aangeeft of de opgeslagen tekeningen in de buffer succesvol op het scherm zijn weergegeven:
true— De tekeningen zijn succesvol op het scherm weergegeven.false— De tekeningen konden niet op het scherm worden weergegeven.
Notes
Als je
renderaanroept, moet jerendergebruiken voor de rest van het project.
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#
Geeft aan of het V5 Brain-scherm momenteel wordt ingedrukt.
Available Functionsbool pressing();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een Booleaanse waarde die de huidige ingedrukte status van het scherm aangeeft:true — Het scherm wordt momenteel ingedrukt. of false — Het scherm wordt niet ingedrukt.
// 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#
Geeft de x-coördinaat terug van de laatste druk op het V5 Brain-scherm.
Available Functionsint32_t xPosition();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een int32_t die de x-coördinaat, in pixels van 0 tot 479, van de laatst aangeraakte schermtoets vertegenwoordigt.
// 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#
Geeft de y-coördinaat terug van de laatste aanraking op het V5 Brain-scherm.
Available Functionsint32_t yPosition();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een int32_t die de y-coördinaat, in pixels van 0 tot 239, van de laatst aangeraakte schermtoets vertegenwoordigt.
// 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#
Registreert een functie die moet worden aangeroepen wanneer op het V5 Brain-scherm wordt gedrukt.
Available Functions1 — Roept een functie aan wanneer het scherm wordt ingedrukt.
void pressed( void (*callback)(void) );
Parameters2 — Roept een functie aan wanneer het scherm wordt ingedrukt en geeft een door de gebruiker gedefinieerd argument door aan de callbackfunctie.
void pressed( void (*callback)(void*), void* arg );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt aangeroepen wanneer er op het scherm wordt gedrukt. |
|
|
Een functie die wordt aangeroepen wanneer op het scherm wordt gedrukt en een door de gebruiker gedefinieerd argument ontvangt. |
|
|
Een door de gebruiker gedefinieerde waarde die wordt doorgegeven aan de callbackfunctie wanneer op het scherm wordt gedrukt. |
Deze functie retourneert geen waarde.
NotesDe callbackfunctie wordt uitgevoerd telkens wanneer er op het Brain-scherm wordt gedrukt.
Er kan slechts één callbackfunctie tegelijk worden geregistreerd; het opnieuw aanroepen van
pressedvervangt de vorige callback.De callbackfunctie moet
voidretourneren.
Definieer de callbackfunctie (buiten
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); }Registreer de callback binnen
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#
Registreert een functie die moet worden aangeroepen wanneer het V5 Brain-scherm wordt losgelaten nadat erop is gedrukt.
Available Functions1 — Roept een functie aan wanneer het scherm wordt losgelaten nadat erop is gedrukt.
void released( void (*callback)(void) );
Parameters2 — Roept een functie aan wanneer het scherm wordt losgelaten nadat erop is gedrukt en geeft een door de gebruiker gedefinieerd argument door aan de callbackfunctie.
void released( void (*callback)(void*), void* arg );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt aangeroepen wanneer het scherm wordt losgelaten nadat erop is gedrukt. |
|
|
Een functie die wordt aangeroepen wanneer het scherm wordt losgelaten na te zijn ingedrukt en die een door de gebruiker gedefinieerd argument ontvangt. |
|
|
Een door de gebruiker gedefinieerde waarde die wordt doorgegeven aan de callbackfunctie wanneer het scherm wordt losgelaten na te zijn ingedrukt. |
Deze functie retourneert geen waarde.
NotesDe callback-functie wordt elke keer uitgevoerd wanneer het Brain-scherm wordt losgelaten nadat erop is gedrukt.
Er kan slechts één callbackfunctie tegelijk worden geregistreerd; het aanroepen van
releasedopnieuw wordt vrijgegeven, vervangt de vorige callback.De callbackfunctie moet
voidretourneren.
Definieer de callbackfunctie (buiten
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); }Registreer de callback binnen
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); } }










