Ekran#

Wstęp#

Klasa ekranu screen pochodzi z klasy bazowej brain. Kontroluje ona sposób, w jaki mózg IQ (1. generacji) wyświetla tekst i wartości na wbudowanym ekranie.

Ekran IQ (1. generacji) Brain obsługuje do 5 wierszy i 21 kolumn tekstu.

Mózg VEX IQ (1. generacji) z nałożoną siatką numerowaną (kolumny 1–21 i wiersze 1–5). Czerwone linie nakładki podkreślają strukturę siatki, a strzałki oznaczają kolumnę 1, kolumnę 21, wiersz 1, wiersz 2 i wiersz 5. Pierwszy wiersz wyświetla liczby od 1 do 21 u góry.

Dostęp#

Dostęp do klasy ekranu screen jest możliwy poprzez:

Brain.Screen

Notatki#

  • Obiekt ekranu screen jest dostarczany przez Mózg. Nie jest tworzony bezpośrednio.

  • Projekty korzystają z pojedynczego globalnego obiektu Brain , więc funkcje ekranu są wywoływane za pomocą Brain.Screen.

Przykład#

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

Funkcje członkowskie#

Klasa ekranu screen zawiera następujące funkcje członkowskie:

  • print — Drukuje sformatowany tekst, liczby lub wartości logiczne na ekranie Brain.

  • setCursor — Przenosi kursor tekstowy do określonego wiersza i kolumny.

  • newLine — Czyści resztę bieżącego wiersza i przenosi kursor do następnego wiersza.

  • clearLine — Czyści resztę bieżącego wiersza lub czyści określony wiersz.

  • row — Zwraca wiersz, w którym zostanie wydrukowany tekst.

  • column — Zwraca kolumnę, w której zostanie wydrukowany tekst.

  • getStringHeight — Zwraca wysokość ciągu w pikselach, używając bieżącej czcionki.

  • getStringWidth — Zwraca szerokość ciągu w pikselach, używając bieżącej czcionki.

  • printAt — Drukuje sformatowany tekst w położeniu pikseli x, y (opcjonalnie nieprzezroczysty).

  • clearScreen — Czyści cały ekran (opcjonalnie do określonego koloru).

  • setFont — Ustawia czcionkę używaną do drukowania na ekranie.

  • setPenWidth — Ustawia grubość rysowanych linii i konturów kształtów.

  • setPenColor — Ustawia kolor tekstu, pikseli, linii i konturów kształtów.

  • setFillColor — Ustawia kolor wypełnienia dla narysowanych kształtów i tła drukowanego tekstu.

  • setOrigin — Ustawia początek używany dla współrzędnych ekranu.

  • setClipRegion — Ogranicza wyjście ekranowe do prostokątnego obszaru.

  • drawPixel — Rysuje jeden piksel w podanym współrzędnym.

  • drawLine — Rysuje linię między dwoma punktami.

  • drawRectangle — Rysuje prostokąt w położeniu x, y o określonym rozmiarze.

  • drawCircle — Rysuje okrąg w położeniu x, y o określonym promieniu.

  • render — Włącza podwójne buforowanie lub renderuje bufor tylny na ekranie.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej screen należy utworzyć instancję brain , jak pokazano poniżej:

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

print#

Wyświetla tekst, liczby lub wartości logiczne na ekranie IQ (1. generacji) Brain.

Available Functions

1 — Drukuje sformatowany tekst przy użyciu literałów ciągu lub ciągów tylko do odczytu w stylu języka C.

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

2 — Drukuje sformatowany tekst przy użyciu modyfikowalnych tablic znaków.

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

Parameters

Parametr

Typ

Opis

format

const char*

Ciąg formatujący podany jako literał ciągu lub ciąg tylko do odczytu w stylu języka C (na przykład “Score: %d”).

format

char*

Ciąg formatujący podany jako modyfikowalna tablica znaków.

…

Jedna lub więcej dodatkowych wartości wstawianych do ciągu formatującego, rozdzielonych przecinkami.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Wyjście rozpoczyna się od bieżącej pozycji kursora na ekranie.

  • W tekście drukowanym używana jest aktualna czcionka ekranowa .

  • Tekst drukowany używa aktualnego koloru pióra .

  • Tekst wydrukowany z opcją print jest zawsze drukowany z tłem, a kolor tła jest określany przez bieżący kolor wypełnienia

  • W przypadku używania ciągu formatującego liczba i typy przekazywanych wartości muszą odpowiadać specyfikatorom formatu w ciągu.

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

setCursor#

Przesuwa kursor do określonego wiersza i kolumny na ekranie IQ (1. generacji) Brain. Następne wywołanie print rozpocznie drukowanie od tego miejsca.

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

Parameters

Parametr

Typ

Opis

row

int32_t

Wiersz, do którego należy przenieść kursor.

col

int32_t

Kolumna, do której należy przenieść kursor.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ma wpływ na miejsce rozpoczęcia kolejnego wydruku tekstu podczas używania polecenia print.

  • Wiersze i kolumny oparte są na aktualnie ustawionej czcionce ekranowej.

  • Wywołanie setCursor ma wpływ tylko na pozycję późniejszego wyjścia tekstu.

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

Ekran mózgu IQ (1. generacji) wyświetlający wyśrodkowany tekst „VEXcode!”.

newLine#

Przesuwa kursor na początek następnego wiersza na ekranie Mózgu.

Available Functions
void newLine();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Jeżeli kursor znajduje się w środku zdania, polecenie newLine wyczyści resztę wiersza za kursorem przed przejściem do następnego wiersza.

  • Po wywołaniu newLinekursor zostaje umieszczony w pierwszej kolumnie następnego wiersza.

  • Pozycję kursora i numerację wierszy ustawia się za pomocą setCursor.

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

Ekran mózgu IQ (1. generacji) wyświetlający „Pierwszą wiadomość” i „Drugą wiadomość” w osobnych wierszach.

clearLine#

Czyści tekst z wiersza na ekranie mózgu IQ (1. generacja).

Available Functions

1 — Usuwa resztę bieżącego wiersza z pozycji kursora.

void clearLine();

2 — Czyści określony wiersz, używając aktualnie skonfigurowanego koloru wypełnienia.

void clearLine(
    int number );

3 — Czyści określony wiersz, używając obiektu predefiniowanego lub niestandardowego koloru.

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

4 — Czyści określony wiersz, używając szesnastkowej wartości koloru.

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

5 — Czyści określony wiersz przy użyciu wartości odcienia.

void clearLine(
    int number,
    int hue );

Parameters

Parametr

Typ

Opis

number

int

Numer wiersza do wyczyszczenia. Numeracja wierszy zaczyna się od 1.

color

const color&

Czyści wiersz, używając obiektu color Do wstępnie zdefiniowanych kolorów należą:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Można również użyć niestandardowego obiektu koloru.

color

const char*

Czyści wiersz przy użyciu szesnastkowej wartości koloru (na przykład “#000000”).

hue

int

Czyści wiersz, używając wartości odcienia całkowitej z zakresu 0–359, reprezentującej stopnie na kole kolorów.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Wyczyszczenie wiersza nie zmienia aktualnej pozycji kursora.

  • Pozycję kursora i numerację wierszy ustawia się za pomocą setCursor.

  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

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#

Zwraca aktualną pozycję wiersza kursora na ekranie IQ (1. generacja) Brain.

Available Functions
int32_t row();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość int32_t reprezentującą wiersz, w którym zostanie wydrukowany tekst.

Numeracja wierszy zaczyna się od 1.

Notes
  • Pozycja kursora opiera się na bieżącej czcionce ekranowej .

  • Zwrócona wartość wskazuje, gdzie pojawi się następny wydruk.

  • Wartość wiersza zmienia się, gdy drukowany jest tekst lub gdy wywoływana jest funkcja setCursor.

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

column#

Zwraca kolumnę, w której tekst będzie drukowany na ekranie IQ (1. generacja) Brain.

Available Functions
int32_t column();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość int32_t reprezentującą kolumnę, w której zostanie wydrukowany tekst.

Numeracja kolumn zaczyna się od 1.

Notes
  • Pozycja kursora opiera się na bieżącej czcionce ekranowej .

  • Zwrócona wartość wskazuje, gdzie pojawi się następny wydruk.

  • Wartość kolumny zmienia się, gdy drukowany jest tekst lub gdy wywołana jest funkcja setCursor.

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

getStringHeight#

Zwraca wysokość ciągu znaków w pikselach po wyświetleniu na ekranie IQ (1. generacja) Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametr

Typ

Opis

cstr

const char*

Tekst do zmierzenia, podany jako ciąg znaków w stylu C (na przykład “Hello”).

Return Values

Zwraca wartość int32_t reprezentującą wysokość ciągu w pikselach po wyświetleniu na ekranie Brain.

Notes
  • Zwracana wysokość zależy od aktualnie wybranej czcionki ekranowej

  • Funkcja ta mierzy ciąg znaków bez wyświetlania go na ekranie.

  • Zwrócona wysokość odzwierciedla sposób, w jaki ciąg będzie wyglądał po wydrukowaniu.

getStringWidth#

Zwraca szerokość ciągu znaków (w pikselach) po wyświetleniu na ekranie IQ Brain (1. generacji).

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametr

Typ

Opis

cstr

const char*

Tekst do zmierzenia, podany jako ciąg znaków w stylu C (na przykład “Hello”).

Return Values

Zwraca wartość int32_t reprezentującą szerokość ciągu w pikselach po wyświetleniu na ekranie Brain.

Notes
  • Zwracana szerokość zależy od aktualnie wybranej czcionki ekranowej

  • Funkcja ta mierzy ciąg znaków bez wyświetlania go na ekranie.

  • Zwrócona szerokość odzwierciedla wygląd ciągu znaków po wydrukowaniu.

printAt#

Drukuje tekst, liczby lub wartości logiczne w określonych współrzędnych na ekranie IQ (1. generacji) Brain.

Available Functions

1 — Drukuje sformatowany wynik w określonej lokalizacji piksela.

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

2 — Drukuje sformatowany wynik w określonym miejscu piksela i ustawia, czy tło tekstu ma być nieprzezroczyste czy przezroczyste.

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

Parameters

Parametr

Typ

Opis

x

int32_t

Pozycja x, w której należy drukować, odniesiona do początku ekranu.

y

int32_t

Pozycja y, w której należy drukować, względem początku ekranu.

bOpaque

bool

Steruje, czy drukowany tekst ma być rysowany nieprzezroczysty czy przezroczysty:

  • true — Tło drukowanego tekstu jest wypełniane przy użyciu bieżącego koloru wypełnienia.
  • false — Tekst jest rysowany przezroczyście, a tło nie jest wypełnione.

format

const char*

Ciąg formatujący, który kontroluje, co jest drukowane na ekranie (na przykład “Score: %d”).

…

Jedna lub więcej dodatkowych wartości wstawianych do ciągu formatującego, rozdzielonych przecinkami.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Współrzędne x i y odnoszą się do bieżącego początku ekranu i można je zmienić za pomocą polecenia setOrigin.

  • W tekście drukowanym używana jest aktualna czcionka ekranowa .

  • Tekst drukowany używa aktualnego koloru pióra .

  • W przypadku używania ciągu formatującego liczba i typy przekazywanych wartości muszą odpowiadać specyfikatorom formatu w ciągu.

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

clearScreen#

Usuwa wszystkie rysunki i tekst z ekranu Mózgu.

Available Functions

1 — Wyczyść ekran do czerni.

void clearScreen();

2 — Czyści ekran, używając zdefiniowanego wstępnie obiektu lub obiektu niestandardowego koloru.

void clearScreen(
    const color& color );

3 — Czyści ekran, używając szesnastkowej wartości koloru.

void clearScreen(
    const char* color );

4 — Czyści ekran, używając wartości odcienia.

void clearScreen(
    int hue );

Parameters

Parametr

Typ

Opis

color

const color&

Czyści ekran, używając obiektu color koloru. Do predefiniowanych kolorów należą:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Można również użyć niestandardowego obiektu koloru.

color

const char*

Czyści ekran, używając szesnastkowej wartości koloru reprezentowanej jako ciąg znaków (na przykład “#000000”).

hue

int

Czyści ekran, używając wartości odcienia całkowitej z zakresu 0–359, reprezentującej stopnie na kole kolorów.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

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#

Ustawia czcionkę używaną do wyświetlania tekstu na ekranie mózgu IQ (1. generacji).

Steruje czcionką stosowaną do późniejszego wydruku tekstu podczas korzystania z funkcji tekstu ekranowego, takich jak print.

Available Functions
void setFont(
  fontType font );

Parameters

Parametr

Typ

Opis

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

Ta funkcja nie zwraca wartości.

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#

Ustawia grubość rysowanych linii i konturów kształtów.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametr

Typ

Opis

width

uint32_t

Szerokość pióra w pikselach od 0 do 32.

Return Values

Ta funkcja nie zwraca wartości.

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#

Ustawia kolor tekstu, pikseli, linii i konturów kształtów.

Available Functions

1 — Ustawia kolor pióra za pomocą zdefiniowanego wstępnie obiektu lub obiektu niestandardowego koloru.

void setPenColor(
    const color& color );

2 — Ustawia kolor pióra, używając szesnastkowej wartości koloru.

void setPenColor(
    const char* color );

3 — Ustawia kolor pióra za pomocą wartości odcienia.

void setPenColor(
    int hue );

Parameters

Parametr

Typ

Opis

color

const color&

Ustawia kolor pióra, używając obiektu color Predefiniowane kolory obejmują:

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

color

const char*

Ustawia kolor pióra, używając szesnastkowej wartości koloru reprezentowanej jako ciąg (na przykład “#FF0000”).

hue

int

Ustawia kolor pióra, używając wartości odcienia całkowitej z zakresu 0–359, reprezentującej stopnie na kole kolorów (na przykład 0 to czerwony, 120 to zielony, a 240 to niebieski).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

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

setFillColor#

Ustawia kolor wypełnienia używany podczas rysowania kształtów.

Available Functions

1 — Ustawia kolor wypełnienia przy użyciu zdefiniowanego wstępnie lub niestandardowego koloru.

void setFillColor(
    const color& color );

2 — Ustawia kolor wypełnienia, używając szesnastkowej wartości koloru.

void setFillColor(
    const char* color );

3 — Ustawia kolor wypełnienia za pomocą wartości odcienia.

void setFillColor(
    int hue );

Parameters

Parametr

Typ

Opis

color

const color&

Ustawia kolor wypełnienia, używając obiektu color Predefiniowane kolory obejmują:

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

color

const char*

Ustawia kolor wypełnienia, używając szesnastkowej wartości koloru reprezentowanej jako ciąg (na przykład “#00FF00”).

hue

int

Ustawia kolor wypełnienia, używając wartości odcienia całkowitej z zakresu 0–359, reprezentującej stopnie na kole kolorów (na przykład 0 to czerwony, 120 to zielony, a 240 to niebieski).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

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

setOrigin#

Ustawia punkt początkowy używany do rysowania grafiki na ekranie mózgu.

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

Parameters

Parametr

Typ

Opis

x

int32_t

Pozycja x początku układu współrzędnych względem lewego górnego rogu ekranu mózgu od 0 do 159.

y

int32_t

Pozycja y punktu początkowego względem lewego górnego rogu ekranu mózgu od 0 do 107.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Domyślnym punktem początkowym jest lewy górny róg ekranu o współrzędnych (0, 0).

  • Początek ma zastosowanie do funkcji współrzędnych, takich jak drawLine, drawRectangle, drawCircle i printAt.

  • Pochodzenie pozostaje aktualne do momentu kolejnej zmiany lub zresetowania projektu.

setClipRegion#

Definiuje prostokątny obszar na ekranie, w którym będą wyświetlane wszystkie rysunki i tekst. Zawartość spoza tego obszaru nie będzie wyświetlana.

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

Parameters

Parametr

Typ

Opis

x

int

Współrzędna x lewego górnego rogu obszaru klipu, podana jako liczba całkowita od 0 do 159.

y

int

Współrzędna y lewego górnego rogu obszaru klipu, podana jako liczba całkowita od 0 do 107.

width

int

Szerokość obszaru przycinania w pikselach, podana jako liczba całkowita od 0 do 159.

height

int

Wysokość obszaru klipu w pikselach, podana jako liczba całkowita od 0 do 107.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Funkcje rysowania są nadal wykonywane, nawet jeśli znajdują się poza obszarem przycinania, ale widoczna jest tylko część wewnątrz obszaru.

  • Współrzędne x i y odnoszą się do bieżącego początku ekranu i można je zmienić za pomocą polecenia setOrigin.

  • Obszar przycinania dotyczy tylko bieżącego wątku.

  • Ustawienie nowego obszaru klipu powoduje zastąpienie każdego wcześniej ustawionego obszaru klipu dla bieżącego wątku.

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#

Rysuje pojedynczy piksel na ekranie mózgu IQ (1. generacja) w określonym położeniu piksela x i y.

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

Parameters

Parametr

Typ

Opis

x

int

Współrzędna x, w której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 159.

y

int

Współrzędna y, na której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 107.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

  • Współrzędne x i y odnoszą się do bieżącego początku ekranu, który można ustawić za pomocą setOrigin.

  • Jeżeli określona lokalizacja piksela znajduje się poza granicami ekranu, piksel nie zostanie narysowany.

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

drawLine#

Rysuje prostą linię łączącą dwa punkty na ekranie IQ (1. generacja) Brain.

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

Parameters

Parametr

Typ

Opis

x1

int

Początkowa współrzędna x linii, podana jako liczba całkowita od 0 do 159.

y1

int

Początkowa współrzędna y linii, podana jako liczba całkowita od 0 do 107.

x2

int

Końcowa współrzędna x linii, podana jako liczba całkowita od 0 do 159.

y2

int

Końcowa współrzędna y linii, podana jako liczba całkowita od 0 do 107.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

  • Szerokość linii jest określana na podstawie aktualnej szerokości pióra ustawionej za pomocą setPenWidth.

  • Współrzędne x i y odnoszą się do bieżącego początku ekranu, który można ustawić za pomocą setOrigin.

  • Jeżeli jakakolwiek część linii znajduje się poza granicami ekranu, rysowana jest tylko widoczna część.

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

drawRectangle#

Rysuje prostokąt na ekranie mózgu IQ (1. generacji) w określonym położeniu i rozmiarze.

Available Functions

1 — Rysuje i wypełnia prostokąt przy użyciu aktualnie skonfigurowanego koloru wypełnienia.

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

2 — Rysuje i wypełnia prostokąt przy użyciu zdefiniowanego wstępnie obiektu lub obiektu niestandardowego koloru.

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

3 — Rysuje i wypełnia prostokąt przy użyciu szesnastkowej wartości koloru.

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

4 — Rysuje i wypełnia prostokąt przy użyciu wartości odcienia.

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

Parameters

Parametr

Typ

Opis

x

int

Współrzędna x lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 159.

y

int

Współrzędna y lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 107.

width

int

Szerokość prostokąta, podana jako liczba całkowita od 0 do 159.

height

int

Wysokość prostokąta podana jako liczba całkowita od 0 do 107.

color

const color&

Wypełnia prostokąt, używając obiektu o kolorze color Do predefiniowanych kolorów należą:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Można również użyć niestandardowego obiektu koloru.

color

const char*

Wypełnia prostokąt, używając szesnastkowej wartości koloru (na przykład “#FF0000”).

hue

int

Wypełnia prostokąt, używając wartości odcienia z zakresu 0–359.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

  • Grubość konturu jest określana na podstawie aktualnej szerokości pióra ustawionej za pomocą setPenWidth.

  • Współrzędne x i y odnoszą się do bieżącego początku ekranu i można je zmienić za pomocą polecenia setOrigin.

  • Jeżeli jakakolwiek część prostokąta znajduje się poza granicami ekranu, rysowana jest tylko widoczna część.

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

drawCircle#

Rysuje okrąg na ekranie mózgu IQ (1. generacja) w określonym miejscu i o określonym promieniu.

Available Functions

1 — Rysuje i wypełnia okrąg, używając aktualnie skonfigurowanego koloru wypełnienia.

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

2 — Rysuje i wypełnia okrąg przy użyciu zdefiniowanego wcześniej obiektu lub obiektu niestandardowego koloru.

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

3 — Rysuje i wypełnia okrąg przy użyciu szesnastkowej wartości koloru.

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

4 — Rysuje i wypełnia okrąg przy użyciu wartości odcienia.

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

Parameters

Parametr

Typ

Opis

x

int

Współrzędna x środka okręgu, podana jako liczba całkowita od 0 do 159.

y

int

Współrzędna y środka okręgu, podana jako liczba całkowita od 0 do 107.

radius

int

Promień okręgu podany jako liczba całkowita od 0 do 107 pikseli.

color

const color&

Wypełnia okrąg, używając obiektu o kolorze color Predefiniowane kolory obejmują:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Można również użyć niestandardowego obiektu koloru.

color

const char*

Wypełnia okrąg, używając szesnastkowej wartości koloru (na przykład “#FF0000”).

hue

int

Wypełnia okrąg, używając wartości odcienia z zakresu 0–359.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Ekran IQ (1. generacji) Brain jest wyświetlaczem monochromatycznym, więc na ekranie nie będą wyświetlane niektóre kolory.

  • Grubość konturu jest określana na podstawie aktualnej szerokości pióra ustawionej za pomocą setPenWidth.

  • Współrzędne x i y odnoszą się do bieżącego początku ekranu i można je zmienić za pomocą polecenia setOrigin.

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

render#

Włącza podwójne buforowanie ekranu Brain. Po wywołaniu, wszelkie funkcje rysowania (takie jak tekst czy kształty) nie będą już wyświetlane od razu w całym projekcie. Zamiast tego aktualizacje będą widoczne dopiero po ponownym użyciu polecenia render Umożliwia to płynniejsze i bardziej kontrolowane aktualizacje ekranu, ale oznacza, że ​​nic nie będzie widoczne, dopóki polecenie render nie zostanie użyte.

Available Functions

1 — Włącza podwójne buforowanie lub renderuje bufor tylny na ekranie.

bool render();

2 — Renderuje bufor tylny na ekranie, zapewniając kontrolę nad zachowaniem synchronizacji pionowej i opcjonalnym wykonywaniem harmonogramu.

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

Parameters

Parametr

Typ

Opis

bVsyncWait

bool

​

  • true — Poczekaj na odświeżenie ekranu w pionie przed renderowaniem, aby zmniejszyć rozrywanie obrazu.
  • false — Nie czekaj na odświeżenie ekranu w pionie przed renderowaniem.

bRunScheduler

bool

Opcjonalnie.

  • true (domyślnie) — Zezwalaj na uruchamianie zadań w tle podczas oczekiwania na renderowanie.
  • false — Nie zezwalaj na uruchamianie zadań w tle podczas oczekiwania na renderowanie.

Return Values

Zwraca wartość logiczną wskazującą, czy zapisane w buforze rysunki zostały pomyślnie wyrenderowane na ekranie:

  • true — Rysunki zostały pomyślnie wyrenderowane na ekranie.
  • false — Rysunków nie udało się wyrenderować na ekranie.
  • Notes
    • Wywołanie polecenia render spowoduje, że w całym projekcie będzie wymagane użycie polecenia 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();