Екран#

Вступ#

Клас screen походить від базового класу brain. Він керує тим, як IQ (1-го покоління) Brain відображає текст і значення на своєму вбудованому екрані.

Екран IQ (1-го покоління) Brain підтримує до 5 рядків та 21 стовпця тексту.

Мозок VEX IQ (1-го покоління) з нумерованою сіткою (стовпці 1–21 та рядки 1–5). Червоні лінії накладання виділяють структуру сітки, а стрілки позначають стовпець 1, стовпець 21, рядок 1, рядок 2 та рядок 5. Перший рядок відображає числа від 1 до 21 зверху.

Доступ#

Доступ до класу screen можна отримати за допомогою:

Brain.Screen

Нотатки#

  • Об’єкт screen надається мозком. Він не конструюється безпосередньо.

  • Проєкти використовують один глобальний об’єкт Brain , тому функції екрану викликаються за допомогою Brain.Screen.

Приклад#

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

Функції-члени#

Клас screen містить такі функції-члени:

  • print — Виводить відформатований текст, числа або логічні значення на екран Brain.

  • setCursor — Переміщує текстовий курсор до вказаного рядка та стовпця.

  • newLine — Очищає залишок поточного рядка та переміщує курсор на наступний рядок.

  • clearLine — Очищає залишок поточного рядка або очищає вказаний рядок.

  • row — Повертає рядок, у який буде надруковано текст.

  • column — Повертає стовпець, у якому буде надруковано текст.

  • getStringHeight — Повертає висоту рядка в пікселях, використовуючи поточний шрифт.

  • getStringWidth — Повертає ширину рядка в пікселях, використовуючи поточний шрифт.

  • printAt — Друкує відформатований текст у піксельному положенні x, y (необов’язково непрозорий).

  • clearScreen — Очищає весь екран (за бажанням до заданого кольору).

  • setFont — Встановлює шрифт, який використовується для друку на екрані.

  • setPenWidth — Встановлює товщину намальованих ліній та контурів фігур.

  • setPenColor — Встановлює колір тексту, пікселів, ліній та контурів фігур.

  • setFillColor — Встановлює колір заливки для намальованих фігур та фону друкованого тексту.

  • setOrigin — Встановлює початок відліку, що використовується для координат екрана.

  • setClipRegion — Обмежує вивід на екран прямокутною областю.

  • drawPixel — Малює один піксель за заданою координатою.

  • drawLine — Малює лінію між двома точками.

  • drawRectangle — Малює прямокутник у точці x, y із заданим розміром.

  • drawCircle — Малює коло в точці x, y із заданим радіусом.

  • render — Вмикає подвійну буферизацію або відтворює зворотний буфер на екрані.

Перед викликом будь-яких функцій-членів screen необхідно створити екземпляр brain , як показано нижче:

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

print#

Відображає текст, числа або логічні значення на екрані IQ (1-го покоління) Brain.

Available Functions

1 — Друкує відформатований текст за допомогою рядкових літералів або рядків у стилі C, доступних лише для читання.

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

2 — Друкує відформатований текст за допомогою змінюваних масивів символів.

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

Parameters

Параметр

Тип

Опис

format

const char*

Рядок форматування, наданий як рядковий літерал або рядок у стилі C, доступний лише для читання (наприклад, “Score: %d”).

format

char*

Рядок форматування, наданий як змінний масив символів.

…

Одне або кілька додаткових значень, що вставляються у рядок форматування, розділених комами.

Return Values

Ця функція не повертає значення.

Notes
  • Вивід починається з поточної позиції курсора на екрані.

  • Друкований текст використовує поточний екранний шрифт .

  • Друкований текст використовує поточний колір пера .

  • Текст, надрукований за допомогою print завжди друкується з фоном, а колір фону визначається кольором заливки.

  • Під час використання рядка форматування кількість та типи переданих значень повинні збігатися зі специфікаторами формату format specificiers у рядку.

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

setCursor#

Переміщує курсор до певного рядка та стовпця на екрані IQ (1-го покоління) Brain. Наступний виклик print почне друк у цьому місці.

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

Parameters

Параметр

Тип

Опис

row

int32_t

Рядок, до якого потрібно перемістити курсор.

col

int32_t

Стовпець, до якого потрібно перемістити курсор.

Return Values

Ця функція не повертає значення.

Notes
  • Впливає на початок наступного виводу тексту при використанні print.

  • Рядки та стовпці базуються на поточно встановленому шрифті екрана.

  • Виклик setCursor впливає лише на позицію наступного виводу тексту.

Examples
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

Екран IQ (1-го покоління) Brain відображає центрований текст із написом «VEXcode!».

newLine#

Переміщує курсор на початок наступного рядка на екрані Brain.

Available Functions
void newLine();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Ця функція не повертає значення.

Notes
  • Якщо курсор знаходиться посередині речення, newLine очистить решту рядка після курсора перед переходом до наступного рядка.

  • Після виклику newLineкурсор позиціонується у першому стовпці наступного рядка.

  • Позиція курсора та нумерація рядків встановлюються за допомогою setCursor.

Examples
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

Екран мозку IQ (1-го покоління), на якому відображаються «Перше повідомлення» та «Друге повідомлення», на окремих рядках.

clearLine#

Очищає текст з рядка на екрані IQ (1-го покоління) Brain.

Available Functions

1 — Очищає решту поточного рядка від позиції курсора.

void clearLine();

2 — Очищає вказаний рядок, використовуючи поточний налаштований колір заливки.

void clearLine(
    int number );

3 — Очищає вказаний рядок за допомогою попередньо визначеного або об’єкта користувацький колір.

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

4 — Очищає вказаний рядок, використовуючи шістнадцяткове значення кольору.

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

5 — Очищає вказаний рядок, використовуючи значення відтінку.

void clearLine(
    int number,
    int hue );

Parameters

Параметр

Тип

Опис

number

int

Номер рядка, який потрібно очистити. Нумерація рядків починається з 1.

color

const color&

Очищає рядок за допомогою об’єкта кольору color Попередньо визначені кольори включають:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Також можна використовувати користувацький об’єкт кольору.

color

const char*

Очищає рядок, використовуючи шістнадцяткове значення кольору (наприклад, “#000000”).

hue

int

Очищає рядок, використовуючи ціле значення відтінку в діапазоні 0–359, що представляє градуси на колірному колі.

Return Values

Ця функція не повертає значення.

Notes
  • Очищення рядка не змінює поточну позицію курсора.

  • Позиція курсора та нумерація рядків встановлюються за допомогою setCursor.

  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

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#

Повертає поточну позицію рядка курсора на екрані IQ (1-го покоління) Brain.

Available Functions
int32_t row();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає значення int32_t , яке представляє рядок, у який буде надруковано текст.

Нумерація рядків починається з 1.

Notes
  • Позиція курсора базується на поточному шрифті екрана .

  • Повернене значення вказує, де з’явиться наступний друкований вивід.

  • Значення рядка змінюється під час друку тексту або виклику функції setCursor.

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

column#

Повертає стовпець, у якому текст буде надруковано на екрані IQ (1-го покоління) Brain.

Available Functions
int32_t column();

Parameters

Ця функція не приймає жодних параметрів.

Return Values

Повертає значення int32_t , яке представляє стовпець, у який буде надруковано текст.

Нумерація стовпців починається з 1.

Notes
  • Позиція курсора базується на поточному шрифті екрана .

  • Повернене значення вказує, де з’явиться наступний друкований вивід.

  • Значення стовпця змінюється під час друку тексту або виклику функції setCursor.

Examples
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());

getStringHeight#

Повертає висоту рядка в пікселях під час відображення на екрані IQ Brain (1-го покоління).

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Параметр

Тип

Опис

cstr

const char*

Текст, який потрібно виміряти, у вигляді рядка у стилі C (наприклад, “Hello”).

Return Values

Повертає значення int32_t , яке представляє висоту рядка в пікселях під час рендерингу на екрані Brain.

Notes

getStringWidth#

Повертає ширину рядка в пікселях під час відображення на екрані IQ Brain (1-го покоління).

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Параметр

Тип

Опис

cstr

const char*

Текст, який потрібно виміряти, у вигляді рядка у стилі C (наприклад, “Hello”).

Return Values

Повертає значення int32_t , яке представляє ширину рядка в пікселях під час рендерингу на екрані Brain.

Notes

printAt#

Друкує текст, числа або логічні значення за певною координатою на екрані IQ (1-го покоління) Brain.

Available Functions

1 — Друкує відформатований вивід у вказаному місці пікселя.

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

2 — Друкує відформатований вивід у вказаному місці пікселя та встановлює, чи є фон тексту непрозорим чи прозорим.

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

Parameters

Параметр

Тип

Опис

x

int32_t

Позиція x для друку, відносно початку координат на екрані.

y

int32_t

Позиція по осі Y для друку, відносно початку координат на екрані.

bOpaque

bool

Керує тим, чи друкований текст малюється непрозорим чи прозорим:

  • true — Фон друкованого тексту заповнюється за допомогою поточного кольору заливки.
  • false — Текст малюється прозорим, а фон не заповнюється.

format

const char*

Рядок форматування, який контролює те, що друкується на екрані (наприклад, “Score: %d”).

…

Одне або кілька додаткових значень, що вставляються у рядок форматування, розділених комами.

Return Values

Ця функція не повертає значення.

Notes
  • Координати x та y залежать від поточного початку координат екрана, який можна змінити за допомогою setOrigin.

  • Друкований текст використовує поточний екранний шрифт .

  • Друкований текст використовує поточний колір пера .

  • Під час використання рядка форматування кількість та типи переданих значень повинні збігатися зі специфікаторами формату format specificiers у рядку.

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

clearScreen#

Стирає всі малюнки та текст з екрана Мозку.

Available Functions

1 — Очищає екран до чорного кольору.

void clearScreen();

2 — Очищає екран за допомогою попередньо визначеного або налаштованого об’єкта кольору власний колір.

void clearScreen(
    const color& color );

3 — Очищає екран, використовуючи шістнадцяткове значення кольору.

void clearScreen(
    const char* color );

4 — Очищає екран за допомогою значення відтінку.

void clearScreen(
    int hue );

Parameters

Параметр

Тип

Опис

color

const color&

Очищає екран за допомогою об’єкта кольору color Попередньо визначені кольори включають:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Також можна використовувати користувацький об’єкт кольору.

color

const char*

Очищає екран, використовуючи шістнадцяткове значення кольору, представлене у вигляді рядка (наприклад, “#000000”).

hue

int

Очищає екран, використовуючи ціле значення відтінку в діапазоні 0–359, що представляє градуси на колірному колі.

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

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

setFont#

Встановлює шрифт, який використовується для тексту, що відображається на екрані IQ (1-го покоління) Brain.

Це керує шрифтом, що застосовується до наступного виводу тексту під час використання функцій екранного тексту, таких як print.

Available Functions
void setFont(
  fontType font );

Parameters

Параметр

Тип

Опис

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.

Return Values

Ця функція не повертає значення.

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

setPenWidth#

Встановлює товщину намальованих ліній та контурів фігур.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Параметр

Тип

Опис

width

uint32_t

Ширина пера, у пікселях, від 0 до 32.

Return Values

Ця функція не повертає значення.

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

setPenColor#

Встановлює колір тексту, пікселів, ліній та контурів фігур.

Available Functions

1 — Встановлює колір пера за допомогою попередньо визначеного або налаштованого об’єкта власний колір.

void setPenColor(
    const color& color );

2 — Встановлює колір пера, використовуючи шістнадцяткове значення кольору.

void setPenColor(
    const char* color );

3 — Встановлює колір пера за допомогою значення відтінку.

void setPenColor(
    int hue );

Parameters

Параметр

Тип

Опис

color

const color&

Встановлює колір пера за допомогою об’єкта кольору color Попередньо визначені кольори включають:

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

color

const char*

Встановлює колір пера, використовуючи шістнадцяткове значення кольору, представлене у вигляді рядка (наприклад, “#FF0000”).

hue

int

Встановлює колір пера, використовуючи ціле значення відтінку в діапазоні 0–359, що представляє градуси на колірному колі (наприклад, 0 — червоний, 120 — зелений, а 240 — синій).

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

Examples
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

setFillColor#

Встановлює колір заливки, який використовується під час малювання фігур.

Available Functions

1 — Встановлює колір заливки за допомогою попередньо визначеного або об’єкта користувацький колір.

void setFillColor(
    const color& color );

2 — Встановлює колір заливки, використовуючи шістнадцяткове значення кольору.

void setFillColor(
    const char* color );

3 — Встановлює колір заливки за допомогою значення відтінку.

void setFillColor(
    int hue );

Parameters

Параметр

Тип

Опис

color

const color&

Встановлює колір заливки за допомогою об’єкта кольору color Попередньо визначені кольори включають:

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

color

const char*

Встановлює колір заливки, використовуючи шістнадцяткове значення кольору, представлене у вигляді рядка (наприклад, “#00FF00”).

hue

int

Встановлює колір заливки, використовуючи ціле значення відтінку в діапазоні 0–359, що представляє градуси навколо колірного кола (наприклад, 0 — червоний, 120 — зелений, а 240 — синій).

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

Examples
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

setOrigin#

Встановлює початок координат, що використовується для малювання графіки на екрані Brain.

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

Parameters

Параметр

Тип

Опис

x

int32_t

Положення початку координат по осі x відносно верхнього лівого кута екрана Brain від 0 до 159.

y

int32_t

Положення початку координат за осю Y відносно верхнього лівого кута екрана Brain від 0 до 107.

Return Values

Ця функція не повертає значення.

Notes
  • Початком координат за замовчуванням є верхній лівий кут екрана з координатою (0, 0).

  • Початок координат застосовується до функцій координат, таких як drawLine, drawRectangle, drawCircle та printAt.

  • Початок залишається чинним, доки його знову не змінять або проєкт не буде скинуто.

setClipRegion#

Визначає прямокутну область на екрані, де будуть обмежені всі малюнки та текст. Будь-який вміст поза цією областю не відображатиметься.

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

Parameters

Параметр

Тип

Опис

x

int

Координата x верхнього лівого кута області відсікання, задана як ціле число від 0 до 159.

y

int

Y-координата верхнього лівого кута області відсікання, задана як ціле число від 0 до 107.

width

int

Ширина області кліпу в пікселях, задана як ціле число від 0 до 159.

height

int

Висота області кліпу в пікселях, задана як ціле число від 0 до 107.

Return Values

Ця функція не повертає значення.

Notes
  • Функції малювання все ще виконуються, навіть якщо вони знаходяться за межами області кліпування, але видимою є лише частина всередині області.

  • Координати x та y залежать від поточного початку координат екрана, який можна змінити за допомогою setOrigin.

  • Область відсікання застосовується лише до поточного потоку.

  • Встановлення нової області відсікання замінює будь-яку раніше встановлену область відсікання для поточного потоку.

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

drawPixel#

Малює один піксель на екрані IQ (1-го покоління) Brain у вказаному місці пікселя x та y.

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

Parameters

Параметр

Тип

Опис

x

int

Координата x, де буде намальовано піксель, задана як ціле число від 0 до 159.

y

int

Координата Y, де буде намальовано піксель, задана як ціле число від 0 до 107.

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

  • Координати x та y залежать від поточного початку координат екрана, який можна встановити за допомогою setOrigin.

  • Якщо вказане розташування пікселя знаходиться за межами екрана, піксель не відображатиметься.

Examples
// Draw one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

drawLine#

Малює пряму лінію, що з’єднує дві точки на екрані IQ (1-го покоління) Brain.

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

Parameters

Параметр

Тип

Опис

x1

int

Початкова x-координата лінії, задана як ціле число від 0 до 159.

y1

int

Початкова координата y лінії, задана як ціле число від 0 до 107.

x2

int

Кінцева x-координата лінії, задана як ціле число від 0 до 159.

y2

int

Кінцева координата y лінії, задана як ціле число від 0 до 107.

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

  • Ширина лінії визначається поточною шириною пера, встановленою за допомогою setPenWidth.

  • Координати x та y залежать від поточного початку координат екрана, який можна встановити за допомогою setOrigin.

  • Якщо будь-яка частина лінії виходить за межі екрана, малюється лише її видима частина.

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

drawRectangle#

Малює прямокутник на екрані IQ (1-го покоління) Brain у вказаному положенні та розмірі.

Available Functions

1 — Малює та заповнює прямокутник, використовуючи поточний налаштований колір заливки.

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

2 — Малює та заповнює прямокутник, використовуючи попередньо визначений або власний колір об’єкта користувацький колір.

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

3 — Малює та заповнює прямокутник, використовуючи шістнадцяткове значення кольору.

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

4 — Малює та заповнює прямокутник, використовуючи значення відтінку.

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

Parameters

Параметр

Тип

Опис

x

int

Координата x верхнього лівого кута прямокутника, задана як ціле число від 0 до 159.

y

int

Y-координата верхнього лівого кута прямокутника, задана як ціле число від 0 до 107.

width

int

Ширина прямокутника, задана як ціле число від 0 до 159.

height

int

Висота прямокутника, задана як ціле число від 0 до 107.

color

const color&

Заповнює прямокутник за допомогою об’єкта кольору color Попередньо визначені кольори включають:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Також можна використовувати користувацький об’єкт кольору.

color

const char*

Заповнює прямокутник шістнадцятковим значенням кольору (наприклад, “#FF0000”).

hue

int

Заповнює прямокутник значенням відтінку в діапазоні 0–359.

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

  • Товщина контуру визначається поточною шириною пера, встановленою за допомогою setPenWidth.

  • Координати x та y залежать від поточного початку координат екрана, який можна змінити за допомогою setOrigin.

  • Якщо будь-яка частина прямокутника лежить за межами екрана, малюється лише видима частина.

Examples
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

drawCircle#

Малює коло на екрані IQ (1-го покоління) Brain у вказаному положенні та радіусі.

Available Functions

1 — Малює та заповнює коло, використовуючи поточний налаштований колір заливки.

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

2 — Малює та заповнює коло, використовуючи попередньо визначений або власний колір об’єкта власний колір.

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

3 — Малює та заповнює коло, використовуючи шістнадцяткове значення кольору.

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

4 — Малює та заповнює коло, використовуючи значення відтінку.

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

Parameters

Параметр

Тип

Опис

x

int

Координата x центру кола, задана як ціле число від 0 до 159.

y

int

Y-координата центру кола, задана як ціле число від 0 до 107.

radius

int

Радіус кола, заданий як ціле число від 0 до 107 пікселів.

color

const color&

Заповнює коло за допомогою об’єкта кольору color Попередньо визначені кольори включають:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Також можна використовувати користувацький об’єкт кольору.

color

const char*

Заповнює коло шістнадцятковим значенням кольору (наприклад, “#FF0000”).

hue

int

Заповнює коло значенням відтінку в діапазоні 0–359.

Return Values

Ця функція не повертає значення.

Notes
  • Екран IQ (1-го покоління) Brain є монохромним, тому певні кольори не відображатимуться на екрані.

  • Товщина контуру визначається поточною шириною пера, встановленою за допомогою setPenWidth.

  • Координати x та y залежать від поточного початку координат екрана, який можна змінити за допомогою setOrigin.

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

render#

Вмикає подвійну буферизацію для екрана Brain. Після виклику будь-які функції малювання (наприклад, текст або фігури) більше не відображатимуться негайно для решти проекту. Натомість оновлення відображатимуться лише тоді, коли знову буде використано render Це забезпечує плавніші та контрольованіші оновлення екрана, але означає, що нічого не буде видно, доки не буде використано render.

Available Functions

1 — Вмикає подвійну буферизацію або виводить дані зворотного буфера на екран.

bool render();

2 — Відтворює задній буфер на екрані з контролем вертикальної синхронізації та додатковим виконанням планувальника.

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

Parameters

Параметр

Тип

Опис

bVsyncWait

bool

​

  • true — Зачекайте вертикального оновлення екрана перед рендерингом, щоб зменшити візуальні розриви.
  • false — Не чекайте вертикального оновлення екрана перед рендерингом.

bRunScheduler

bool

Необов’язково.

  • true (за замовчуванням) — Дозволити виконання фонових завдань під час очікування рендерингу.
  • false — Не дозволити виконання фонових завдань під час очікування рендерингу.

Return Values

Повертає логічне значення, яке вказує, чи збережені малюнки в буфері були успішно відображені на екрані:

  • true — Малюнки були успішно відображені на екрані.
  • false — Малюнки не вдалося відобразити на екрані.
  • Notes
    • Виклик render вимагатиме використання render для решти проєкту.

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