Layar#

Perkenalan#

Kelas screen diturunkan dari kelas dasar brain. Kelas ini mengontrol bagaimana EXP Brain menampilkan teks, angka, dan grafik di layarnya.

Layar EXP Brain memiliki jumlah baris dan kolom yang telah ditentukan untuk digunakan saat mencetak teks di layarnya.

Secara default, font untuk pencetakan ke Brain adalah mono20 yang memiliki 7 baris dan 20 kolom.

Untuk menggambar, resolusi Brain adalah 159 x 107 piksel.

Diagram grid berlabel dari layar VEX Brain yang menunjukkan baris, kolom, dimensi piksel, dan koordinat, dengan garis merah yang menguraikan grid.

Mengakses#

Kelas screen dapat diakses dengan:

Brain.Screen

Catatan#

  • Objek screen disediakan oleh Otak. Objek ini tidak dibangun secara langsung.

  • Proyek menggunakan satu objek global Brain , sehingga fungsi layar dipanggil menggunakan Brain.Screen.

Contoh#

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

Fungsi Keanggotaan#

Kelas screen mencakup fungsi anggota berikut:

  • print — Mencetak teks, angka, atau nilai Boolean yang diformat ke layar Brain.

  • setCursor — Memindahkan kursor teks ke baris dan kolom yang ditentukan.

  • newLine — Menghapus sisa baris saat ini dan memindahkan kursor ke baris berikutnya.

  • clearLine — Menghapus sisa baris saat ini atau menghapus baris tertentu.

  • row — Mengembalikan baris tempat teks akan dicetak.

  • column — Mengembalikan kolom tempat teks akan dicetak.

  • getStringHeight — Mengembalikan tinggi string dalam piksel menggunakan font saat ini.

  • getStringWidth — Mengembalikan lebar string dalam piksel menggunakan font saat ini.

  • printAt — Mencetak teks berformat pada lokasi piksel x, y (opsional buram).

  • clearScreen — Membersihkan seluruh layar (opsional ke warna tertentu).

  • setFont — Mengatur font yang digunakan untuk pencetakan di layar.

  • setPenWidth — Mengatur ketebalan garis yang digambar dan garis luar bentuk.

  • setPenColor — Mengatur warna teks, piksel, garis, dan garis luar bentuk.

  • setFillColor — Mengatur warna isi untuk bentuk yang digambar dan latar belakang teks yang dicetak.

  • setOrigin — Mengatur titik asal yang digunakan untuk koordinat layar.

  • setClipRegion — Membatasi output layar ke wilayah persegi panjang.

  • drawPixel — Menggambar satu piksel pada koordinat.

  • drawLine — Menggambar garis antara dua titik.

  • drawRectangle — Menggambar persegi panjang di lokasi x, y dengan ukuran tertentu.

  • drawCircle — Menggambar lingkaran di lokasi x, y dengan radius yang ditentukan.

  • drawImageFromFile — Menggambar gambar dari file kartu SD ke layar.

  • render — Mengaktifkan double buffering atau merender back buffer ke layar.

Sebelum memanggil fungsi anggota screen apa pun, sebuah instance brain harus dibuat, seperti yang ditunjukkan di bawah ini:

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

print#

Menampilkan teks, angka, atau nilai Boolean pada layar EXP Brain.

Available Functions

1 — Mencetak teks yang diformat menggunakan literal string atau string gaya C yang hanya dapat dibaca.

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

2 — Mencetak teks yang diformat menggunakan larik karakter yang dapat dimodifikasi.

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

Parameters

Parameter

Jenis

Keterangan

format

const char*

String format yang diberikan sebagai literal string atau string gaya C yang hanya dapat dibaca (misalnya, “Score: %d”).

format

char*

String format yang diberikan sebagai larik karakter yang dapat dimodifikasi.

…

Satu atau lebih nilai tambahan yang dimasukkan ke dalam string format, dipisahkan oleh koma.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Output dimulai pada posisi kursor saat ini pada layar.

  • Teks yang dicetak menggunakan font layar saat ini .

  • Teks yang dicetak menggunakan warna pena saat ini.

  • Teks yang dicetak dengan print selalu dicetak dengan latar belakang, dan warna latar belakang ditentukan oleh warna isi saat ini.

  • Saat menggunakan string format, jumlah dan tipe nilai yang dilewatkan harus sesuai dengan penentu format dalam string.

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

Tangkapan layar EXP Brain yang menunjukkan tulisan "Hello, Robot!" tercetak di layar di pojok kiri atas dengan teks putih.

setCursor#

Memindahkan kursor ke baris dan kolom tertentu pada layar EXP Brain. Panggilan print berikutnya akan mulai mencetak di lokasi tersebut.

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

Parameters

Parameter

Jenis

Keterangan

row

int32_t

Baris tempat kursor akan dipindahkan.

col

int32_t

Kolom tempat kursor akan dipindahkan.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Mempengaruhi di mana keluaran teks selanjutnya dimulai ketika menggunakan print.

  • Baris dan kolom didasarkan pada font layar yang sedang diatur.

  • Font default (mono20) menggunakan 12 baris dan 48 kolom.

  • Memanggil setCursor hanya memengaruhi posisi keluaran teks berikutnya.

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

Tangkapan layar EXP Brain yang menunjukkan Baris 3 Kolom 12 tercetak di bagian atas dekat tengah layar, pada posisi tersebut.

newLine#

Memindahkan kursor ke awal baris berikutnya di layar Otak.

Available Functions
void newLine();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Jika kursor berada di tengah kalimat, newLine akan menghapus sisa baris setelah kursor sebelum berpindah ke baris berikutnya.

  • Setelah memanggil newLine, kursor diposisikan pada kolom pertama baris berikutnya.

  • Posisi kursor dan penomoran baris diatur menggunakan setCursor.

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

Tangkapan layar EXP Brain yang menunjukkan dua baris teks putih di pojok kiri atas. Baris atas bertuliskan Baris 1, dan baris kedua tepat di bawahnya bertuliskan Baris 2.

clearLine#

Menghapus teks dari satu baris di layar EXP Brain.

Available Functions

1 — Menghapus sisa baris saat ini dari posisi kursor.

void clearLine();

2 — Menghapus baris yang ditentukan menggunakan warna isi yang saat ini dikonfigurasi.

void clearLine(
    int number );

3 — Menghapus baris yang ditentukan menggunakan objek warna yang telah ditentukan sebelumnya atau warna kustom.

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

4 — Menghapus baris yang ditentukan menggunakan nilai warna heksadesimal.

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

5 — Menghapus baris yang ditentukan menggunakan nilai hue.

void clearLine(
    int number,
    int hue );

Parameters

Parameter

Jenis

Keterangan

number

int

Nomor baris yang akan dihapus. Penomoran baris dimulai dari 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*

Menghapus baris menggunakan nilai warna heksadesimal (misalnya, “#000000”).

hue

int

Menghapus baris menggunakan nilai hue bilangan bulat dalam rentang 0–359, yang mewakili derajat di sekitar roda warna.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Menghapus baris tidak mengubah posisi kursor saat ini.

  • Posisi kursor dan penomoran baris diatur menggunakan setCursor.

  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 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#

Mengembalikan baris tempat teks akan dicetak di layar EXP Brain.

Available Functions
int32_t row();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai int32_t yang mewakili baris tempat teks akan dicetak.

Penomoran baris dimulai dari 1.

Notes
  • Posisi kursor didasarkan pada font layar saat ini .

  • Nilai yang dikembalikan menunjukkan di mana output cetak berikutnya akan muncul.

  • Nilai baris berubah ketika teks dicetak atau ketika setCursor dipanggil.

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

Tangkapan layar EXP Brain yang menunjukkan teks 3 berwarna putih di kuadran kiri atas layar, pada posisi baris 3 kolom 10.

column#

Mengembalikan kolom tempat teks akan dicetak pada layar EXP Brain.

Available Functions
int32_t column();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai int32_t yang mewakili kolom tempat teks akan dicetak.

Penomoran kolom dimulai dari 1.

Notes
  • Posisi kursor didasarkan pada font layar saat ini .

  • Nilai yang dikembalikan menunjukkan di mana output cetak berikutnya akan muncul.

  • Nilai kolom berubah ketika teks dicetak atau ketika setCursor dipanggil.

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

Tangkapan layar EXP Brain yang menunjukkan teks 10 berwarna putih di kuadran kiri atas layar, pada posisi baris 3 kolom 10.

getStringHeight#

Mengembalikan tinggi, dalam piksel, dari sebuah string saat ditampilkan di layar EXP Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parameter

Jenis

Keterangan

cstr

const char*

Teks yang akan diukur, diberikan sebagai string bergaya C (misalnya, “Hello”).

Return Values

Mengembalikan nilai int32_t yang mewakili tinggi string dalam piksel saat ditampilkan di layar Brain.

Notes
  • Tinggi yang dikembalikan bergantung pada font layar yang saat ini dipilih ( .

  • Fungsi ini mengukur string tanpa menggambarkannya di layar.

  • Tinggi yang dikembalikan mencerminkan bagaimana string tersebut akan terlihat saat dicetak.

getStringWidth#

Mengembalikan lebar, dalam piksel, dari sebuah string saat ditampilkan di layar EXP Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parameter

Jenis

Keterangan

cstr

const char*

Teks yang akan diukur, diberikan sebagai string bergaya C (misalnya, “Hello”).

Return Values

Mengembalikan nilai int32_t yang mewakili lebar string dalam piksel saat ditampilkan di layar Brain.

Notes
  • Lebar yang dikembalikan bergantung pada font layar yang saat ini dipilih ( .

  • Fungsi ini mengukur string tanpa menggambarkannya di layar.

  • Lebar yang dikembalikan mencerminkan bagaimana string akan terlihat saat dicetak.

printAt#

Mencetak teks, angka, atau nilai Boolean pada koordinat tertentu di layar EXP Brain.

Available Functions

1 — Mencetak output yang diformat pada lokasi piksel yang ditentukan.

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

2 — Mencetak output yang diformat pada lokasi piksel yang ditentukan dan mengatur apakah latar belakang teks buram atau transparan.

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

Parameters

Parameter

Jenis

Keterangan

x

int32_t

Posisi x untuk mencetak, mengacu pada titik asal layar.

y

int32_t

Posisi y untuk mencetak, mengacu pada titik asal layar.

bOpaque

bool

Mengontrol apakah teks yang dicetak digambar buram atau transparan:

  • true — Latar belakang teks yang dicetak diisi menggunakan warna isian saat ini.
  • false — Teks digambar transparan dan latar belakang tidak diisi.

format

const char*

String format yang mengontrol apa yang dicetak di layar (misalnya, “Score: %d”).

…

Satu atau lebih nilai tambahan yang dimasukkan ke dalam string format, dipisahkan oleh koma.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diubah menggunakan setOrigin.

  • Teks yang dicetak menggunakan font layar saat ini .

  • Teks yang dicetak menggunakan warna pena saat ini.

  • Saat menggunakan string format, jumlah dan tipe nilai yang dilewatkan harus sesuai dengan penentu format dalam string.

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

clearScreen#

Menghapus semua gambar dan teks dari layar Otak.

Available Functions

1 — Menghapus semua data di layar menjadi hitam.

void clearScreen();

2 — Membersihkan layar menggunakan objek warna yang telah ditentukan atau warna kustom.

void clearScreen(
    const color& color );

3 — Membersihkan layar menggunakan nilai warna heksadesimal.

void clearScreen(
    const char* color );

4 — Membersihkan layar menggunakan nilai hue.

void clearScreen(
    int hue );

Parameters

Parameter

Jenis

Keterangan

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*

Menghapus layar menggunakan nilai warna heksadesimal yang direpresentasikan sebagai string (misalnya, “#000000”).

hue

int

Membersihkan layar menggunakan nilai hue bilangan bulat dalam rentang 0–359, yang mewakili derajat di sekitar roda warna.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 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#

Mengatur font yang digunakan untuk teks yang ditampilkan di layar EXP Brain.

Ini mengontrol font yang diterapkan pada output teks selanjutnya saat menggunakan fungsi teks layar seperti print.

Available Functions
void setFont(
  fontType font );

Parameters

Parameter

Jenis

Keterangan

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.

Layar Otak mencetak angka dan huruf dengan ukuran font mono 12. Menampilkan A sampai Z dan semua angka. Di bagian bawah layar, tertulis 9 baris, 26 kolom.
mono12

Layar Otak mencetak angka dan huruf dengan ukuran font mono 15. Menampilkan A sampai T dan semua angka. Di bagian bawah layar, tertulis 7 baris, 22 kolom.
mono15

Layar Otak mencetak angka dan huruf dengan ukuran font mono 20. Menampilkan A sampai P dan semua angka. Di bagian bawah layar, tertulis 5 baris, 16 kolom.
mono20

Layar Otak mencetak angka dan huruf dengan ukuran font mono 30. Menampilkan A sampai J. Di bagian bawah layar, tertulis R:3 C:10.
mono30

Layar Otak mencetak angka dan huruf dengan ukuran font mono 40. Di bagian bawah layar, tertulis R:2 C:8.
mono40

Layar Otak mencetak angka dan huruf dengan ukuran font mono 60. Hanya MON60 yang ditampilkan.
mono60

Layar Otak mencetak angka dan huruf dengan ukuran font prop 20. Ini menunjukkan A sampai W dan semua angka. Di bagian bawah layar, tertulis 5 baris, 16 kolom.
prop20

Layar Otak mencetak angka dan huruf dengan ukuran font prop 30. Menunjukkan A sampai P. Di bagian bawah layar, tertulis R:3 C:10.
prop30

Layar Otak mencetak angka dan huruf dengan ukuran font prop 40. Di bagian bawah layar, tertulis R:2 C:8.
prop40

TLayar Otak mencetak angka dan huruf dengan ukuran font prop 60. Hanya PROP60 yang ditampilkan.
prop60

Return Values

Fungsi ini tidak mengembalikan nilai.

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

Tangkapan layar EXP Brain yang menunjukkan teks putih bertuliskan VEX dengan ukuran font lebih besar dari ukuran standar, di pojok kiri atas.

setPenWidth#

Mengatur ketebalan garis yang digambar dan garis luar bentuk.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parameter

Jenis

Keterangan

width

uint32_t

Lebar pena dalam piksel berkisar dari 0 hingga 32.

Return Values

Fungsi ini tidak mengembalikan nilai.

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

Tangkapan layar EXP Brain yang menunjukkan persegi panjang dengan batas tebal tercetak di sisi kiri layar.

setPenColor#

Mengatur warna pena yang digunakan untuk menggambar garis, bentuk, dan teks.

Available Functions

1 — Mengatur warna pena menggunakan objek warna yang telah ditentukan sebelumnya atau warna kustom.

void setPenColor(
    const color& color );

2 — Mengatur warna pena menggunakan nilai warna heksadesimal.

void setPenColor(
    const char* color );

3 Mengatur warna pena menggunakan nilai hue.

void setPenColor(
    int hue );

Parameters

Parameter

Jenis

Keterangan

color

const color&

Mengatur warna pena menggunakan objek warna color meliputi:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ini juga dapat menggunakan objek warna kustom.

color

const char*

Mengatur warna pena menggunakan nilai warna heksadesimal yang direpresentasikan sebagai string (misalnya, “#FF0000”).

hue

int

Mengatur warna pena menggunakan nilai hue bilangan bulat dalam rentang 0–359, yang mewakili derajat di sekitar roda warna (misalnya, 0 adalah merah, 120 adalah hijau, dan 240 adalah biru).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Warna pena default di awal proyek adalah white.

  • Warna pena digunakan untuk garis luar bentuk (seperti dengan drawCircle atau drawRectangle), teks dan keluaran numerik (dengan print dan printAt), dan piksel individual yang digambar dengan drawPixel.

  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 240.

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

Tangkapan layar EXP Brain yang menunjukkan persegi panjang berwarna oranye di sisi kiri layar.

setFillColor#

Mengatur warna isian yang digunakan saat bentuk digambar.

Available Functions

1 — Mengatur warna isian menggunakan objek warna yang telah ditentukan sebelumnya atau warna kustom.

void setFillColor(
    const color& color );

2 — Mengatur warna isian menggunakan nilai warna heksadesimal.

void setFillColor(
    const char* color );

3 — Mengatur warna isian menggunakan nilai hue.

void setFillColor(
    int hue );

Parameters

Parameter

Jenis

Keterangan

color

const color&

Mengatur warna isian menggunakan objek warna color meliputi:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ini juga dapat menggunakan objek warna kustom.

color

const char*

Mengatur warna isian menggunakan nilai warna heksadesimal yang direpresentasikan sebagai string (misalnya, “#00FF00”).

hue

int

Mengatur warna isian menggunakan nilai hue bilangan bulat dalam rentang 0–359, yang mewakili derajat di sekitar roda warna (misalnya, 0 adalah merah, 120 adalah hijau, dan 240 adalah biru).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Warna isian default di awal proyek adalah black.

  • Warna isian digunakan untuk bagian dalam bentuk (seperti pada drawCircle atau drawRectangle).

  • Warna isian digunakan sebagai warna latar belakang untuk teks yang dicetak (seperti pada print dan printAt).

    • Jika transparent digunakan dengan teks yang dicetak, latar belakangnya akan menjadi black.

  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 240.

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

Tangkapan layar EXP Brain yang menunjukkan persegi panjang berisi warna ungu di sisi kiri layar.

setOrigin#

Menentukan titik asal yang digunakan untuk menggambar grafik di layar Brain.

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

Parameters

Parameter

Jenis

Keterangan

x

int32_t

Posisi x titik asal relatif terhadap pojok kiri atas layar Otak dari 0 hingga 159.

y

int32_t

Posisi y titik asal relatif terhadap pojok kiri atas layar Brain dari 0 hingga 107.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Titik asal default adalah pojok kiri atas layar pada koordinat (0, 0).

  • Asal usul berlaku untuk fungsi koordinat seperti drawLine, drawRectangle, drawCircle, dan printAt.

  • Pengaturan awal tetap berlaku sampai diubah lagi atau proyek direset.

setClipRegion#

Menentukan area persegi panjang di layar tempat semua gambar dan teks akan dibatasi. Konten apa pun di luar area ini tidak akan ditampilkan.

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

Parameters

Parameter

Jenis

Keterangan

x

int

Koordinat x dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat dari 0 hingga 159.

y

int

Koordinat y dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat dari 0 hingga 107.

width

int

Lebar area pemotongan dalam piksel, diberikan sebagai bilangan bulat dari 0 hingga 159.

height

int

Tinggi area pemotongan dalam piksel, diberikan sebagai bilangan bulat dari 0 hingga 107.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Fungsi menggambar tetap dijalankan meskipun berada di luar area pemotongan, tetapi hanya bagian di dalam area tersebut yang terlihat.

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diubah menggunakan setOrigin.

  • Area pemotongan hanya berlaku untuk thread saat ini.

  • Menetapkan wilayah klip baru akan menggantikan wilayah klip yang sebelumnya ditetapkan untuk thread saat ini.

Examples

drawPixel#

Menggambar satu piksel pada layar EXP Brain di lokasi piksel x dan y yang dipilih.

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

Parameters

Parameter

Jenis

Keterangan

x

int

Koordinat x tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 159.

y

int

Koordinat y tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 107.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Piksel digambar menggunakan warna pena saat ini yang diatur dengan setPenColor.

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diatur menggunakan setOrigin.

  • Jika lokasi piksel yang ditentukan berada di luar batas layar, piksel tersebut tidak akan digambar.

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

Tangkapan layar EXP Brain yang menunjukkan berbagai piksel yang memperlihatkan sudut-sudut persegi di dekat tengah layar.

drawLine#

Menggambar garis lurus yang menghubungkan dua titik pada layar EXP Brain.

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

Parameters

Parameter

Jenis

Keterangan

x1

int

Koordinat x awal garis, diberikan sebagai bilangan bulat dari 0 hingga 159.

y1

int

Koordinat y awal garis, diberikan sebagai bilangan bulat dari 0 hingga 107.

x2

int

Koordinat x terakhir dari garis tersebut, diberikan sebagai bilangan bulat dari 0 hingga 159.

y2

int

Koordinat y ujung garis, diberikan sebagai bilangan bulat dari 0 hingga 107.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Garis digambar menggunakan warna pena saat ini yang diatur dengan setPenColor.

  • Lebar garis ditentukan oleh lebar pena saat ini yang diatur dengan setPenWidth.

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diatur menggunakan setOrigin.

  • Jika ada bagian garis yang berada di luar batas layar, hanya bagian yang terlihat yang akan digambar.

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

Tangkapan layar EXP Brain menunjukkan garis diagonal tipis di tengah, dari sudut kiri atas ke sudut kanan bawah.

drawRectangle#

Menggambar persegi panjang pada layar EXP Brain di posisi dan ukuran yang ditentukan.

Available Functions

1 — Menggambar dan mengisi persegi panjang menggunakan warna isi yang saat ini dikonfigurasi.

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

2 — Menggambar dan mengisi persegi panjang menggunakan objek warna yang telah ditentukan atau warna kustom.

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

3 — Menggambar dan mengisi persegi panjang menggunakan nilai warna heksadesimal.

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

4 — Menggambar dan mengisi persegi panjang menggunakan nilai hue.

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

Parameters

Parameter

Jenis

Keterangan

x

int

Koordinat x dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 159.

y

int

Koordinat y dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 107.

width

int

Lebar persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 159.

height

int

Tinggi persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 107.

color

const color&

Mengisi persegi panjang menggunakan objek warna color

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ini juga dapat menggunakan objek warna kustom.

color

const char*

Mengisi persegi panjang menggunakan nilai warna heksadesimal (misalnya, “#FF0000”).

hue

int

Mengisi persegi panjang menggunakan nilai rona dalam rentang 0–359.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Garis luar persegi panjang digambar menggunakan warna pena saat ini yang diatur dengan setPenColor.

  • Ketebalan garis luar ditentukan oleh lebar pena saat ini yang diatur dengan setPenWidth.

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

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diubah menggunakan setOrigin.

  • Jika ada bagian dari persegi panjang yang berada di luar batas layar, hanya bagian yang terlihat yang akan digambar.

  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 240.

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

Tangkapan layar EXP Brain menunjukkan persegi panjang dengan garis tepi putih tipis yang tercetak di kuadran kiri atas.

drawCircle#

Menggambar lingkaran pada layar EXP Brain di posisi dan jari-jari yang ditentukan.

Available Functions

1 — Menggambar dan mengisi lingkaran menggunakan warna isi yang saat ini dikonfigurasi.

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

2 — Menggambar dan mengisi lingkaran menggunakan objek warna yang telah ditentukan atau warna kustom.

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

3 — Menggambar dan mengisi lingkaran menggunakan nilai warna heksadesimal.

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

4 — Menggambar dan mengisi lingkaran menggunakan nilai hue.

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

Parameters

Parameter

Jenis

Keterangan

x

int

Koordinat x dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 159.

y

int

Koordinat y dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 107.

radius

int

Jari-jari lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 107 piksel.

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*

Mengisi lingkaran menggunakan nilai warna heksadesimal (misalnya, “#FF0000”).

hue

int

Mengisi lingkaran menggunakan nilai rona dalam rentang 0–359.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Garis luar lingkaran digambar menggunakan warna pena saat ini yang diatur dengan setPenColor.

  • Ketebalan garis luar ditentukan oleh lebar pena saat ini yang diatur dengan setPenWidth.

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

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diubah menggunakan setOrigin.

  • Nilai parameter hue didasarkan pada roda warna melingkar, seperti yang ditunjukkan di bawah ini, di mana nilai-nilai tersebut mewakili derajat di sekitar roda (misalnya, merah mendekati 0°, hijau mendekati 120°, dan biru mendekati 240°).

Roda warna yang menunjukkan rentang warna dari 0 hingga 359, di mana merah adalah 0, hijau adalah 120, dan biru adalah 240.

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

Tangkapan layar EXP Brain menunjukkan lingkaran dengan garis putih tipis di tengahnya.

drawImageFromFile#

Menggambar gambar di layar EXP Brain menggunakan file gambar yang tersimpan di kartu SD.

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

Parameters

Parameter

Jenis

Keterangan

name

const char*

Nama file gambar di kartu SD. File harus memiliki ekstensi .bmp atau .png.

x

int

Koordinat x, dalam piksel dari 0 hingga 159, di mana tepi kiri gambar akan digambar.

y

int

Koordinat y, dalam piksel dari 0 hingga 107, di mana tepi atas gambar akan digambar.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah gambar berhasil digambar:

  • true — Gambar berhasil dimuat dan digambar di layar.
  • false — Gambar tidak dapat digambar (misalnya, jika file tidak ada atau tidak valid).

Notes
  • Format gambar yang didukung adalah .bmp dan .png.

  • Ukuran berkas gambar tidak boleh melebihi 512 KB

    • Pengkodean RLE 8-bit direkomendasikan untuk meminimalkan ukuran file.

  • Dimensi gambar maksimum yang didukung adalah ukuran layar Brain (sekitar 159 x 107 piksel).

  • Koordinat x dan y relatif terhadap titik asal layar saat ini, yang dapat diubah menggunakan setOrigin.

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

render#

Mengaktifkan double buffering untuk layar Brain. Setelah dipanggil, fungsi menggambar apa pun (seperti teks, bentuk, atau gambar) tidak akan langsung muncul lagi untuk sisa proyek. Sebaliknya, pembaruan hanya akan ditampilkan saat render digunakan lagi. Ini memungkinkan pembaruan layar yang lebih halus dan terkontrol, tetapi berarti tidak ada yang akan terlihat sampai render digunakan.

Available Functions

1 — Mengaktifkan double buffering atau menampilkan buffer belakang ke layar.

bool render();

2 — Menampilkan buffer belakang ke layar dengan kontrol atas perilaku sinkronisasi vertikal dan eksekusi penjadwal opsional.

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

Parameters

Parameter

Jenis

Keterangan

bVsyncWait

bool

​

  • true — Tunggu hingga layar melakukan penyegaran vertikal sebelum melakukan rendering untuk mengurangi robekan visual.
  • false — Jangan menunggu hingga layar melakukan penyegaran vertikal sebelum melakukan rendering.

bRunScheduler

bool

Opsional.

  • true (default) — Izinkan tugas latar belakang berjalan saat menunggu rendering.
  • false — Jangan izinkan tugas latar belakang berjalan saat menunggu rendering.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah gambar yang tersimpan dalam buffer berhasil ditampilkan di layar:

  • true — Gambar berhasil ditampilkan di layar.
  • false — Gambar tidak dapat ditampilkan di layar.
  • Notes
    • Memanggil render akan mengharuskan render digunakan untuk sisa proyek.

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