Écran#

Introduction#

La classe screen est dérivée de la classe de base brain. Elle contrôle la façon dont le cerveau IQ (2e génération) affiche le texte, les nombres et les graphiques sur son écran intégré.

Par défaut, la police d’impression pour le Cerveau est monospace small.

Pour le dessin, la résolution du Cerveau est de 160 x 108 pixels.

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 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 (éventuellement opaque).

  • clearScreen — Efface l’écran entier (éventuellement à une couleur spécifiée).

  • 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 Brain
brain Brain = brain();

print#

Affiche du texte, des nombres ou des valeurs booléennes sur l’écran cérébral IQ (2e génération).

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 IQ (2e génération) 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 de l’écran IQ (2e génération) Brain. L’impression du prochain appel print commencera à 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 5 lignes et 16 colonnes.

  • L’appel à setCursor affecte uniquement la position du texte qui s’affichera ensuite.

Examples
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Repeatedly print the Brain timer at top-left
  while (true) {
    Brain.Screen.print("%d", Brain.Timer.time(seconds));
    Brain.Screen.newLine();
    wait(1, seconds);
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
  }
}

Capture d'écran du cerveau IQ (2e génération) montrant 25 imprimé en haut à gauche 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 IQ (2e génération) 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 cérébral IQ (2e génération).

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 où le texte sera imprimé sur l’écran cérébral IQ (2e génération).

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("row: ", Brain.Screen.row());

Capture d'écran de l'écran Cerveau IQ (2e génération) montrant la ligne de texte 3 en blanc sur le côté gauche de l'écran, à la position ligne 3 colonne 12.

column#

Renvoie la colonne dans laquelle le texte sera imprimé sur l’écran cérébral IQ (2e génération).

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.print("column: ", Brain.Screen.column());

Capture d'écran de l'écran Cerveau IQ (2e génération) montrant la colonne : 9 en blanc en haut de l'écran, à la position ligne 1 colonne 9.

getStringHeight#

Renvoie la hauteur, en pixels, d’une chaîne de caractères lorsqu’elle est affichée sur l’écran IQ (2e génération) 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 IQ (2e génération) 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 cérébral IQ (2e génération).

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 the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);

Capture d'écran de l'écran Cerveau du test IQ (2e génération) avec texte blanc indiquant 1, imprimé à (100, 40).

clearScreen#

Efface tous les dessins et textes de l’écran du Cerveau.

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

Capture d'écran du test IQ (2e génération) Brain avec toute la zone imprimable en rouge vif.

setFont#

Définit la police utilisée pour le texte affiché sur l’écran cérébral IQ (2e génération).

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

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
These options are shown below.

Capture d'écran de l'interface VEX IQ Brain affichant une série de chiffres et de lettres en police Mono 12. Les lettres AZ sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 26 caractères sur 9 lignes.
mono12

La même capture d'écran que la précédente, mais avec la police Mono 15. Les lettres AT sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 20 caractères de large et 7 lignes.
mono15

La même capture d'écran que la précédente, mais avec la police Mono 20. Les lettres AP sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 16 caractères de large et 5 lignes.
mono20

La même capture d'écran que la précédente, mais avec la police Mono 30. Les chiffres de 1 à 9 et un 0 supplémentaire sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 3 lignes.
mono30

La même capture d'écran que la précédente, mais avec la police Mono 40. Les chiffres de 1 à 8 sont sur la deuxième ligne, occupant toute la largeur de l'écran.
mono40

La même capture d'écran que la précédente, mais avec la police Mono 60. L'écran affiche MN 60 en gros caractères, occupant presque toute la moitié supérieure de l'écran.
mono60

La même capture d'écran que la précédente, mais avec la police Prop 20. Les lettres AW sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 26 caractères de large et 5 lignes.
prop20

La même capture d'écran que la précédente, mais avec la police Prop 30. Les chiffres de 1 à 9 sont répétés deux fois sur une même ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 18 caractères de large et 3 lignes.
prop30

La même capture d'écran que la précédente, mais avec la police Prop 40. L'écran affiche Prop 40 sur la première ligne et indique 14 caractères et 2 lignes sur la deuxième.
prop40

La même capture d'écran que la précédente, mais avec la police Prop 60. L'écran affiche PROP 60 en gros caractères, occupant presque toute la moitié supérieure de l'écran.
prop60

Return Values

Cette fonction ne renvoie aucune valeur.

Examples
// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");

Capture d'écran de l'application IQ Brain avec du texte blanc sur deux lignes dans le coin supérieur gauche. La première ligne indique « Mono Medium » et la seconde, juste en dessous, indique « Prop Medium » en plus petit.

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 circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);

Capture d'écran de l'application IQ Brain montrant deux cercles blancs imprimés dans la moitié inférieure de l'écran. Le cercle de gauche a un contour plus fin que celui de droite.

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
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

Capture d'écran de l'application IQ Brain avec deux petits rectangles dessinés dans la moitié inférieure de l'écran. Le rectangle de gauche est bleu et celui de droite est blanc.

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 de couleur prédéfinie 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 circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

Capture d'écran de l'application IQ Brain avec un cercle jaune vif bordé d'un fin liseré blanc sur la moitié 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 à 159.

y

int32_t

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

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

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

width

int

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

height

int

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

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'écran du cerveau IQ (2e génération) avec un texte blanc indiquant « Coupé de » et un carré rouge plein directement 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 cérébral IQ (2e génération) à 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 159.

y

int

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

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 one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

Capture d'écran de l'application IQ Brain avec un petit point blanc au centre de l'écran.

drawLine#

Trace une ligne droite reliant deux points sur l’écran cérébral IQ (2e génération).

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

y1

int

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

x2

int

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

y2

int

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

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, 159, 107);

Capture d'écran de l'application IQ Brain avec une ligne diagonale blanche tracée du coin supérieur gauche au coin inférieur droit.

drawRectangle#

Dessine un rectangle sur l’écran cérébral IQ (2e génération) à 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 159.

y

int

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

width

int

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

height

int

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

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 red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

Capture d'écran de l'application IQ Brain avec un grand rectangle rouge bordé d'une fine bordure blanche, presque centré sur l'écran.

drawCircle#

Dessine un cercle sur l’écran cérébral IQ (2e génération) à 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 159.

y

int

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

radius

int

Le rayon du cercle, exprimé sous forme d’un entier compris entre 0 et 107 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 green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

Capture d'écran de l'application IQ Brain avec un cercle vert plein bordé de blanc au centre de l'écran.

drawImageFromFile#

Dessine une image sur l’écran cérébral IQ (2e génération) à 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 à 159, à laquelle le bord gauche de l’image sera dessiné.

y

int

La coordonnée y, en pixels de 0 à 107, à 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 (160 x 108 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();