Pantalla#

Introducción#

La clase screen se deriva de la clase base brain. Controla cómo EXP Brain muestra texto, números y gráficos en su pantalla.

La pantalla del EXP Brain tiene una cantidad establecida de filas y columnas para usar al imprimir texto en su pantalla.

De forma predeterminada, la fuente para imprimir en el cerebro es mono20 , que tiene 7 filas y 20 columnas.

Para el dibujo, la resolución del cerebro es de 159 x 107 píxeles.

Un diagrama de cuadrícula etiquetado de la pantalla VEX Brain que muestra filas, columnas, dimensiones de píxeles y coordenadas, con líneas rojas que delinean la cuadrícula.

Acceso#

The screen class can be accessed by:

Brain.Screen

Observaciones#

  • El objeto screen es proporcionado por el Cerebro. No se construye directamente.

  • Los proyectos utilizan un único objeto Brain global, por lo que las funciones de pantalla se denominan Brain.Screen.

Ejemplo#

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

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

// Print text to the Brain screen
Brain.Screen.print("Hello!");

Funciones de los miembros#

La clase screen incluye las siguientes funciones miembro:

  • print — Imprime texto formateado, números o valores booleanos en la pantalla Brain.

  • setCursor — Mueve el cursor de texto a una fila y columna especificadas.

  • newLine: borra el resto de la línea actual y mueve el cursor a la siguiente línea.

  • clearLine: borra el resto de la línea actual o borra una línea especificada.

  • row — Devuelve la fila donde se imprimirá el texto.

  • column — Devuelve la columna donde se imprimirá el texto.

  • getStringHeight — Devuelve la altura de una cadena en píxeles utilizando la fuente actual.

  • getStringWidth — Devuelve el ancho de una cadena en píxeles utilizando la fuente actual.

  • printAt — Imprime texto formateado en una ubicación de píxeles x, y (opcionalmente opaco).

  • clearScreen — Borra toda la pantalla (opcionalmente a un color especificado).

  • setFont — Establece la fuente utilizada para imprimir en la pantalla.

  • setPenWidth — Establece el grosor de las líneas dibujadas y los contornos de forma.

  • setPenColor: establece el color del texto, los píxeles, las líneas y los contornos de forma.

  • setFillColor — Establece el color de relleno para formas dibujadas y fondos de texto impreso.

  • setOrigin — Establece el origen utilizado para las coordenadas de la pantalla.

  • setClipRegion — Restringe la salida de la pantalla a una región rectangular.

  • drawPixel — Dibuja un píxel en una coordenada.

  • drawLine — Dibuja una línea entre dos puntos.

  • drawRectangle — Dibuja un rectángulo en una ubicación x, y con un tamaño especificado.

  • drawCircle — Dibuja un círculo en una ubicación x, y con un radio especificado.

  • drawImageFromFile — Dibuja una imagen de un archivo de tarjeta SD en la pantalla.

  • render: habilita el doble almacenamiento en búfer o representa el búfer posterior en la pantalla.

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

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

print#

Muestra texto, números o valores booleanos en la pantalla EXP 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*

Una cadena de formato proporcionada como un literal de cadena o una cadena de estilo C de solo lectura (por ejemplo, “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 un valor.

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

  • El texto impreso utiliza la fuente de la pantalla actual.

  • El texto impreso utiliza el color actual del bolígrafo.

  • El texto impreso con print se imprime con un fondo, y el color de fondo está determinado por el color de relleno actual.

  • Cuando se utiliza 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!");

Una captura de pantalla del EXP Brain que muestra Hello, Robot! impreso en la pantalla en la esquina superior izquierda en texto blanco.

setCursor#

Mueve el cursor a una fila y columna específicas en la pantalla de EXP Brain. La siguiente llamada a print comenzará a imprimir en esa ubicación.

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

Parameters

Parámetro

Tipo

Descripción

row

int32_t

La fila a la que mover el cursor.

col

int32_t

La columna a la que mover el cursor.

Return Values

Esta función no devuelve un valor.

Notes
  • Afecta dónde comienza la salida de texto posterior cuando se usa print.

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

  • La fuente predeterminada (mono20) utiliza 12 filas y 48 columnas.

  • Llamar a setCursor afecta solo a la posición de la salida de texto posterior.

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

Una captura de pantalla del EXP Cerebro que muestra la Fila 3 Columna 12 impresa en la parte superior cerca del centro de la pantalla, en esa posición.

newLine#

Mueve el cursor al comienzo de la siguiente fila en la pantalla Cerebro.

Available Functions
void newLine();

Parameters

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

Return Values

Esta función no devuelve un valor.

Notes
  • Si el cursor está en el medio de una oración, newLine borrará el resto de la fila después del cursor antes de pasar a la siguiente fila.

  • Después de llamar a newLine, el cursor se coloca en la primera columna de la siguiente línea.

  • La posición del cursor y la numeración de las filas se establecen mediante setCursor.

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

Una captura de pantalla de la pantalla EXP Brain que muestra dos líneas de texto blanco en la esquina superior izquierda. La línea superior dice Línea 1, y la segunda línea directamente debajo dice Línea 2.

clearLine#

Borra el texto de una fila en la pantalla EXP Brain.

Available Functions

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

void clearLine();

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

void clearLine(
    int number );

3 — Borra la fila especificada con un objeto predefinido o custom color.

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

4 — Borra la fila especificada con un valor de color hexadecimal.

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

5 — Borra la fila especificada con un valor de tono.

void clearLine(
    int number,
    int hue );

Parameters

Parámetro

Tipo

Descripción

number

int

El número de fila a borrar. La numeración de filas comienza en 1.

color

const color&

Borra la fila usando un objeto de color color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También se puede usar un objeto de color personalizado.

color

const char*

Borra la fila utilizando un valor de color hexadecimal (por ejemplo, “#000000”).

hue

int

Borra la fila utilizando un valor de tono entero en el rango de 0359, que representa grados alrededor de una rueda de color.

Return Values

Esta función no devuelve un valor.

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

  • La posición del cursor y la numeración de las filas se establecen mediante setCursor.

  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y 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);

row#

Devuelve la fila donde se imprimirá el texto en la pantalla EXP Brain.

Available Functions
int32_t row();

Parameters

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

Return Values

Devuelve un int32_t que representa la fila donde se imprimirá el texto.

La numeración de filas comienza en 1.

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

  • El valor devuelto indica dónde aparecerá la siguiente salida impresa.

  • El valor de la fila cambia cuando se imprime texto o cuando se llama a setCursor.

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

Una captura de pantalla de la pantalla EXP Brain que muestra el texto 3 en blanco en el cuadrante superior izquierdo de la pantalla, en la posición 10 de la columna de la fila 3.

column#

Devuelve la columna donde se imprimirá el texto en la pantalla EXP Brain.

Available Functions
int32_t column();

Parameters

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

Return Values

Devuelve un int32_t que representa la columna donde se imprimirá el texto.

La numeración de columnas comienza en 1.

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

  • El valor devuelto indica dónde aparecerá la siguiente salida impresa.

  • El valor de la columna cambia cuando se imprime texto o cuando se llama a setCursor.

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

Una captura de pantalla de la pantalla EXP Brain que muestra el texto 10 en blanco en el cuadrante superior izquierdo de la pantalla, en la posición 10 de la columna de la fila 3.

getStringHeight#

Devuelve la altura, en píxeles, de una cadena cuando se representa en la pantalla EXP Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parámetro

Tipo

Descripción

cstr

const char*

El texto a medir, proporcionado como una cadena de estilo C (por ejemplo, “Hello”).

Return Values

Devuelve un int32_t que representa la altura de la cadena en píxeles cuando se representa en la pantalla Cerebro.

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 aparecería la cadena cuando se imprima.

getStringWidth#

Devuelve el ancho, en píxeles, de una cadena cuando se representa en la pantalla EXP Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parámetro

Tipo

Descripción

cstr

const char*

El texto a medir, proporcionado como una cadena de estilo C (por ejemplo, “Hello”).

Return Values

Devuelve un int32_t que representa el ancho de la cadena en píxeles cuando se representa en la pantalla Cerebro.

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 aparecería la cadena cuando se imprima.

printAt#

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

Available Functions

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

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

2 — Imprime la salida formateada en la ubicación de píxel 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 para imprimir, referenciada al origen de la pantalla.

y

int32_t

La posición y para imprimir, referenciada al origen de la pantalla.

bOpaque

bool

Controla si el texto impreso se dibuja de forma opaca o transparente:

  • true — El fondo del texto impreso se rellena con el color de relleno actual.
  • false — El texto se dibuja de forma transparente y el fondo no se rellena.

format

const char*

Una cadena de formato que controla lo que se imprime en la pantalla (por ejemplo, “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 un valor.

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

clearScreen#

Borra todos los dibujos y el texto de la pantalla del cerebro.

Available Functions

1 — Borra la pantalla a negro.

void clearScreen();

2 — Borra la pantalla con un objeto predefinido o custom color.

void clearScreen(
    const color& color );

3 — Borra la pantalla con un valor de color hexadecimal.

void clearScreen(
    const char* color );

4 — Borra la pantalla con un valor de tono.

void clearScreen(
    int hue );

Parameters

Parámetro

Tipo

Descripción

color

const color&

Borra la pantalla usando un objeto de color color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También puede usar un objeto de color personalizado.

color

const char*

Borra la pantalla utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, “#000000”).

hue

int

Borra la pantalla utilizando un valor de tono entero en el rango de 0359, que representa grados alrededor de una rueda de color.

Return Values

Esta función no devuelve un valor.

Notes
  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y 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);

setFont#

Establece la fuente utilizada para el texto que se muestra en la pantalla EXP Brain.

Esto controla la fuente aplicada a la salida de texto posterior cuando se utilizan funciones de texto de pantalla como print.

Available Functions
void setFont(
  fontType font );

Parameters

Parámetro

Tipo

Descripción

font

fontType

Establece la fuente en uno de los siguientes:

  • mono12
  • mono15
  • mono20
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • mono30
Estas opciones se muestran a continuación.

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 12. Muestra de la A a la Z y todos los números. En la parte inferior de la pantalla, dice 9 filas, 26 columnas.
mono12

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 15. Muestra de la A a la T y todos los números. En la parte inferior de la pantalla, dice 7 filas, 22 columnas.
mono15

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 20. Muestra de la A a la P y todos los números. En la parte inferior de la pantalla, dice 5 filas, 16 columnas.
mono20

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 30. Muestra de la A a la J. En la parte inferior de la pantalla, dice R:3 C:10.
mono30

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 40. En la parte inferior de la pantalla, dice R:2 C:8.
mono40

Los números y letras serigrafiados de The Brain con fuente de tamaño mono 60. Solo se muestra MON60.
mono60

Los números y letras serigrafiados de The Brain con fuente de tamaño prop 20. Muestra de la A a la W y todos los números. En la parte inferior de la pantalla, dice 5 filas, 16 columnas.
prop20

Los números y letras serigrafiados de The Brain con fuente de tamaño prop 30. Muestra de la A a la P. En la parte inferior de la pantalla, dice R:3 C:10.
prop30

Los números y letras serigrafiados de The Brain con la fuente de tamaño prop 40. En la parte inferior de la pantalla, dice R:2 C:8.
prop40

Los números y letras serigrafiados de The Brain con fuente de prop 60 de tamaño. Solo se muestra PROP60.
prop60

Return Values

Esta función no devuelve un valor.

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

Una captura de pantalla de la pantalla EXP Brain que muestra texto blanco que dice VEX en una fuente más grande que la predeterminada, en la esquina superior izquierda.

setPenWidth#

Establece el grosor de las líneas dibujadas y los contornos de forma.

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 un valor.

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

Una captura de pantalla de la pantalla EXP Brain que muestra un rectángulo con bordes gruesos impresos en el lado izquierdo de la pantalla.

setPenColor#

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

Available Functions

1 — Establece el color del bolígrafo mediante un objeto predefinido o color personalizado.

void setPenColor(
    const color& color );

2 — Establece el color del bolígrafo utilizando un valor de color hexadecimal.

void setPenColor(
    const char* color );

3 — Establece el color del bolígrafo utilizando un valor de tono.

void setPenColor(
    int hue );

Parameters

Parámetro

Tipo

Descripción

color

const color&

Establece el color del lápiz usando un objeto color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También se puede usar un objeto de color personalizado.

color

const char*

Establece el color del lápiz utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, “#FF0000”).

hue

int

Establece el color del lápiz usando un valor de tono entero en el rango 0–359, que representa grados alrededor de una rueda de color (por ejemplo, 0 es rojo, 120 es verde y 240 es azul).

Return Values

Esta función no devuelve un valor.

Notes
  • El color predeterminado de la pluma al comienzo de un proyecto es el white.

  • El color del bolígrafo se utiliza para contornos de formas (como con drawCircle o drawRectangle), texto y salida numérica (con print y printAt), y píxeles individuales dibujados con drawPixel.

  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y azul es 240.

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

Una captura de pantalla de la pantalla EXP Brain que muestra un rectángulo dibujado en naranja en el lado izquierdo de la pantalla.

setFillColor#

Establece el color de relleno utilizado cuando se dibujan formas.

Available Functions

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

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&

Establece el color de relleno usando un objeto color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También se puede usar un objeto de color personalizado.

color

const char*

Establece el color de relleno utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, “#00FF00”).

hue

int

Establece el color de relleno usando un valor de tono entero en el rango 0–359, que representa grados alrededor de una rueda de color (por ejemplo, 0 es rojo, 120 es verde y 240 es azul).

Return Values

Esta función no devuelve un valor.

Notes
  • El color de relleno predeterminado al comienzo de un proyecto es black.

  • El color de relleno se utiliza para el interior de las formas (como con drawCircle o drawRectangle).

  • El color de relleno se utiliza como color de fondo para el texto impreso (como con print y printAt).

    • Si se utiliza transparent con texto impreso, el fondo será black.

  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y azul es 240.

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(20, 20, 75, 50);

Una captura de pantalla de la pantalla EXP Brain que muestra un rectángulo lleno de púrpura en el lado izquierdo de la pantalla.

setOrigin#

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

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

Return Values

Esta función no devuelve un valor.

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

  • El origen se aplica a funciones de coordenadas como drawLine, drawRectangle, drawCircle, y printAt.

  • El origen permanece vigente hasta que se cambie de nuevo o se restablezca el proyecto.

setClipRegion#

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

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 del clip, dada como un número entero de 0 a 159.

y

int

La coordenada y de la esquina superior izquierda de la región del clip, dada como un número entero de 0 a 107.

width

int

El ancho de la región del clip en píxeles, dado como un número entero de 0 a 159.

height

int

La altura de la región del clip en píxeles, dada como un número entero de 0 a 107.

Return Values

Esta función no devuelve un valor.

Notes
  • Las funciones de dibujo aún se ejecutan incluso si caen fuera de la región del clip, pero solo la parte dentro de la región es visible.

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede cambiar utilizando setOrigin.

  • La región de clip se aplica solo al subproceso actual.

  • Establecer una nueva región de clip reemplaza cualquier región de clip establecida previamente para el subproceso actual.

Examples

drawPixel#

Dibuja un píxel en la pantalla EXP Brain en la ubicación de píxeles x e y seleccionada.

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 de 0 a 159.

y

int

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

Return Values

Esta función no devuelve un valor.

Notes
  • Los píxeles se dibujan utilizando el color del lápiz actual configurado con setPenColor.

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede configurar utilizando setOrigin.

  • Si la ubicación de 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(50, 50);
Brain.Screen.drawPixel(50, 75);
Brain.Screen.drawPixel(75, 50);
Brain.Screen.drawPixel(75, 75);

Una captura de pantalla de la pantalla EXP Brain que muestra una variedad de píxeles que muestran las esquinas de un cuadrado cerca del centro de la pantalla.

drawLine#

Dibuja una línea recta que conecta dos puntos en la pantalla EXP Brain.

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 de 0 a 159.

y1

int

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

x2

int

La coordenada x final de la línea, dada como un número entero de 0 a 159.

y2

int

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

Return Values

Esta función no devuelve un valor.

Notes
  • Las líneas se dibujan utilizando el color de pluma actual configurado con setPenColor.

  • El ancho de la línea está determinado por el ancho actual del bolígrafo establecido con setPenWidth.

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede configurar utilizando setOrigin.

  • Si alguna parte de la línea se encuentra 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, 159, 107);

Una captura de pantalla de la pantalla EXP Brain muestra una delgada línea diagonal a través del centro, desde la esquina superior izquierda hasta la esquina inferior derecha.

drawRectangle#

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

Available Functions

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

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

2 — Dibuja y rellena un rectángulo con un objeto predefinido o custom color.

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

3 — Dibuja y rellena un rectángulo con 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 con 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 de 0 a 159.

y

int

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

width

int

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

height

int

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

color

const color&

Rellena el rectángulo usando un objeto de color color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También se puede usar un objeto de color personalizado.

color

const char*

Rellena el rectángulo con un valor de color hexadecimal (por ejemplo, “#FF0000”).

hue

int

Rellena el rectángulo utilizando un valor de tono en el rango de 0a359.

Return Values

Esta función no devuelve un valor.

Notes
  • El contorno del rectángulo se dibuja utilizando el color del bolígrafo actual establecido con setPenColor.

  • El grosor del contorno está determinado por el ancho actual del bolígrafo establecido con setPenWidth.

  • Cuando no se proporciona ningún parámetro de color, el interior del rectángulo se rellena utilizando el conjunto de colores de relleno actual con setFillColor.

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede cambiar utilizando setOrigin.

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

  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y azul es 240.

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(20, 20, 80, 30);

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

drawCircle#

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

Available Functions

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

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

2 — Dibuja y rellena un círculo con un objeto predefinido o color personalizado.

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

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

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

4 — Dibuja y rellena un círculo con 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 de 0 a 159.

y

int

La coordenada y del centro del círculo, dada como un número entero de 0 a 107.

radius

int

El radio del círculo, dado como un número entero de 0 a 107 píxeles.

color

const color&

Rellena el círculo usando un objeto de color color Los colores predefinidos incluyen:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
También se puede usar un objeto de color personalizado.

color

const char*

Rellena el círculo con un valor de color hexadecimal (por ejemplo, “#FF0000”).

hue

int

Rellena el círculo usando un valor de tono en el rango de 0a359.

Return Values

Esta función no devuelve un valor.

Notes
  • El contorno del círculo se dibuja utilizando el color del bolígrafo actual establecido con setPenColor.

  • El grosor del contorno está determinado por el ancho actual del bolígrafo establecido con setPenWidth.

  • Cuando no se proporciona ningún parámetro de color, el interior del círculo se rellena utilizando el conjunto de colores de relleno actual con setFillColor.

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede cambiar utilizando setOrigin.

  • El valor del parámetro hue se basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

Una rueda de colores que muestra el rango de colores de 0 a 359, donde rojo es 0, verde es 120 y azul es 240.

Examples
// Draw a circle on the screen
Brain.Screen.drawCircle(80, 50, 20);

Una captura de pantalla de la pantalla EXP Brain muestra un círculo con un delgado borde blanco dibujado en el centro.

drawImageFromFile#

Dibuja una imagen en la pantalla EXP Brain 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*

El nombre de archivo de la imagen en la tarjeta SD. El archivo debe tener una extensión .bmp o .png.

x

int

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

y

int

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

Return Values

Devuelve un booleano que indica si la imagen se dibujó correctamente:

  • true — La imagen se cargó y dibujó correctamente en la pantalla.
  • false — La imagen no se pudo dibujar (por ejemplo, si el archivo no existe o no es válido).

Notes
  • Los formatos de imagen admitidos son .bmp y .png.

  • El tamaño del archivo de imagen no debe exceder los 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 del tamaño de la pantalla Brain (aproximadamente 159 x 107 píxeles).

  • Las coordenadas x e y son relativas al origen actual de la pantalla, que se puede cambiar utilizando setOrigin.

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

render#

Habilita el doble búfer para la pantalla del cerebro. Una vez activada, las funciones de dibujo (como texto, formas o imágenes) ya no aparecerán inmediatamente durante el resto del proyecto. En su lugar, las actualizaciones solo se mostrarán cuando se vuelva a usar la renderización render 1). Esto permite actualizaciones de pantalla más fluidas y controladas, pero implica que no se verá nada hasta que se use la renderización render.

Available Functions

1 — Habilita el búfer doble o representa el búfer posterior en la pantalla.

bool render();

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

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

Parameters

Parámetro

Tipo

Descripción

bVsyncWait

bool

​

  • true — Espere a que la pantalla se actualice verticalmente antes de renderizar para reducir el desgarro visual.
  • false — No espere a que la pantalla se actualice verticalmente antes de renderizar.

bRunScheduler

bool

Opcional.

  • true (predeterminado) — Permitir que las tareas en segundo plano se ejecuten mientras se espera para renderizar.
  • false — No permitir que las tareas en segundo plano se ejecuten mientras se espera para renderizar.

Return Values

Devuelve un booleano que indica si los dibujos guardados en el búfer se representaron correctamente en la pantalla:

  • true — Los dibujos se representaron correctamente en la pantalla.
  • false — Los dibujos no se pudieron representar en la pantalla.
  • Notes
    • Llamar render requerirá que se utilice render para el resto del proyecto.

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