Écran#
Introduction#
La classe screen est dérivée de la classe de base brain. Elle contrôle la façon dont le V5 Brain affiche le texte, les nombres et les graphiques sur son écran tactile, et la façon dont il réagit aux entrées tactiles.
Par défaut, la police d’impression pour le Cerveau est monospaced small qui comporte 12 lignes et 48 colonnes.
Pour le dessin, la résolution du Cerveau est de 480 x 240 pixels.

Accéder#
La classe screen est accessible par :
Brain.Screen
Notes#
L’objet de l’écran
screenest fourni par le cerveau. Il n’est pas construit directement.Les projets utilisent un seul objet global
Brain, donc les fonctions d’écran sont appelées en utilisantBrain.Screen.
Exemple#
/* 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!");
Fonctions des membres#
La classe screen comprend les fonctions membres suivantes :
print— Affiche du texte formaté, des nombres ou des valeurs booléennes sur l’écran du cerveau.setCursor— Déplace le curseur de texte vers une ligne et une colonne spécifiées.newLine— Efface le reste de la ligne actuelle et déplace le curseur vers la ligne suivante.clearLine— Efface le reste de la ligne actuelle ou efface une ligne spécifiée.row— Renvoie la ligne où le texte sera imprimé.column— Renvoie la colonne dans laquelle le texte sera imprimé.getStringHeight— Renvoie la hauteur d’une chaîne en pixels en utilisant la police actuelle.getStringWidth— Renvoie la largeur d’une chaîne en pixels en utilisant la police actuelle.printAt— Imprime du texte formaté à un emplacement de pixel x, y.clearScreen— Efface tous les dessins et le texte de l’écran Brain.setFont— Définit la police utilisée pour l’impression à l’écran.setPenWidth— Définit l’épaisseur des lignes dessinées et des contours des formes.setPenColor— Définit la couleur du texte, des pixels, des lignes et des contours des formes.setFillColor— Définit la couleur de remplissage des formes dessinées et des arrière-plans de texte imprimés.setOrigin— Définit l’origine utilisée pour les coordonnées de l’écran.setClipRegion— Limite la sortie écran à une région rectangulaire.drawPixel— Dessine un pixel à une coordonnée.drawLine— Trace une ligne entre deux points.drawRectangle— Dessine un rectangle à un emplacement x, y avec une taille spécifiée.drawCircle— Dessine un cercle à un emplacement x, y avec un rayon spécifié.drawImageFromFile— Dessine une image à partir d’un fichier de carte SD sur l’écran.render— Active le double tampon ou affiche le tampon arrière à l’écran.pressing— Renvoie si l’écran est actuellement pressé.xPosition— Renvoie la coordonnée x de l’appui le plus récent sur l’écran.yPosition— Renvoie la coordonnée y de l’appui le plus récent sur l’écran.pressed— Enregistre une fonction de rappel à exécuter lorsque l’écran est pressé.released— Enregistre une fonction de rappel à exécuter lorsque l’écran est relâché après avoir été pressé.
Before calling any screen member functions, a brain instance must be created, as shown below:
// Create the V5 Brain
brain Brain = brain();
print#
Affiche du texte, des nombres ou des valeurs booléennes sur l’écran V5 Brain.
Available Functions1 — Imprime du texte formaté à l’aide de chaînes littérales ou de chaînes de style C en lecture seule.
void print( const char* format, ... );
Parameters2 — Imprime du texte formaté à l’aide de tableaux de caractères modifiables.
void print( char* format, ... );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une chaîne de format fournie sous forme de chaîne littérale ou de chaîne de style C en lecture seule (par exemple, |
|
|
Une chaîne de format fournie sous forme de tableau de caractères modifiable. |
|
Une ou plusieurs valeurs supplémentaires insérées dans la chaîne de format, séparées par des virgules. |
Cette fonction ne renvoie aucune valeur.
NotesL’affichage commence à la position actuelle du curseur sur l’écran.
Le texte imprimé avec
printest toujours imprimé avec un fond, et la couleur de fond est déterminée par la couleur de remplissage actuelle.Lors de l’utilisation d’une chaîne de format, le nombre et les types de valeurs transmises doivent correspondre aux spécificateurs de format dans la chaîne.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Déplace le curseur vers une ligne et une colonne spécifiques sur l’écran V5 Brain. Le prochain appel print commencera l’impression à cet emplacement.
void setCursor(
int32_t row,
int32_t col );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La ligne sur laquelle déplacer le curseur. |
|
|
La colonne vers laquelle déplacer le curseur. |
Cette fonction ne renvoie aucune valeur.
NotesAffecte l’endroit où commence la sortie de texte suivante lors de l’utilisation de
print.Les lignes et les colonnes sont basées sur la police d’écran actuellement définie.
La police par défaut (
mono20) utilise 12 lignes et 48 colonnes.L’appel à
setCursoraffecte uniquement la position du texte qui s’affichera ensuite.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Déplace le curseur au début de la ligne suivante sur l’écran Cerveau.
Available Functionsvoid newLine();
Cette fonction n’accepte aucun paramètre.
Return ValuesCette fonction ne renvoie aucune valeur.
NotesSi le curseur se trouve au milieu d’une phrase,
newLineeffacera le reste de la ligne après le curseur avant de passer à la ligne suivante.Après l’appel à
newLine, le curseur est positionné sur la première colonne de la ligne suivante.La position du curseur et la numérotation des lignes sont définies à l’aide de
setCursor.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Efface le texte d’une ligne sur l’écran V5 Brain.
Available Functions1 — Efface le reste de la ligne actuelle à partir de la position du curseur.
void clearLine();
2 — Efface la ligne spécifiée en utilisant la couleur de remplissage actuellement configurée.
void clearLine( int number );
3 — Efface la ligne spécifiée à l’aide d’un objet de couleur prédéfinie ou couleur personnalisée.
void clearLine( int number, const color& color );
4 — Efface la ligne spécifiée en utilisant une valeur de couleur hexadécimale.
void clearLine( int number, const char* color );
Parameters5 — Efface la ligne spécifiée à l’aide d’une valeur de teinte.
void clearLine( int number, int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Numéro de la ligne à effacer. La numérotation des lignes commence à |
|
|
Efface la ligne en utilisant un objet de couleur
|
|
|
Efface la ligne en utilisant une valeur de couleur hexadécimale (par exemple, |
|
|
Efface la ligne en utilisant une valeur de teinte entière dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesEffacer une ligne ne modifie pas la position actuelle du curseur.
La position du curseur et la numérotation des lignes sont définies à l’aide de
setCursor.La valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 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#
Renvoie la ligne sur laquelle le texte sera imprimé sur l’écran V5 Brain.
Available Functionsint32_t row();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie un int32_t int32_t représentant la ligne dans laquelle le texte sera imprimé.
La numérotation des lignes commence à 1.
NotesLa position du curseur est basée sur la police d’écran actuelle .
La valeur renvoyée indique où apparaîtra le prochain texte imprimé.
La valeur de la ligne change lorsque du texte est imprimé ou lorsque
setCursorest appelé.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Renvoie la colonne dans laquelle le texte sera imprimé sur l’écran V5 Brain.
Available Functionsint32_t column();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie un entier int32_t représentant la colonne dans laquelle le texte sera imprimé.
La numérotation des colonnes commence à 1.
NotesLa position du curseur est basée sur la police d’écran actuelle .
La valeur renvoyée indique où apparaîtra le prochain texte imprimé.
La valeur de la colonne change lorsque du texte est imprimé ou lorsque
setCursorest appelé.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Renvoie la hauteur, en pixels, d’une chaîne de caractères lorsqu’elle est affichée sur l’écran V5 Brain.
Available Functionsint32_t getStringHeight(
const char* cstr );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le texte à mesurer, fourni sous forme de chaîne de caractères style C (par exemple, |
Renvoie un int32_t int32_t représentant la hauteur de la chaîne en pixels lorsqu’elle est affichée sur l’écran Brain.
La hauteur renvoyée dépend de la d’écran actuellement.
Cette fonction mesure la chaîne de caractères sans l’afficher à l’écran.
La hauteur renvoyée correspond à l’apparence de la chaîne une fois imprimée.
getStringWidth#
Renvoie la largeur, en pixels, d’une chaîne de caractères lorsqu’elle est affichée sur l’écran V5 Brain.
Available Functionsint32_t getStringWidth(
const char* cstr );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Le texte à mesurer, fourni sous forme de chaîne de caractères style C (par exemple, |
Renvoie un int32_t int32_t représentant la largeur de la chaîne en pixels lorsqu’elle est affichée sur l’écran Brain.
printAt#
Imprime du texte, des nombres ou des valeurs booléennes à une coordonnée spécifique sur l’écran V5 Brain.
Available Functions1 — Imprime la sortie formatée à l’emplacement de pixel spécifié.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Imprime la sortie formatée à l’emplacement de pixel spécifié et définit si l’arrière-plan du texte est opaque ou transparent.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Position x d’impression, par rapport à l’origine de l’écran. |
|
|
Position y d’impression, par rapport à l’origine de l’écran. |
|
|
Contrôle l’opacité ou la transparence du texte imprimé :
|
|
|
Une chaîne de format qui contrôle ce qui est imprimé à l’écran (par exemple, |
|
Une ou plusieurs valeurs supplémentaires insérées dans la chaîne de format, séparées par des virgules. |
Cette fonction ne renvoie aucune valeur.
NotesLes coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide desetOrigin.Lors de l’utilisation d’une chaîne de format, le nombre et les types de valeurs transmises doivent correspondre aux spécificateurs de format dans la chaîne.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Efface tous les dessins et textes de l’écran Brain et réinitialise la position du curseur à la ligne 1, colonne 1.
Available Functions1 — Efface l’écran en noir.
void clearScreen();
2 — Efface l’écran à l’aide d’un objet de couleur prédéfinie ou personnalisée.
void clearScreen( const color& color );
3 — Efface l’écran en utilisant une valeur de couleur hexadécimale.
void clearScreen( const char* color );
Parameters4 — Efface l’écran en utilisant une valeur de teinte.
void clearScreen( int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Clears the screen using a
|
|
|
Efface l’écran en utilisant une valeur de couleur hexadécimale représentée sous forme de chaîne (par exemple, |
|
|
Efface l’écran en utilisant une valeur de teinte entière dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesLa valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 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#
Définit la police utilisée pour le texte affiché sur l’écran V5 Brain.
Cela contrôle la police appliquée à la sortie de texte ultérieure lors de l’utilisation de fonctions de texte à l’écran telles que print.
void setFont(
fontType font );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Définit la police sur l’une des suivantes :
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Cette fonction ne renvoie aucune valeur.
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#
Définit l’épaisseur des lignes tracées et des contours des formes.
Available Functionsvoid setPenWidth(
uint32_t width );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La largeur du stylo, en pixels, de 0 à 32. |
Cette fonction ne renvoie aucune valeur.
NotesLa largeur du stylo s’applique aux fonctions de dessin telles que
drawLine,drawRectangleetdrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Définit la couleur du texte, des pixels, des lignes et des contours des formes.
Available Functions1 — Définit la couleur du stylo à l’aide d’un objet prédéfini ou couleur personnalisée.
void setPenColor( const color& color );
2 — Définit la couleur du stylo à l’aide d’une valeur de couleur hexadécimale.
void setPenColor( const char* color );
Parameters3 — Définit la couleur du stylo à l’aide d’une valeur de teinte.
void setPenColor( int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Définit la couleur du stylo à l’aide d’un objet couleur
|
|
|
Définit la couleur du stylo à l’aide d’une valeur de couleur hexadécimale représentée sous forme de chaîne (par exemple, |
|
|
Définit la couleur du stylo à l’aide d’une valeur de teinte entière dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesLa couleur de stylo par défaut au début d’un projet est
white.La couleur du stylo est utilisée pour les contours des formes (comme avec
drawCircleoudrawRectangle), le texte et la sortie numérique (avecprintetprintAt), et les pixels individuels dessinés avecdrawPixel.La valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 240°).

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

setFillColor#
Définit la couleur de remplissage utilisée lors du dessin des formes.
Available Functions1 — Définit la couleur de remplissage à l’aide d’un objet prédéfini ou couleur personnalisée.
void setFillColor( const color& color );
2 — Définit la couleur de remplissage à l’aide d’une valeur de couleur hexadécimale.
void setFillColor( const char* color );
Parameters3 — Définit la couleur de remplissage à l’aide d’une valeur de teinte.
void setFillColor( int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Définit la couleur de remplissage à l’aide d’un objet couleur
|
|
|
Définit la couleur de remplissage à l’aide d’une valeur de couleur hexadécimale représentée sous forme de chaîne (par exemple, |
|
|
Définit la couleur de remplissage à l’aide d’une valeur de teinte entière dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesLa couleur de remplissage par défaut au début d’un projet est
black.La couleur de remplissage est utilisée pour l’intérieur des formes (comme avec
drawCircleoudrawRectangle).La couleur de remplissage est utilisée comme couleur de fond pour le texte imprimé (comme avec
printetprintAt).Si
transparentest utilisé avec du texte imprimé, le fond serablack.
La valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 240°).

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

setOrigin#
Définit l’origine utilisée pour le dessin et l’impression basée sur les coordonnées sur l’écran Brain.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Position x de l’origine par rapport au coin supérieur gauche de l’écran Brain de 0 à 479. |
|
|
La position y de l’origine par rapport au coin supérieur gauche de l’écran Brain, de 0 à 239. |
Cette fonction ne renvoie aucune valeur.
NotesL’origine par défaut est le coin supérieur gauche de l’écran aux coordonnées (0, 0).
L’origine s’applique aux fonctions de coordonnées telles que
drawLine,drawRectangle,drawCircle, etprintAt.L’origine reste effective jusqu’à ce qu’elle soit modifiée à nouveau ou que le projet soit réinitialisé.
setClipRegion#
Définit une zone rectangulaire à l’écran où seront contenus tous les dessins et textes. Tout contenu situé en dehors de cette zone ne sera pas affiché.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La coordonnée x du coin supérieur gauche de la zone de découpage, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La coordonnée y du coin supérieur gauche de la zone de découpage, donnée sous forme d’entier compris entre 0 et 239. |
|
|
La largeur de la zone de découpage en pixels, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La hauteur de la zone de découpage en pixels, donnée sous forme d’entier compris entre 0 et 239. |
Cette fonction ne renvoie aucune valeur.
NotesLes fonctions de dessin sont toujours exécutées même si elles se trouvent en dehors de la zone de découpage, mais seule la portion située à l’intérieur de cette zone est visible.
Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide desetOrigin.La zone de découpage s’applique uniquement au thread actuel.
La définition d’une nouvelle zone de découpage remplace toute zone de découpage précédemment définie pour le thread actuel.
// 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#
Dessine un pixel sur l’écran V5 Brain à l’emplacement de pixel x et y sélectionné.
Available Functionsvoid drawPixel(
int x,
int y );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La coordonnée x où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La coordonnée y où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 239. |
Cette fonction ne renvoie aucune valeur.
NotesLes pixels sont dessinés en utilisant la couleur de stylo actuelle définie avec
setPenColor.Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être définie à l’aide desetOrigin.Si l’emplacement du pixel spécifié se trouve en dehors des limites de l’écran, le pixel n’est pas dessiné.
// 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#
Trace une ligne droite reliant deux points sur l’écran V5 Brain.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La coordonnée x de départ de la ligne, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La coordonnée y de départ de la ligne, donnée sous forme d’entier compris entre 0 et 239. |
|
|
La coordonnée x finale de la ligne, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La coordonnée y finale de la ligne, donnée sous forme d’un entier compris entre 0 et 239. |
Cette fonction ne renvoie aucune valeur.
NotesLes lignes sont dessinées en utilisant la couleur de stylo actuelle définie avec
setPenColor.La largeur de la ligne est déterminée par la largeur du stylo actuelle définie avec
setPenWidth.Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être définie à l’aide desetOrigin.Si une partie quelconque de la ligne se trouve en dehors des limites de l’écran, seule la partie visible est dessinée.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Dessine un rectangle sur l’écran V5 Brain à la position et à la taille spécifiées.
Available Functions1 — Draws and fills a rectangle using the currently configured fill color.
void drawRectangle( int x, int y, int width, int height );
2 — Dessine et remplit un rectangle à l’aide d’un objet de couleur prédéfinie ou couleur personnalisée.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Dessine et remplit un rectangle en utilisant une valeur de couleur hexadécimale.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Dessine et remplit un rectangle en utilisant une valeur de teinte.
void drawRectangle( int x, int y, int width, int height, int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
La coordonnée x du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 479. |
|
|
La coordonnée y du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 239. |
|
|
La largeur du rectangle, donnée sous forme d’un entier compris entre 0 et 479. |
|
|
La hauteur du rectangle, donnée sous forme d’un entier compris entre 0 et 239. |
|
|
Fills the rectangle using a
|
|
|
Remplit le rectangle en utilisant une valeur de couleur hexadécimale (par exemple, |
|
|
Remplit le rectangle en utilisant une valeur de teinte dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesLe contour du rectangle est dessiné en utilisant la couleur de stylo actuelle définie avec
setPenColor.L’épaisseur du contour est déterminée par la largeur du stylo actuelle définie avec
setPenWidth.Lorsqu’aucun paramètre de couleur
colorn’est fourni, l’intérieur du rectangle est rempli à l’aide de la couleur de remplissage actuelle définie avecsetFillColor.Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide desetOrigin.Si une partie quelconque du rectangle se trouve en dehors des limites de l’écran, seule la partie visible est dessinée.
La valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 240°).

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

drawCircle#
Trace un cercle sur l’écran V5 Brain à la position et au rayon spécifiés.
Available Functions1 — Draws and fills a circle using the currently configured fill color.
void drawCircle( int x, int y, int radius );
2 — Dessine et remplit un cercle en utilisant un objet de couleur prédéfinie ou couleur personnalisée.
void drawCircle( int x, int y, int radius, const color& color );
3 — Dessine et remplit un cercle en utilisant une valeur de couleur hexadécimale.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Dessine et remplit un cercle en utilisant une valeur de teinte.
void drawCircle( int x, int y, int radius, int hue );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
L’abscisse du centre du cercle, donnée sous forme d’un entier compris entre 0 et 479. |
|
|
La coordonnée y du centre du cercle, donnée sous forme d’un entier compris entre 0 et 239. |
|
|
Le rayon du cercle, donné sous forme d’un entier compris entre 0 et 239 pixels. |
|
|
Remplit le cercle à l’aide d’un objet de couleur
|
|
|
Remplit le cercle en utilisant une valeur de couleur hexadécimale (par exemple, |
|
|
Remplit le cercle en utilisant une valeur de teinte dans la plage |
Cette fonction ne renvoie aucune valeur.
NotesLe contour du cercle est dessiné en utilisant la couleur de stylo actuelle définie avec
setPenColor.L’épaisseur du contour est déterminée par la largeur du stylo actuelle définie avec
setPenWidth.Lorsqu’aucun paramètre de couleur
colorn’est fourni, l’intérieur du cercle est rempli à l’aide de la couleur de remplissage actuelle définie avecsetFillColor.Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide desetOrigin.La valeur du paramètre
hueest basée sur une roue chromatique circulaire, comme indiqué ci-dessous, où les valeurs représentent des degrés autour de la roue (par exemple, le rouge près de 0°, le vert près de 120° et le bleu près de 240°).

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

drawImageFromFile#
Dessine une image sur l’écran V5 Brain à l’aide d’un fichier image stocké sur la carte SD.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
The filename of the image on the SD card. The file must have a |
|
|
La coordonnée x, en pixels de 0 à 479, à laquelle le bord gauche de l’image sera dessiné. |
|
|
La coordonnée y, en pixels de 0 à 239, à laquelle le bord supérieur de l’image sera dessiné. |
Renvoie une valeur booléenne indiquant si l’image a été correctement affichée :
true— L’image a été chargée et affichée avec succès à l’écran.false— L’image n’a pas pu être affichée (par exemple, si le fichier n’existe pas ou est invalide).
Les formats d’image pris en charge sont
.bmpet.png.La taille du fichier image ne doit pas dépasser
512 KBL’encodage RLE 8 bits est recommandé pour minimiser la taille du fichier.
Les dimensions d’image maximales prises en charge correspondent à la taille de l’écran Brain (environ 479 x 239 pixels).
Les coordonnées
xetysont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide desetOrigin.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Active le double tampon pour l’écran du Cerveau. Une fois cette fonction appelée, les fonctions de dessin (texte, formes, images, etc.) ne s’afficheront plus immédiatement pour le reste du projet. Les mises à jour ne seront visibles que lorsque le rendu 1 render sera de nouveau utilisé. Cela permet des mises à jour d’écran plus fluides et mieux contrôlées, mais rien ne sera visible tant que le rendu render n’aura pas été utilisé.
1 — Active le double tampon ou affiche le tampon arrière à l’écran.
bool render();
Parameters2 — Affiche le tampon arrière à l’écran avec contrôle du comportement de synchronisation verticale et exécution optionnelle du planificateur.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
|
|
|
Facultatif.
|
Renvoie une valeur booléenne indiquant si les dessins enregistrés dans la mémoire tampon ont été correctement affichés à l’écran :
true— Les dessins ont été correctement affichés à l’écran.false— Les dessins n’ont pas pu être affichés à l’écran.
Notes
L’appel à
rendernécessitera l’utilisation derenderpour le reste du projet.
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#
Indique si l’écran V5 Brain est actuellement enfoncé.
Available Functionsbool pressing();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie une valeur booléenne indiquant l’état actuel de l’écran (appui) :true = l’écran est actuellement enfoncé ; ou false = l’écran n’est pas enfoncé.
// 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#
Renvoie la coordonnée x de la dernière pression sur l’écran V5 Brain.
Available Functionsint32_t xPosition();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie un int32_t représentant la coordonnée x, en pixels de 0 à 479, de la dernière pression sur l’écran.
// 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#
Renvoie la coordonnée y de la dernière pression sur l’écran V5 Brain.
Available Functionsint32_t yPosition();
Cette fonction n’accepte aucun paramètre.
Return ValuesRenvoie un int32_t représentant la coordonnée y, en pixels de 0 à 239, de la dernière pression sur l’écran.
// 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#
Enregistre une fonction à appeler lorsque l’écran V5 Brain est enfoncé.
Available Functions1 — Appelle une fonction lorsque l’écran est pressé.
void pressed( void (*callback)(void) );
Parameters2 — Appelle une fonction lorsque l’écran est pressé et transmet un argument défini par l’utilisateur à la fonction de rappel.
void pressed( void (*callback)(void*), void* arg );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction appelée lorsque l’écran est pressé. |
|
|
Une fonction appelée lorsque l’écran est pressé et qui reçoit un argument défini par l’utilisateur. |
|
|
Une valeur définie par l’utilisateur qui est transmise à la fonction de rappel lorsque l’écran est pressé. |
Cette fonction ne renvoie aucune valeur.
NotesLa fonction de rappel est exécutée chaque fois que l’écran Brain est pressé.
Une seule fonction de rappel peut être enregistrée à la fois ; appeler à nouveau
pressedremplace le rappel précédent.La fonction de rappel doit renvoyer
void.
Définissez la fonction de rappel (en dehors de
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); }Enregistrez le rappel à l’intérieur de
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#
Enregistre une fonction à appeler lorsque l’écran V5 Brain est relâché après avoir été pressé.
Available Functions1 — Appelle une fonction lorsque l’écran est relâché après avoir été pressé.
void released( void (*callback)(void) );
Parameters2 — Appelle une fonction lorsque l’écran est relâché après avoir été pressé et transmet un argument défini par l’utilisateur à la fonction de rappel.
void released( void (*callback)(void*), void* arg );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction appelée lorsque l’écran est relâché après avoir été pressé. |
|
|
Une fonction appelée lorsque l’écran est relâché après avoir été pressé et qui reçoit un argument défini par l’utilisateur. |
|
|
Une valeur définie par l’utilisateur qui est transmise à la fonction de rappel lorsque l’écran est relâché après avoir été pressé. |
Cette fonction ne renvoie aucune valeur.
NotesLa fonction de rappel est exécutée chaque fois que l’écran Brain est relâché après avoir été pressé.
Une seule fonction de rappel peut être enregistrée à la fois ; appeler
releasedà nouveau remplace le rappel précédent.La fonction de rappel doit renvoyer
void.
Définissez la fonction de rappel (en dehors de
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); }Enregistrez le rappel à l’intérieur de
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); } }










