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

Écran V5 Brain avec grille rouge indiquant la disposition de 12 lignes et 48 colonnes. Dimensions : 479 pixels de large sur 239 pixels de haut. Coin supérieur gauche : (0,0) pixels, ligne 1, colonne 1 ; coin inférieur droit : (479, 239) pixels, ligne 12, colonne 48.

Accéder#

La classe screen est accessible par :

Brain.Screen

Notes#

  • L’objet de l’écran screen est 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 utilisant Brain.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 Functions

1 — 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,
    ... );

2 — Imprime du texte formaté à l’aide de tableaux de caractères modifiables.

void print(
    char* format,
    ... );

Parameters

Paramètre

Taper

Description

format

const char*

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, “Score: %d”).

format

char*

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.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • L’affichage commence à la position actuelle du curseur sur l’écran.

  • Le texte imprimé utilise la police d’écran actuelle .

  • Le texte imprimé utilise la couleur de stylo actuelle .

  • Le texte imprimé avec print est 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.

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

Capture d'écran du cerveau V5 montrant « Hello, Robot! » imprimé en blanc dans le coin supérieur gauche de l'écran.

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.

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

Paramètre

Taper

Description

row

int32_t

La ligne sur laquelle déplacer le curseur.

col

int32_t

La colonne vers laquelle déplacer le curseur.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Affecte 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 à setCursor affecte uniquement la position du texte qui s’affichera ensuite.

Examples
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

Capture d'écran du V5 Brain montrant la ligne 3, colonne 12 imprimée dans la partie supérieure, près du centre de l'écran, à cet emplacement.

newLine#

Déplace le curseur au début de la ligne suivante sur l’écran Cerveau.

Available Functions
void newLine();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Si le curseur se trouve au milieu d’une phrase, newLine effacera 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.

Examples
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

Capture d'écran de l'interface V5 Brain montrant deux lignes de texte blanc dans le coin supérieur gauche. La première ligne indique « Ligne 1 » et la seconde, juste en dessous, indique « Ligne 2 ».

clearLine#

Efface le texte d’une ligne sur l’écran V5 Brain.

Available Functions

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

5 — Efface la ligne spécifiée à l’aide d’une valeur de teinte.

void clearLine(
    int number,
    int hue );

Parameters

Paramètre

Taper

Description

number

int

Numéro de la ligne à effacer. La numérotation des lignes commence à 1.

color

const color&

Efface la ligne en utilisant un objet de couleur color Les couleurs prédéfinies incluent :

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ceci peut également utiliser un objet de couleur personnalisé.

color

const char*

Efface la ligne en utilisant une valeur de couleur hexadécimale (par exemple, “#000000”).

hue

int

Efface la ligne en utilisant une valeur de teinte entière dans la plage 0–359, représentant des degrés autour d’une roue chromatique.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Effacer 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 hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

Examples
// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");

// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);

row#

Renvoie la ligne sur laquelle le texte sera imprimé sur l’écran V5 Brain.

Available Functions
int32_t row();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un int32_t int32_t représentant la ligne dans laquelle le texte sera imprimé.

La numérotation des lignes commence à 1.

Notes
  • La 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 setCursor est appelé.

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

Capture d'écran de V5 Brain montrant le texte 3 en blanc dans le quadrant supérieur gauche de l'écran, à la position ligne 3 colonne 12.

column#

Renvoie la colonne dans laquelle le texte sera imprimé sur l’écran V5 Brain.

Available Functions
int32_t column();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un entier int32_t représentant la colonne dans laquelle le texte sera imprimé.

La numérotation des colonnes commence à 1.

Notes
  • La 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 setCursor est appelé.

Examples
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

Capture d'écran de V5 Brain montrant le texte 15 en blanc dans le quadrant supérieur gauche de l'écran, à la position 15 de la ligne 3 et de la colonne 15.

getStringHeight#

Renvoie la hauteur, en pixels, d’une chaîne de caractères lorsqu’elle est affichée sur l’écran V5 Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Paramètre

Taper

Description

cstr

const char*

Le texte à mesurer, fourni sous forme de chaîne de caractères style C (par exemple, “Hello”).

Return Values

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.

Notes
  • 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 Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Paramètre

Taper

Description

cstr

const char*

Le texte à mesurer, fourni sous forme de chaîne de caractères style C (par exemple, “Hello”).

Return Values

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.

Notes
  • La largeur renvoyée dépend de la écran actuellement sélectionnée.

  • Cette fonction mesure la chaîne de caractères sans l’afficher à l’écran.

  • La largeur renvoyée correspond à l’apparence de la chaîne une fois imprimée.

printAt#

Imprime du texte, des nombres ou des valeurs booléennes à une coordonnée spécifique sur l’écran V5 Brain.

Available Functions

1 — Imprime la sortie formatée à l’emplacement de pixel spécifié.

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — 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,
    ... );

Parameters

Paramètre

Taper

Description

x

int32_t

Position x d’impression, par rapport à l’origine de l’écran.

y

int32_t

Position y d’impression, par rapport à l’origine de l’écran.

bOpaque

bool

Contrôle l’opacité ou la transparence du texte imprimé :

format

const char*

Une chaîne de format qui contrôle ce qui est imprimé à l’écran (par exemple, “Score: %d”).

…

Une ou plusieurs valeurs supplémentaires insérées dans la chaîne de format, séparées par des virgules.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Les coordonnées x et y sont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide de setOrigin.

  • Le texte imprimé utilise la police d’écran actuelle .

  • Le texte imprimé utilise la couleur de stylo 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.

Examples
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

Capture d'écran de l'interface V5 Brain avec le texte blanc « Center » centré sur l'écran.

clearScreen#

Efface tous les dessins et textes de l’écran Brain et réinitialise la position du curseur à la ligne 1, colonne 1.

Available Functions

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

4 — Efface l’écran en utilisant une valeur de teinte.

void clearScreen(
    int hue );

Parameters

Paramètre

Taper

Description

color

const color&

Clears the screen using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Efface l’écran en utilisant une valeur de couleur hexadécimale représentée sous forme de chaîne (par exemple, “#000000”).

hue

int

Efface l’écran en utilisant une valeur de teinte entière dans la plage 0–359, représentant des degrés autour d’une roue chromatique.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La valeur du paramètre hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

Examples
// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();


// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(blue);

Capture d'écran de l'interface V5 Brain avec toute la zone imprimable en bleu vif.

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.

Available Functions
void setFont(
  fontType font );

Parameters

Paramètre

Taper

Description

font

fontType

Définit la police sur l’une des suivantes :

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — Peut imprimer des caractères chinois, japonais et coréens.
    • Chinois simplifié — Visible jusqu’à la colonne 28.
    • Chinois traditionnel — Visible jusqu’à la colonne 28.
    • Japonais (Kanji) — Visible jusqu’à la colonne 28.
    • Coréen (Hangul) — Visible jusqu’à la colonne 30.
Ces options sont présentées ci-dessous.

Capture d'écran TA de l'écran V5 Brain avec des chiffres et des lettres imprimés en blanc dans le coin supérieur gauche, en police MONO 12. On y voit AZ sur une seule ligne, occupant environ un quart de la largeur de l'écran. Dans le coin inférieur gauche, il est indiqué 80 colonnes et 20 lignes.
mono12

La même image que la précédente, avec la police Mono 15. Elle affiche AZ sur une seule ligne, occupant presque la moitié de la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 68 colonnes et 16 lignes.
mono15

La même image que la précédente, avec la police Mono 20. Elle affiche AZ sur une seule ligne, occupant près des deux tiers de la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 48 colonnes et 12 lignes.
mono20

La même image que la précédente, avec la police Mono 30. Elle affiche AZ sur une seule ligne, occupant presque toute la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 32 colonnes et 8 lignes.
mono30

La même image que la précédente, avec la police Mono 40. Elle affiche AX sur une seule ligne, occupant toute la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 24 colonnes et 6 lignes.
mono40

La même image que la précédente, avec la police Mono 60. Elle affiche AP sur une seule ligne, occupant toute la largeur de l'écran. En bas, elle indique 16 colonnes et 4 lignes.
mono60

La même image que la précédente, avec la police Prop 20. Elle affiche AZ sur une seule ligne, occupant près des deux tiers de la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 48 colonnes et 12 lignes.
prop20

La même image que la précédente, avec la police Prop 30. Elle affiche AZ sur une seule ligne, occupant presque toute la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 32 colonnes et 8 lignes.
prop30

La même image que la précédente, avec la police Prop 40. Elle affiche AU sur une seule ligne, occupant toute la largeur de l'écran. Dans le coin inférieur gauche, on peut lire 24 colonnes et 6 lignes.
prop40

La même image que la précédente, avec la police Prop 60. Elle affiche AN sur une seule ligne, occupant toute la largeur de l'écran. En bas, on peut lire 15 colonnes et 4 lignes.
prop60

La même image que la précédente, avec une police CJK 16. Elle affiche AZ sur une ligne, occupant environ les deux tiers de l'écran. Les lignes suivantes affichent VEXcode en chinois simplifié, chinois traditionnel, coréen et japonais. En bas, on peut lire 43 colonnes et 12 lignes.
fontType::cjk16

Return Values

Cette fonction ne renvoie aucune valeur.

Examples
// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

Capture d'écran de l'interface V5 Brain montrant le texte blanc « VEX » en caractères plus grands que la police par défaut, dans le coin supérieur gauche.


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

Capture d'écran de l'interface V5 Brain montrant le texte « VEX机器人 » en caractères chinois dans le coin supérieur gauche.

setPenWidth#

Définit l’épaisseur des lignes tracées et des contours des formes.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Paramètre

Taper

Description

width

uint32_t

La largeur du stylo, en pixels, de 0 à 32.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes Examples
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

Capture d'écran de V5 Brain montrant un rectangle à bordures épaisses imprimé dans le quadrant supérieur gauche de l'écran.

setPenColor#

Définit la couleur du texte, des pixels, des lignes et des contours des formes.

Available Functions

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

3 — Définit la couleur du stylo à l’aide d’une valeur de teinte.

void setPenColor(
    int hue );

Parameters

Paramètre

Taper

Description

color

const color&

Définit la couleur du stylo à l’aide d’un objet couleur color Les couleurs prédéfinies incluent :

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

color

const char*

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, “#FF0000”).

hue

int

Définit la couleur du stylo à l’aide d’une valeur de teinte entière dans la plage 0–359, représentant des degrés autour d’une roue chromatique (par exemple, 0 est rouge, 120 est vert et 240 est bleu).

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La 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 drawCircle ou drawRectangle), le texte et la sortie numérique (avec print et printAt), et les pixels individuels dessinés avec drawPixel.

  • La valeur du paramètre hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

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

Capture d'écran de V5 Brain montrant un rectangle dessiné en orange dans le quadrant supérieur gauche de l'écran.

setFillColor#

Définit la couleur de remplissage utilisée lors du dessin des formes.

Available Functions

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

3 — Définit la couleur de remplissage à l’aide d’une valeur de teinte.

void setFillColor(
    int hue );

Parameters

Paramètre

Taper

Description

color

const color&

Définit la couleur de remplissage à l’aide d’un objet couleur color Les couleurs prédéfinies incluent :

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

color

const char*

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, “#00FF00”).

hue

int

Définit la couleur de remplissage à l’aide d’une valeur de teinte entière dans la plage 0–359, représentant des degrés autour d’une roue chromatique (par exemple, 0 est rouge, 120 est vert et 240 est bleu).

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La 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 drawCircle ou drawRectangle).

  • La couleur de remplissage est utilisée comme couleur de fond pour le texte imprimé (comme avec print et printAt).

    • Si transparent est utilisé avec du texte imprimé, le fond sera black.

  • La valeur du paramètre hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

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

Capture d'écran de V5 Brain montrant un rectangle rempli de violet dans le quadrant inférieur gauche de l'écran.

setOrigin#

Définit l’origine utilisée pour le dessin et l’impression basée sur les coordonnées sur l’écran Brain.

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

Paramètre

Taper

Description

x

int32_t

Position x de l’origine par rapport au coin supérieur gauche de l’écran Brain de 0 à 479.

y

int32_t

La position y de l’origine par rapport au coin supérieur gauche de l’écran Brain, de 0 à 239.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • L’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, et printAt.

  • 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 Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

Paramètre

Taper

Description

x

int

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.

y

int

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.

width

int

La largeur de la zone de découpage en pixels, donnée sous forme d’entier compris entre 0 et 479.

height

int

La hauteur de la zone de découpage en pixels, donnée sous forme d’entier compris entre 0 et 239.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Les 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 x et y sont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide de setOrigin.

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

Examples
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

Capture d'écran de l'interface V5 Brain avec un texte blanc indiquant « Coupé de » et un carré rouge plein juste en dessous, dans le quadrant supérieur gauche, reflétant ce qui est imprimé dans la zone de découpage.

drawPixel#

Dessine un pixel sur l’écran V5 Brain à l’emplacement de pixel x et y sélectionné.

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

Paramètre

Taper

Description

x

int

La coordonnée x où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 479.

y

int

La coordonnée y où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 239.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Les pixels sont dessinés en utilisant la couleur de stylo actuelle définie avec setPenColor.

  • Les coordonnées x et y sont relatives à l’origine de l’écran actuel, qui peut être définie à l’aide de setOrigin.

  • Si l’emplacement du pixel spécifié se trouve en dehors des limites de l’écran, le pixel n’est pas dessiné.

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

Capture d'écran de V5 Brain montrant un ensemble de pixels représentant les coins d'un carré près du centre de l'écran.

drawLine#

Trace une ligne droite reliant deux points sur l’écran V5 Brain.

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

Paramètre

Taper

Description

x1

int

La coordonnée x de départ de la ligne, donnée sous forme d’entier compris entre 0 et 479.

y1

int

La coordonnée y de départ de la ligne, donnée sous forme d’entier compris entre 0 et 239.

x2

int

La coordonnée x finale de la ligne, donnée sous forme d’entier compris entre 0 et 479.

y2

int

La coordonnée y finale de la ligne, donnée sous forme d’un entier compris entre 0 et 239.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Les 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 x et y sont relatives à l’origine de l’écran actuel, qui peut être définie à l’aide de setOrigin.

  • Si une partie quelconque de la ligne se trouve en dehors des limites de l’écran, seule la partie visible est dessinée.

Examples
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

Une capture d'écran de l'écran V5 Brain montre une fine ligne diagonale au centre, allant du coin supérieur gauche au coin inférieur droit.

drawRectangle#

Dessine un rectangle sur l’écran V5 Brain à la position et à la taille spécifiées.

Available Functions

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

4 — Dessine et remplit un rectangle en utilisant une valeur de teinte.

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

Paramètre

Taper

Description

x

int

La coordonnée x du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 479.

y

int

La coordonnée y du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 239.

width

int

La largeur du rectangle, donnée sous forme d’un entier compris entre 0 et 479.

height

int

La hauteur du rectangle, donnée sous forme d’un entier compris entre 0 et 239.

color

const color&

Fills the rectangle using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Remplit le rectangle en utilisant une valeur de couleur hexadécimale (par exemple, “#FF0000”).

hue

int

Remplit le rectangle en utilisant une valeur de teinte dans la plage 0–359.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Le 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 color n’est fourni, l’intérieur du rectangle est rempli à l’aide de la couleur de remplissage actuelle définie avec setFillColor.

  • Les coordonnées x et y sont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide de setOrigin.

  • 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 hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

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

Une capture d'écran de l'écran du V5 Brain montre un rectangle avec une fine bordure blanche imprimé dans le quadrant supérieur gauche.

drawCircle#

Trace un cercle sur l’écran V5 Brain à la position et au rayon spécifiés.

Available Functions

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

4 — Dessine et remplit un cercle en utilisant une valeur de teinte.

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

Paramètre

Taper

Description

x

int

L’abscisse du centre du cercle, donnée sous forme d’un entier compris entre 0 et 479.

y

int

La coordonnée y du centre du cercle, donnée sous forme d’un entier compris entre 0 et 239.

radius

int

Le rayon du cercle, donné sous forme d’un entier compris entre 0 et 239 pixels.

color

const color&

Remplit le cercle à l’aide d’un objet de couleur color Les couleurs prédéfinies incluent :

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ceci peut également utiliser un objet de couleur personnalisé.

color

const char*

Remplit le cercle en utilisant une valeur de couleur hexadécimale (par exemple, “#FF0000”).

hue

int

Remplit le cercle en utilisant une valeur de teinte dans la plage 0–359.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • Le 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 color n’est fourni, l’intérieur du cercle est rempli à l’aide de la couleur de remplissage actuelle définie avec setFillColor.

  • Les coordonnées x et y sont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide de setOrigin.

  • La valeur du paramètre hue est 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°).

Une roue chromatique montrant la gamme de couleurs de 0 à 359, où le rouge est 0, le vert est 120 et le bleu est 240.

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

Une capture d'écran de l'écran V5 Brain montre un cercle avec une fine bordure blanche dessinée au centre.

drawImageFromFile#

Dessine une image sur l’écran V5 Brain à l’aide d’un fichier image stocké sur la carte SD.

Available Functions
bool drawImageFromFile(
  const char* name,
  int x,
  int y );

Parameters

Paramètre

Taper

Description

name

const char*

The filename of the image on the SD card. The file must have a .bmp or .png extension.

x

int

La coordonnée x, en pixels de 0 à 479, à laquelle le bord gauche de l’image sera dessiné.

y

int

La coordonnée y, en pixels de 0 à 239, à laquelle le bord supérieur de l’image sera dessiné.

Return Values

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

Notes
  • Les formats d’image pris en charge sont .bmp et .png.

  • La taille du fichier image ne doit pas dépasser 512 KB

    • L’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 x et y sont relatives à l’origine de l’écran actuel, qui peut être modifiée à l’aide de setOrigin.

Examples
// 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é.

Available Functions

1 — Active le double tampon ou affiche le tampon arrière à l’écran.

bool render();

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

Parameters

Paramètre

Taper

Description

bVsyncWait

bool

​

  • true — Attendre le rafraîchissement vertical de l’écran avant le rendu pour réduire les déchirures d’image.
  • false — Ne pas attendre le rafraîchissement vertical de l’écran avant le rendu.

bRunScheduler

bool

Facultatif.

  • true (par défaut) — Autoriser l’exécution des tâches en arrière-plan pendant le rendu.
  • false — Interdire l’exécution des tâches en arrière-plan pendant le rendu.

Return Values

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 à render nécessitera l’utilisation de render pour le reste du projet.

    Examples
    Brain.Screen.render();
    
    // Draw text to the back buffer
    Brain.Screen.print("Render later...");
    
    // Wait for a screen press to render drawings
    while (!Brain.Screen.pressing()) {
      wait(20, msec);
    }
    Brain.Screen.render();
    
    

pressing#

Indique si l’écran V5 Brain est actuellement enfoncé.

Available Functions
bool pressing();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

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

Examples
// 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 Functions
int32_t xPosition();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un int32_t représentant la coordonnée x, en pixels de 0 à 479, de la dernière pression sur l’écran.

Examples
// 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 Functions
int32_t yPosition();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un int32_t représentant la coordonnée y, en pixels de 0 à 239, de la dernière pression sur l’écran.

Examples
// 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 Functions

1 — Appelle une fonction lorsque l’écran est pressé.

void pressed(
    void (*callback)(void)
);

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Une fonction appelée lorsque l’écran est pressé.

callback

void ()(void)

Une fonction appelée lorsque l’écran est pressé et qui reçoit un argument défini par l’utilisateur.

arg

void*

Une valeur définie par l’utilisateur qui est transmise à la fonction de rappel lorsque l’écran est pressé.

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La 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 pressed remplace le rappel précédent.

  • La fonction de rappel doit renvoyer void.

Examples

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 Functions

1 — Appelle une fonction lorsque l’écran est relâché après avoir été pressé.

void released(
    void (*callback)(void)
);

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Une fonction appelée lorsque l’écran est relâché après avoir été pressé.

callback

void ()(void)

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.

arg

void*

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

Return Values

Cette fonction ne renvoie aucune valeur.

Notes
  • La 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.

Examples

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