Pantalla#

Introducción#

The screen class is derived from the brain base class, which controls the V5 Brain’s touchscreen, allowing your robot to show text, numbers, and graphics, and respond to touch input.

Por defecto, la fuente para imprimir en el Brain es monoespaciada pequeña, que tiene 12 filas y 48 columnas.

Para dibujar, la resolución del Brain es de 479 x 239 píxeles.

Pantalla del cerebro V5 con líneas de cuadrícula rojas que muestran la disposición de 12 filas y 48 columnas en total. Las dimensiones en píxeles son 479 de ancho por 239 de alto. La esquina superior izquierda comienza en los píxeles (0,0) y la fila 1, columna 1, mientras que la esquina inferior derecha termina en los píxeles (479, 239) y la fila 12, columna 48.

Acceso#

The screen class can be accessed by:

Brain.Screen

Notas#

  • The screen object is provided by the Brain. It is not constructed directly.

  • Projects use a single global Brain object, so screen functions are called using Brain.Screen.

Ejemplo#

/* 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!");

Funciones de los miembros#

The screen class includes the following member functions:

  • print — Prints formatted text, numbers, or Boolean values to the Brain screen.

  • setCursor — Sets the text cursor to a specified row and column.

  • newLine — Clears the remainder of the current line and moves the cursor to the next line.

  • clearLine — Clears the remainder of the current line or clears a specified line.

  • row — Returns the current cursor row.

  • column — Returns the current cursor column.

  • getStringHeight — Returns the height of a string in pixels using the current font.

  • getStringWidth — Returns the width of a string in pixels using the current font.

  • printAt — Prints formatted text at an x, y pixel location (optionally opaque).

  • clearScreen — Clears the entire screen (optionally to a specified color).

  • setFont — Sets the font used for printing on the screen.

  • setPenWidth — Sets the width of lines and shape outlines.

  • setPenColor — Sets the color used for drawing and printed text.

  • setFillColor — Sets the fill color used for shapes and the background of printed text.

  • setOrigin — Sets the origin used for screen coordinates.

  • setClipRegion — Restricts screen output to a rectangular region.

  • drawPixel — Draws a single pixel at an x, y location.

  • drawLine — Draws a line between two points.

  • drawRectangle — Draws a rectangle at an x, y location with a specified size.

  • drawCircle — Draws a circle at an x, y location with a specified radius.

  • drawImageFromFile — Draws an image from an SD card file onto the screen.

  • render — Enables double buffering or renders the back buffer to the screen.

  • pressing — Returns a Boolean indicating whether the screen is currently being pressed.

  • xPosition — Returns the x-coordinate of the most recent screen press.

  • yPosition — Returns the y-coordinate of the most recent screen press.

  • pressed — Registers a callback function to run when the screen is pressed.

  • released — Registers a callback function to run when the screen is released after being pressed.

Before calling any screen member functions, a brain instance must be created, as shown below:

// Create the V5 Brain
brain Brain = brain();

imprimir#

Muestra texto, números o valores booleanos en la pantalla del V5 Brain.

Available Functions

1 Imprime texto formateado usando literales de cadena o cadenas de estilo C de solo lectura.

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

2 Imprime texto formateado utilizando matrices de caracteres modificables.

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

Parameters

Parámetro

Tipo

Descripción

format

const char*

A format string provided as a string literal or read-only C-style string (for example, “Score: %d”).

format

char*

Una cadena de formato proporcionada como una matriz de caracteres modificable.

Uno o más valores adicionales que se insertan en la cadena de formato, separados por comas.

Return Values

Esta función no devuelve ningún valor.

Notes
  • La salida comienza en la posición actual del cursor posición en la pantalla.

  • El texto impreso utiliza la fuente de pantalla actual .

  • El texto impreso utiliza el color de pluma actual .

  • Text printed with print is always printed with a background, and the background color is determined by the current fill color.

  • Al utilizar una cadena de formato, el número y los tipos de valores pasados ​​deben coincidir con los especificadores de formato en la cadena.

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

Captura de pantalla del cerebro V5 que muestra "¡Hola, robot!" impreso en la esquina superior izquierda de la pantalla en texto blanco.

establecer cursor#

Establece la posición del cursor en la pantalla del V5 Brain en la fila y columna especificadas.

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

Parameters

Parámetro

Tipo

Descripción

row

int32_t

El número de fila donde se colocará el cursor.

col

int32_t

El número de columna donde se colocará el cursor.

Return Values

Esta función no devuelve ningún valor.

Notes
  • Affects where subsequent text output begins when using print.

  • Las filas y columnas se basan en la fuente de pantalla configurada actualmente.

  • The default font (mono20) uses 12 rows and 48 columns.

  • Calling setCursor affects the position of subsequent text output only.

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

Captura de pantalla del V5 Brain que muestra la fila 3, columna 12 impresa en la parte superior cerca del centro de la pantalla, en esa posición.

nueva línea#

Mueve el cursor al principio de la siguiente fila en la pantalla del cerebro.

Available Functions
void newLine();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Esta función no devuelve ningún valor.

Notes
  • If the cursor is in the middle of a sentence, newLine will clear the rest of the row after the cursor before moving to the next row.

  • After calling newLine, the cursor is positioned at the first column of the next line.

  • The cursor position and row numbering are set using setCursor.

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

Captura de pantalla de V5 Brain que muestra dos líneas de texto blanco en la esquina superior izquierda. La primera línea dice "Línea 1" y la segunda, justo debajo, dice "Línea 2".

Línea clara#

Borra el texto de una fila en la pantalla del V5 Brain.

Available Functions

1 Borra el resto de la línea actual desde la posición del cursor.

void clearLine();

2 Borra la fila especificada usando el color de relleno configurado actualmente.

void clearLine(
    int number );

3 Borra la fila especificada usando un objeto de color predefinido o…/Logic/Custom_color.md.

void clearLine(
    int          number,
    const color& color );

4 Borra la fila especificada utilizando un valor de color hexadecimal.

void clearLine(
    int         number,
    const char* color );

5 Borra la fila especificada usando un valor de tono.

void clearLine(
    int number,
    int hue );

Parameters

Parámetro

Tipo

Descripción

number

int

The row number to clear. Row numbering starts at 1.

color

const color&

Clears the row 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*

Clears the row using a hexadecimal color value (for example, “#000000”).

hue

int

Clears the row using an integer hue value in the range 0359, representing degrees around a color wheel.

Return Values

Esta función no devuelve ningún valor.

Notes
  • Borrar una línea no cambia la posición actual del cursor.

  • The cursor position and row numbering are set using setCursor.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 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);

fila#

Devuelve la posición actual del cursor en la fila de la pantalla del V5 Brain.

Available Functions
int32_t row();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Returns an int32_t representing the current cursor row position.

La numeración de las filas comienza en el 1.

Notes
  • La posición del cursor se basa en la fuente de pantalla actual .

  • El valor devuelto indica dónde aparecerá la siguiente impresión.

  • The row value changes when text is printed or when setCursor is called.

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

Captura de pantalla de V5 Brain que muestra el texto 3 en blanco en el cuadrante superior izquierdo de la pantalla, en la posición de la fila 3, columna 12.

columna#

Devuelve la posición actual del cursor en la columna de la pantalla V5 Brain.

Available Functions
int32_t column();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Returns an int32_t representing the current cursor column position.

La numeración de las columnas comienza en 1.

Notes
  • La posición del cursor se basa en la fuente de pantalla actual .

  • El valor devuelto indica dónde aparecerá la siguiente impresión.

  • The column value changes when text is printed or when setCursor is called.

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

Captura de pantalla de V5 Brain que muestra el texto 15 en blanco en el cuadrante superior izquierdo de la pantalla, en la posición 15 de la fila 3.

obtenerCadenaAltura#

Devuelve la altura, en píxeles, de una cadena cuando se muestra en la pantalla del V5 Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parámetro

Tipo

Descripción

cstr

const char*

The text to be measured, provided as a C-style string (for example, “Hello”).

Return Values

Returns an int32_t representing the height of the string in pixels when rendered on the Brain screen.

Notes
  • La altura devuelta depende de la fuente de pantalla seleccionada actualmente .

  • Esta función mide la cadena sin dibujarla en la pantalla.

  • La altura devuelta refleja cómo se vería la cadena al imprimirse.

obtenerAnchoDeCadena#

Devuelve el ancho, en píxeles, de una cadena cuando se muestra en la pantalla del V5 Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parámetro

Tipo

Descripción

cstr

const char*

The text to be measured, provided as a C-style string (for example, “Hello”).

Return Values

Returns an int32_t representing the width of the string in pixels when rendered on the Brain screen.

Notes
  • El ancho devuelto depende de la fuente de pantalla seleccionada actualmente .

  • Esta función mide la cadena sin dibujarla en la pantalla.

  • El ancho devuelto refleja cómo se vería la cadena al imprimirse.

imprimirEn#

Imprime texto, números o valores booleanos en una coordenada específica de la pantalla del V5 Brain.

Available Functions

1 Imprime la salida formateada en la ubicación de píxeles especificada.

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

2 Imprime la salida formateada en la ubicación de píxeles especificada y establece si el fondo del texto es opaco o transparente.

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

Parameters

Parámetro

Tipo

Descripción

x

int32_t

La posición x en la que se imprimirá, con respecto al origen de la pantalla.

y

int32_t

La posición Y en la que se imprimirá, con respecto al origen de la pantalla.

bOpaque

bool

Controls whether the printed text is drawn opaquely or transparently:

  • true — The background of the printed text is filled using the current fill color.
  • false — The text is drawn transparently and the background is not filled.

format

const char*

A format string that controls what is printed on the screen (for example, “Score: %d”).

Uno o más valores adicionales que se insertan en la cadena de formato, separados por comas.

Return Values

Esta función no devuelve ningún valor.

Notes
  • The x and y coordinates are relative to the current screen origin, which can be changed using setOrigin.

  • El texto impreso utiliza la fuente de pantalla actual .

  • El texto impreso utiliza el color de pluma actual .

  • Al utilizar una cadena de formato, el número y los tipos de valores pasados ​​deben coincidir con los especificadores de formato en la cadena.

Examples
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(220, 120, "Center");

Captura de pantalla de la pantalla del cerebro V5 con texto blanco que dice Centro, centrado en la pantalla.

pantalla clara#

Borra todos los dibujos y textos de la pantalla del Cerebro.

Available Functions

1 Borra la pantalla y la deja en negro.

void clearScreen();

2 Borra la pantalla usando un objeto de color predefinido o color personalizado.

void clearScreen(
    const color& color );

3 Borra la pantalla usando un valor de color hexadecimal.

void clearScreen(
    const char* color );

4 Borra la pantalla usando un valor de tono.

void clearScreen(
    int hue );

Parameters

Parámetro

Tipo

Descripción

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

Clears the screen using a hexadecimal color value represented as a string (for example, “#000000”).

hue

int

Clears the screen using an integer hue value in the range 0359, representing degrees around a color wheel.

Return Values

Esta función no devuelve ningún valor.

Notes
  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 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);

Captura de pantalla de la pantalla V5 Brain con toda el área imprimible en azul brillante.

establecerFuente#

Establece la fuente que se utiliza para el texto que se muestra en la pantalla del V5 Brain.

This controls the font applied to subsequent text output when using screen text functions such as print.

Available Functions
void setFont(
  fontType font );

Parameters

Parámetro

Tipo

Descripción

font

fontType

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — Can print Chinese, Japanese, and Korean characters.
    • Simplified Chinese — Can be seen up to column 28.
    • Traditional Chinese — Can be seen up to column 28.
    • Japanese (Kanji) — Can be seen up to column 28.
    • Korean (Hangul) — Can be seen up to column 30.
These options are shown below.

Captura de pantalla de TA de la pantalla V5 Brain con números y letras impresos en blanco en la esquina superior izquierda en fuente MONO 12. Muestra AZ en una línea, que ocupa aproximadamente un cuarto del ancho de la pantalla. En la esquina inferior izquierda se lee 80 columnas y 20 filas.
mono12

La misma imagen que la anterior, con la fuente Mono 15. Muestra las siglas AZ en una sola línea, ocupando casi la mitad del ancho de la pantalla. En la esquina inferior izquierda se lee "68 columnas y 16 filas".
mono15

La misma imagen que la anterior, con la fuente Mono 20. Muestra las siglas AZ en una sola línea, ocupando casi dos tercios del ancho de la pantalla. En la esquina inferior izquierda se lee: 48 columnas y 12 filas.
mono20

La misma imagen que la anterior, con la fuente Mono 30. Muestra las siglas AZ en una sola línea, ocupando casi todo el ancho de la pantalla. En la esquina inferior izquierda se lee "32 columnas y 8 filas".
mono30

La misma imagen que la anterior, con fuente Mono 40. Muestra AX en una línea que abarca todo el ancho de la pantalla. En la esquina inferior izquierda se lee 24 columnas y 6 filas.
mono40

La misma imagen que la anterior, con fuente Mono 60. Muestra las siglas AP en una línea que abarca todo el ancho de la pantalla. En la parte inferior indica 16 columnas y 4 filas.
mono60

La misma imagen que la anterior, con la fuente de la Propuesta 20. Muestra AZ en una sola línea, ocupando casi dos tercios del ancho de la pantalla. En la esquina inferior izquierda se lee 48 columnas y 12 filas.
prop20

La misma imagen que la anterior, con la fuente de la Propuesta 30. Muestra AZ en una sola línea, que abarca casi todo el ancho de la pantalla. En la esquina inferior izquierda se lee 32 columnas y 8 filas.
prop30

La misma imagen que la anterior, con la fuente de la Propuesta 40. Muestra AU en una línea que abarca todo el ancho de la pantalla. En la esquina inferior izquierda se lee 24 columnas y 6 filas.
prop40

La misma imagen que la anterior, con la fuente de la Propuesta 60. Muestra AN en una línea que abarca todo el ancho de la pantalla. En la parte inferior se lee 15 columnas y 4 filas.
prop60

La misma imagen que la anterior, con fuente CJK 16. Muestra AZ en una línea, ocupando aproximadamente dos tercios de la pantalla. Las líneas siguientes muestran VEXcode en chino simplificado, chino tradicional, coreano y japonés. En la parte inferior se indica 43 columnas y 12 filas.
fontType::cjk16

Return Values

Esta función no devuelve ningún valor.

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

Captura de pantalla de la pantalla del cerebro V5 que muestra texto blanco con la palabra VEX en una fuente más grande que la predeterminada, en la esquina superior izquierda.


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

Captura de pantalla de la pantalla del cerebro V5 que muestra el texto "VEX机器人" en fuente china en la esquina superior izquierda.

establecerAnchoDelPluma#

Establece el grosor del lápiz utilizado para dibujar líneas y formas.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parámetro

Tipo

Descripción

width

uint32_t

El ancho del lápiz en píxeles, en un rango de 0 a 32.

Return Values

Esta función no devuelve ningún valor.

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

Captura de pantalla de la pantalla V5 Brain que muestra un rectángulo con bordes gruesos impreso en el cuadrante superior izquierdo de la pantalla.

color del bolígrafo#

Establece el color del lápiz que se utiliza para dibujar líneas, formas y texto.

Available Functions

1 Establece el color del lápiz usando un objeto predefinido o color personalizado.

void setPenColor(
    const color& color );

2 Establece el color del lápiz usando un valor de color hexadecimal.

void setPenColor(
    const char* color );

3 Establece el color del lápiz usando un valor de tono.

void setPenColor(
    int hue );

Parameters

Parámetro

Tipo

Descripción

color

const color&

Sets the pen color using a color object. Predefined colors include:

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

color

const char*

Sets the pen color using a hexadecimal color value represented as a string (for example, “#FF0000”).

hue

int

Sets the pen color using an integer hue value in the range 0359, representing degrees around a color wheel (for example, 0 is red, 120 is green, and 240 is blue).

Return Values

Esta función no devuelve ningún valor.

Notes
  • The default pen color at the start of a project is white.

  • The pen color is used for outlines of shapes (such as with drawCircle or drawRectangle), text and numeric output (with print and printAt), and individual pixels drawn with drawPixel.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 240.

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

Captura de pantalla de la pantalla V5 Brain que muestra un rectángulo dibujado en naranja en el cuadrante superior izquierdo de la pantalla.

establecerColorDeRelleno#

Establece el color de relleno que se utiliza al dibujar formas.

Available Functions

1 Establece el color de relleno usando un objeto predefinido o color personalizado.

void setFillColor(
    const color& color );

2 Establece el color de relleno utilizando un valor de color hexadecimal.

void setFillColor(
    const char* color );

3 Establece el color de relleno usando un valor de tono.

void setFillColor(
    int hue );

Parameters

Parámetro

Tipo

Descripción

color

const color&

Sets the fill color using a color object. Predefined colors include:

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

color

const char

Sets the fill color using a hexadecimal color value represented as a string (for example, “#00FF00”).

hue

int

Sets the fill color using an integer hue value in the range 0359, representing degrees around a color wheel (for example, 0 is red, 120 is green, and 240 is blue).

Return Values

Esta función no devuelve ningún valor.

Notes
  • The default fill color at the start of a project is black.

  • The fill color is used for interior of shapes (such as with drawCircle or drawRectangle).

  • The fill color is used as the background color for printed text (such as with print and printAt).

    • If transparent is used with printed text, the background will be black.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 240.

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

Captura de pantalla de V5 Brain que muestra un rectángulo relleno de color púrpura en el cuadrante inferior izquierdo de la pantalla.

establecerOrigen#

Establece el origen utilizado para dibujar gráficos en la pantalla del cerebro.

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

Parameters

Parámetro

Tipo

Descripción

x

int32_t

La posición x del origen en relación con la esquina superior izquierda de la pantalla del Cerebro, de 0 a 480.

y

int32_t

La posición Y del origen en relación con la esquina superior izquierda de la pantalla del Cerebro, de 0 a 480.

Return Values

Esta función no devuelve ningún valor.

Notes
  • El origen predeterminado es la esquina superior izquierda de la pantalla en la coordenada (0, 0).

  • The origin applies to coordinate functions such as drawLine, drawRectangle, drawCircle, and printAt.

  • El origen permanece vigente hasta que se modifique de nuevo o se reinicie el proyecto.

establecerRegiónDeRecorte#

Define un área rectangular en la pantalla donde se mostrarán todos los dibujos y el texto. Cualquier contenido fuera de esta región no se mostrará.

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

Parámetro

Tipo

Descripción

x

int

La coordenada x de la esquina superior izquierda de la región de recorte, dada como un número entero entre 0 y 480.

y

int

La coordenada y de la esquina superior izquierda de la región de recorte, dada como un número entero entre 0 y 240.

width

int

El ancho de la región de recorte en píxeles, expresado como un número entero entre 0 y 480.

height

int

La altura de la región de recorte en píxeles, expresada como un número entero entre 0 y 240.

Return Values

Esta función no devuelve ningún valor.

Notes
  • Las funciones de dibujo se siguen ejecutando aunque queden fuera de la región de recorte, pero solo se ve la parte que está dentro de dicha región.

  • The x and y coordinates are relative to the current screen origin, which can be changed using setOrigin.

  • La región de recorte se aplica únicamente al hilo actual.

  • Al establecer una nueva región de recorte, se reemplaza cualquier región de recorte establecida previamente para el hilo actual.

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!");

Captura de pantalla de la pantalla del V5 Brain con texto blanco que dice "Cortar" y un cuadrado rojo sólido justo debajo, en el cuadrante superior izquierdo, que refleja lo que está impreso dentro de la región del recorte.

dibujarPíxel#

Dibuja un único píxel en la pantalla del V5 Brain en la ubicación de píxeles x e y especificada.

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

Parameters

Parámetro

Tipo

Descripción

x

int

La coordenada x donde se dibujará el píxel, dada como un número entero entre 0 y 480.

y

int

La coordenada y donde se dibujará el píxel, dada como un número entero entre 0 y 240.

Return Values

Esta función no devuelve ningún valor.

Notes
  • Pixels are drawn using the current pen color set with setPenColor.

  • The x and y coordinates are relative to the current screen origin, which can be set using setOrigin.

  • Si la ubicación del píxel especificada está fuera de los límites de la pantalla, el píxel no se dibuja.

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

Captura de pantalla de la pantalla del cerebro V5 que muestra una variedad de píxeles que muestran las esquinas de un cuadrado cerca del centro de la pantalla.

dibujarLínea#

Dibuja una línea recta que conecta dos puntos en la pantalla del cerebro V5.

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

Parameters

Parámetro

Tipo

Descripción

x1

int

La coordenada x inicial de la línea, dada como un número entero entre 0 y 480.

y1

int

La coordenada y inicial de la línea, dada como un número entero entre 0 y 240.

x2

int

La coordenada x final de la línea, dada como un número entero entre 0 y 480.

y2

int

La coordenada y final de la línea, dada como un número entero entre 0 y 240.

Return Values

Esta función no devuelve ningún valor.

Notes
  • Lines are drawn using the current pen color set with setPenColor.

  • The width of the line is determined by the current pen width set with setPenWidth.

  • The x and y coordinates are relative to the current screen origin, which can be set using setOrigin.

  • Si alguna parte de la línea queda fuera de los límites de la pantalla, solo se dibuja la parte visible.

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

Una captura de pantalla de la pantalla del cerebro V5 muestra una delgada línea diagonal en el centro, desde la esquina superior izquierda hasta la esquina inferior derecha.

dibujarRectángulo#

Dibuja un rectángulo en la pantalla del V5 Brain en la posición y el tamaño especificados.

Available Functions

1 Dibuja y rellena un rectángulo usando el color de relleno configurado actualmente.

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

2 Dibuja y rellena un rectángulo usando un objeto de color predefinido o color personalizado.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const color&  color );

3 Dibuja y rellena un rectángulo utilizando un valor de color hexadecimal.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const char*   color );

4 Dibuja y rellena un rectángulo usando un valor de tono.

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

Parameters

Parámetro

Tipo

Descripción

x

int

La coordenada x de la esquina superior izquierda del rectángulo, dada como un número entero entre 0 y 480.

y

int

La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero entre 0 y 240.

width

int

El ancho del rectángulo, dado como un número entero de 0 a 480.

height

int

La altura del rectángulo, dada como un número entero de 0 a 240.

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*

Fills the rectangle using a hexadecimal color value (for example, “#FF0000”).

hue

int

Fills the rectangle using a hue value in the range 0359.

Return Values

Esta función no devuelve ningún valor.

Notes
  • The rectangle outline is drawn using the current pen color set with setPenColor.

  • The outline thickness is determined by the current pen width set with setPenWidth.

  • When no color parameter is provided, the rectangle interior is filled using the current fill color set with setFillColor.

  • The x and y coordinates are relative to the current screen origin, which can be changed using setOrigin.

  • Si alguna parte del rectángulo queda fuera de los límites de la pantalla, solo se dibujará la parte visible.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 240.

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

Una captura de pantalla de la pantalla del V5 Brain muestra un rectángulo con un borde blanco delgado impreso en el cuadrante superior izquierdo.

dibujarCírculo#

Dibuja un círculo en la pantalla del V5 Brain en la posición y el radio especificados.

Available Functions

1 Dibuja y rellena un círculo usando el color de relleno configurado actualmente.

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

2 Dibuja y rellena un círculo usando un objeto de color predefinido o color personalizado.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const color&  color );

3 Dibuja y rellena un círculo utilizando un valor de color hexadecimal.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const char*   color );

4 Dibuja y rellena un círculo usando un valor de tono.

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

Parameters

Parámetro

Tipo

Descripción

x

int

La coordenada x del centro del círculo, dada como un número entero entre 0 y 480.

y

int

La coordenada y del centro del círculo, dada como un número entero entre 0 y 240.

radius

int

El radio del círculo, expresado como un número entero entre 0 y 240 píxeles.

color

const color&

Fills the circle 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*

Fills the circle using a hexadecimal color value (for example, “#FF0000”).

hue

int

Fills the circle using a hue value in the range 0359.

Return Values

Esta función no devuelve ningún valor.

Notes
  • The circle outline is drawn using the current pen color set with setPenColor.

  • The outline thickness is determined by the current pen width set with setPenWidth.

  • When no color parameter is provided, the circle interior is filled using the current fill color set with setFillColor.

  • The x and y coordinates are relative to the current screen origin, which can be changed using setOrigin.

  • The hue parameter value is based on a circular color wheel, as shown below, where values represent degrees around the wheel (for example, red near 0°, green near 120°, and blue near 240°).

Una rueda de colores que muestra la gama de colores del 0 al 359, donde el rojo es 0, el verde es 120 y el azul es 240.

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

Una captura de pantalla de la pantalla del cerebro V5 muestra un círculo con un borde blanco delgado dibujado en el centro.

dibujarImagenDesdeArchivo#

Dibuja una imagen en la pantalla del cerebro V5 utilizando un archivo de imagen almacenado en la tarjeta SD.

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

Parameters

Parámetro

Tipo

Descripción

name

const char*

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

x

int

La coordenada x, en píxeles de 0 a 480, en la que se dibujará el borde izquierdo de la imagen.

y

int

La coordenada y, en píxeles de 0 a 240, en la que se dibujará el borde superior de la imagen.

Return Values

Returns a Boolean indicating whether the image was successfully drawn:

  • true — The image was successfully loaded and drawn on the screen.
  • false — The image could not be drawn (for example, if the file does not exist or is invalid).

Notes
  • Supported image formats are .bmp and .png.

  • The image file size must not exceed 512 KB.

    • Se recomienda la codificación RLE de 8 bits para minimizar el tamaño del archivo.

  • Las dimensiones máximas de imagen admitidas son las del tamaño de la pantalla del dispositivo Brain (aproximadamente 479 x 239 píxeles).

  • The x and y coordinates are relative to the current screen origin, which can be changed using setOrigin.

Examples
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);

prestar#

Enables double buffering for the Brain’s screen. Once called, any drawing functions (like text, shapes, or images) will no longer appear immediately for the rest of the project. Instead, updates will only be shown when render is used again. This allows for smoother and more controlled screen updates, but means nothing will be visible until render is used.

Available Functions

1 Habilita el doble búfer o renderiza el búfer de respaldo en la pantalla.

bool render();

2 Renderiza el búfer de fondo en la pantalla con control sobre el comportamiento de sincronización vertical y ejecución del programador opcional.

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

Parámetro

Tipo

Descripción

bVsyncWait

bool

  • true — Wait for the screen’s vertical refresh before rendering to reduce visual tearing.
  • false — Do not wait for the screen’s vertical refresh before rendering.

bRunScheduler

bool

Optional.

  • true (default) — Allow background tasks to run while waiting to render.
  • false — Do not allow background tasks to run while waiting to render.

Return Values

Returns a Boolean indicating whether the saved drawings in the buffer were successfully rendered to the screen:

  • true — The drawings were successfully rendered on the screen.
  • false — The drawings could not be rendered on the screen.
  • Notes
    • Calling render will require render to be used for the rest of the project.

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

prensado#

Devuelve un valor booleano que indica si se está pulsando la pantalla del cerebro V5 en ese momento.

Available Functions
bool pressing();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Returns a Boolean indicating the current pressed state of the screen:

  • true — The screen is currently being pressed.
  • false — The screen is not being pressed.
  • 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();
    
    

Posición x#

Devuelve la coordenada x de la pulsación más reciente en la pantalla del V5 Brain.

Available Functions
int32_t xPosition();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Returns an int32_t representing the x-coordinate, in pixels between 0 and 480, of the most recent screen press.

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

yPosición#

Devuelve la coordenada Y de la pulsación más reciente en la pantalla del V5 Brain.

Available Functions
int32_t yPosition();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Returns an int32_t representing the y-coordinate, in pixels between 0 and 240, of the most recent screen press.

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

apretado#

Registra una función que se llamará cuando se presione la pantalla del cerebro V5.

Available Functions

1 Llama a una función cuando se presiona la pantalla.

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

2 Llama a una función cuando se presiona la pantalla y pasa un argumento definido por el usuario a la función de devolución de llamada.

void pressed(
    void (*callback)(void*),
    void* arg );

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llama cuando se pulsa la pantalla.

callback

void ()(void)

Una función que se llama cuando se pulsa la pantalla y que recibe un argumento definido por el usuario.

arg

void*

Un valor definido por el usuario que se pasa a la función de devolución de llamada cuando se pulsa la pantalla.

Return Values

Esta función no devuelve ningún valor.

Notes
  • La función de devolución de llamada se ejecuta cada vez que se pulsa la pantalla del cerebro.

  • Only one callback function can be registered at a time; calling pressed again replaces the previous callback.

  • The callback function must return void.

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

int pressCount = 0;

// Register the callback and pass a value to update
Brain.Screen.pressed(onScreenPressed, &pressCount);

liberado#

Registra una función que se llamará cuando se suelte la pantalla del V5 Brain después de haber sido pulsada.

Available Functions

1 Llama a una función cuando se suelta la pantalla después de haber sido presionada.

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

2 Llama a una función cuando se suelta la pantalla después de haber sido presionada y pasa un argumento definido por el usuario a la función de devolución de llamada.

void released(
    void (*callback)(void*),
    void* arg );

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se llama cuando se suelta la pantalla después de haber sido pulsada.

callback

void ()(void)

Una función que se llama cuando se suelta la pantalla después de haber sido pulsada y que recibe un argumento definido por el usuario.

arg

void*

Un valor definido por el usuario que se pasa a la función de devolución de llamada cuando se suelta la pantalla después de haber sido pulsada.

Return Values

Esta función no devuelve ningún valor.

Notes
  • La función de devolución de llamada se ejecuta cada vez que se suelta la pantalla del cerebro después de haber sido pulsada.

  • Only one callback function can be registered at a time; calling released again replaces the previous callback.

  • The callback function must return void.

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

int pressCount = 0;

// Register the callback and pass a value to update
Brain.Screen.released(onScreenReleased, &pressCount);