Ekran#

giriiş#

screen sınıfı, brain temel sınıfından türetilmiştir. EXP Beyninin ekranında metin, sayı ve grafikleri nasıl göstereceğini kontrol eder.

EXP Brain’in ekranı, ekrana metin yazdırırken kullanılacak belirli sayıda satır ve sütuna sahiptir.

Varsayılan olarak, Brain’e yazdırmak için kullanılan yazı tipi mono20 ve 7 satır ile 20 sütundan oluşur.

Çizim için, Brain’in çözünürlüğü 159 x 107 pikseldir.

Kırmızı çizgilerle ızgarayı çevreleyen satırları, sütunları, piksel boyutlarını ve koordinatları gösteren VEX Beyin ekranının etiketli bir ızgara diyagramı.

Erişim#

screen sınıfına şu yollarla erişilebilir:

Brain.Screen

Notlar#

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

  • Projeler tek bir global Brain nesnesi kullanır, bu nedenle ekran fonksiyonları Brain.Screen kullanılarak çağrılır.

Örnek#

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

Üye Fonksiyonları#

screen sınıfı aşağıdaki üye fonksiyonlarını içerir:

  • print — Biçimlendirilmiş metni, sayıları veya Boolean değerlerini Beyin ekranına yazdırır.

  • setCursor — Metin imlecini belirtilen satır ve sütuna taşır.

  • newLine — Geçerli satırın kalanını temizler ve imleci bir sonraki satıra taşır.

  • clearLine — Geçerli satırın kalan kısmını temizler veya belirtilen satırı temizler.

  • row — Metnin yazdırılacağı satırı döndürür.

  • column — Metnin yazdırılacağı sütunu döndürür.

  • getStringHeight — Geçerli yazı tipini kullanarak bir dizenin piksel cinsinden yüksekliğini döndürür.

  • getStringWidth — Geçerli yazı tipini kullanarak bir dizenin piksel cinsinden genişliğini döndürür.

  • printAt — Biçimlendirilmiş metni x, y piksel konumunda yazdırır (isteğe bağlı olarak opak).

  • clearScreen — Tüm ekranı temizler (isteğe bağlı olarak belirtilen bir renge).

  • setFont — Ekranda yazdırmak için kullanılan yazı tipini ayarlar.

  • setPenWidth — Çizilen çizgilerin ve şekil ana hatlarının kalınlığını ayarlar.

  • setPenColor — Metnin, piksellerin, çizgilerin ve şekil ana hatlarının rengini ayarlar.

  • setFillColor — Çizilen şekillerin ve yazdırılan metin arka planlarının dolgu rengini ayarlar.

  • setOrigin — Ekran koordinatları için kullanılan başlangıç ​​noktasını ayarlar.

  • setClipRegion — Ekran çıktısını dikdörtgen bir bölgeyle sınırlandırır.

  • drawPixel — Bir koordinatta bir piksel çizer.

  • drawLine — İki nokta arasında bir çizgi çizer.

  • drawRectangle — Belirtilen boyutta bir dikdörtgeni x, y konumunda çizer.

  • drawCircle — Belirtilen yarıçapla bir x, y konumunda bir daire çizer.

  • drawImageFromFile — SD kart dosyasından ekrana bir görüntü çizer.

  • render — Çift tamponlamayı etkinleştirir veya arka tamponu ekrana işler.

Herhangi bir screen üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir brain örneği oluşturulmalıdır:

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

print#

EXP Brain ekranında metin, sayı veya Boolean değerleri görüntüler.

Available Functions

1 — Dize değişmezleri veya salt okunur C tarzı dizeler kullanarak biçimlendirilmiş metin yazdırır.

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

2 — Değiştirilebilir karakter dizileri kullanarak biçimlendirilmiş metin yazdırır.

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

Parameters

Parametre

Tip

Tanım

format

const char*

Bir dize değişmezi veya salt okunur C stili dize olarak sağlanan bir biçim dizesi (örneğin, “Score: %d”).

format

char*

Değiştirilebilir bir karakter dizisi olarak sağlanan bir biçim dizesi.

…

Biçim dizesine virgülle ayrılmış olarak eklenen bir veya daha fazla ek değer.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Output begins at the current cursor position on the screen.

  • Yazdırılan metin, ekran yazı kullanır.

  • Printed text uses the current pen color.

  • print ile yazdırılan metin her zaman bir arka planla yazdırılır ve arka plan rengi, geçerli dolgu rengi tarafından belirlenir.

  • Biçim dizesi kullanılırken, geçirilen değerlerin sayısı ve türleri, dizedeki biçim belirleyicilerle eşleşmelidir.

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

EXP Beyninin ekran görüntüsü, ekranın sol üst köşesinde beyaz yazıyla "Merhaba, Robot!" yazısı görülüyor.

setCursor#

İmleci EXP Brain ekranındaki belirli bir satır ve sütuna taşır. Sonraki print çağrısı, yazdırmaya o konumdan başlayacaktır.

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

Parameters

Parametre

Tip

Tanım

row

int32_t

İmleci taşımak istediğiniz satır.

col

int32_t

İmleci taşımak istediğiniz sütun.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • print kullanılırken sonraki metin çıktısının nerede başlayacağını etkiler.

  • Satırlar ve sütunlar şu anda ayarlanmış ekran yazı tipine göre belirlenir.

  • Varsayılan yazı tipi (mono20) 12 satır ve 48 sütun kullanır.

  • setCursor çağrısı yalnızca sonraki metin çıktısının konumunu etkiler.

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

Ekranın ortasına yakın üst kısmında, o konumda 3. Satır 12. Sütunun yazdırıldığını gösteren EXP Beyninin ekran görüntüsü.

newLine#

İmleci Beyin ekranındaki bir sonraki satırın başına taşır.

Available Functions
void newLine();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • İmleç bir cümlenin ortasındaysa, newLine komutu imleçten sonraki satırın geri kalanını temizleyip sonraki satıra geçecektir.

  • newLineçağrısından sonra imleç, bir sonraki satırın ilk sütununa konumlandırılır.

  • İmleç konumu ve satır numaralandırması setCursor kullanılarak ayarlanır.

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

EXP Brain ekranının sol üst köşesinde iki satır beyaz metin gösteren bir ekran görüntüsü. Üst satırda "Satır 1", hemen altındaki ikinci satırda ise "Satır 2" yazıyor.

clearLine#

EXP Brain ekranındaki bir satırdaki metni siler.

Available Functions

1 — İmleç konumundan itibaren geçerli satırın geri kalanını temizler.

void clearLine();

2 — Belirtilen satırı, şu anda yapılandırılmış dolgu rengi kullanarak temizler.

void clearLine(
    int number );

3 — Belirtilen satırı önceden tanımlanmış veya özel renk nesnesi kullanarak temizler.

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

4 — Belirtilen satırı onaltılık renk değeri kullanarak temizler.

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

5 — Belirtilen satırı bir renk tonu değeri kullanarak temizler.

void clearLine(
    int number,
    int hue );

Parameters

Parametre

Tip

Tanım

number

int

Silinecek satır numarası. Satır numaralandırması 1 başlar.

color

const color&

color nesnesi kullanarak satırı temizler. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel bir renk nesnesi de kullanabilir.

color

const char*

Onaltılık renk değeri kullanarak satırı temizler (örneğin, “#000000”).

hue

int

Renk çemberi üzerindeki dereceleri temsil eden 0–359aralığındaki tam sayı ton değerini kullanarak satırı temizler.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Bir satırı temizlemek, mevcut imleç konumunu değiştirmez.

  • İmleç konumu ve satır numaralandırması setCursor kullanılarak ayarlanır.

  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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#

EXP Brain ekranında metnin yazdırılacağı satırı döndürür.

Available Functions
int32_t row();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Metnin yazdırılacağı satırı temsil eden int32_t değerini döndürür.

Satır numaralandırması 1’den başlar.

Notes
  • The cursor position is based on the current screen font.

  • Döndürülen değer, bir sonraki yazdırılacak çıktının nerede görüneceğini gösterir.

  • Metin yazdırıldığında veya setCursor çağrıldığında satır değeri değişir.

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

Ekranın sol üst köşesinde, 3. satır 10. sütun konumunda beyaz renkte 3 yazısını gösteren EXP Brain ekranının bir ekran görüntüsü.

column#

EXP Brain ekranında metnin yazdırılacağı sütunu döndürür.

Available Functions
int32_t column();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Metnin yazdırılacağı sütunu temsil eden int32_t değerini döndürür.

Sütun numaralandırması 1’den başlar.

Notes
  • The cursor position is based on the current screen font.

  • Döndürülen değer, bir sonraki yazdırılacak çıktının nerede görüneceğini gösterir.

  • Sütun değeri, metin yazdırıldığında veya setCursor çağrıldığında değişir.

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

Ekranın sol üst köşesinde, 3. satır 10. sütun konumunda beyaz renkte 10 yazısını gösteren EXP Brain ekranının bir ekran görüntüsü.

getStringHeight#

EXP Brain ekranında görüntülendiğinde bir metin dizisinin yüksekliğini piksel cinsinden döndürür.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametre

Tip

Tanım

cstr

const char*

Ölçülecek metin, C-stili bir dize olarak sağlanır (örneğin, “Hello”).

Return Values

Beyin ekranında görüntülendiğinde dizenin piksel cinsinden yüksekliğini temsil eden int32_t değerini döndürür.

Notes
  • Döndürülen yükseklik, şu anda seçili olan ekran yazı bağlıdır.

  • Bu fonksiyon, dizeyi ekrana çizmeden ölçer.

  • Döndürülen yükseklik, metnin yazdırıldığında nasıl görüneceğini yansıtır.

getStringWidth#

EXP Brain ekranında görüntülendiğinde bir metin dizisinin piksel cinsinden genişliğini döndürür.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametre

Tip

Tanım

cstr

const char*

Ölçülecek metin, C-stili bir dize olarak sağlanır (örneğin, “Hello”).

Return Values

Beyin ekranında görüntülendiğinde dizenin piksel cinsinden genişliğini temsil eden int32_t değerini döndürür.

Notes
  • The returned width depends on the currently selected screen font.

  • Bu fonksiyon, dizeyi ekrana çizmeden ölçer.

  • Döndürülen genişlik, metnin yazdırıldığında nasıl görüneceğini yansıtır.

printAt#

EXP Brain ekranında belirli bir koordinatta metin, sayı veya Boolean değerleri yazdırır.

Available Functions

1 — Belirtilen piksel konumunda biçimlendirilmiş çıktı yazdırır.

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

2 — Belirtilen piksel konumunda biçimlendirilmiş çıktı yazdırır ve metin arka planının opak mı yoksa saydam mı olacağını ayarlar.

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

Parameters

Parametre

Tip

Tanım

x

int32_t

Ekranın başlangıç ​​noktasına göre, yazdırma işleminin gerçekleştirileceği x konumu.

y

int32_t

Ekranın başlangıç ​​noktasına göre, yazdırma işleminin yapılacağı y-konumu.

bOpaque

bool

Yazdırılan metnin opak mı yoksa saydam mı çizileceğini kontrol eder:

  • true — Yazdırılan metnin arka planı geçerli dolgu rengi kullanılarak doldurulur.
  • false — Metin saydam olarak çizilir ve arka plan doldurulmaz.

format

const char*

Ekranda neyin yazdırılacağını kontrol eden bir format dizesi (örneğin, “Score: %d”).

…

Biçim dizesine virgülle ayrılmış olarak eklenen bir veya daha fazla ek değer.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • x ve y koordinatları, setOrigin kullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.

  • Yazdırılan metin, ekran yazı kullanır.

  • Printed text uses the current pen color.

  • Biçim dizesi kullanılırken, geçirilen değerlerin sayısı ve türleri, dizedeki biçim belirleyicilerle eşleşmelidir.

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

clearScreen#

Beynin ekranındaki tüm çizimleri ve metinleri siler.

Available Functions

1 — Ekranı siyaha çevirir.

void clearScreen();

2 — Önceden tanımlanmış veya özel renk nesnesi kullanarak ekranı temizler.

void clearScreen(
    const color& color );

3 — Ekranı onaltılık renk değeri kullanarak temizler.

void clearScreen(
    const char* color );

4 — Ekranı bir renk tonu değeri kullanarak temizler.

void clearScreen(
    int hue );

Parameters

Parametre

Tip

Tanım

color

const color&

Ekranı color nesnesi kullanarak temizler. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel renk nesnesi de kullanabilir.

color

const char*

Ekranı, bir dize olarak temsil edilen onaltılık renk değeri kullanarak temizler (örneğin, “#000000”).

hue

int

Ekranı, renk çemberi üzerindeki dereceleri temsil eden 0–359aralığındaki bir tamsayı renk tonu değeri kullanarak temizler.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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#

EXP Brain ekranında görüntülenen metin için kullanılan yazı tipini ayarlar.

Bu, print gibi ekran metni işlevlerini kullanırken sonraki metin çıktısına uygulanan yazı tipini kontrol eder.

Available Functions
void setFont(
  fontType font );

Parameters

Parametre

Tip

Tanım

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.

Beynin ekranı, mono 12 yazı tipi boyutuyla rakamlar ve harfler basmıştır. A'dan Z'ye kadar tüm rakamları gösterir. Ekranın alt kısmında 9 satır, 26 sütun yazmaktadır.
mono12

Beynin ekranı, mono 15 yazı tipi boyutuyla rakamlar ve harfler basmıştır. A'dan T'ye kadar tüm rakamları gösterir. Ekranın alt kısmında 7 satır, 22 sütun yazmaktadır.
mono15

Beynin ekranı, mono 20 yazı tipi boyutuyla rakamlar ve harfler basmıştır. A'dan P'ye kadar tüm rakamları gösterir. Ekranın alt kısmında 5 satır, 16 sütun yazmaktadır.
mono20

Beynin ekranında mono 30 yazı tipiyle basılmış sayılar ve harfler. A'dan J'ye kadar harfleri gösteriyor. Ekranın alt kısmında R:3 C:10 yazıyor.
mono30

Beynin ekranında mono 40 yazı tipiyle basılmış sayılar ve harfler. Ekranın alt kısmında R:2 C:8 yazıyor.
mono40

Beynin ekran baskılı sayıları ve harfleri mono 60 yazı tipi boyutundadır. Sadece MON60 görüntülenir.
mono60

Beynin ekranı, prop 20 yazı tipi boyutuyla rakamlar ve harfler basmıştır. A'dan W'ye kadar tüm rakamları gösterir. Ekranın alt kısmında 5 satır, 16 sütun yazmaktadır.
prop20

Beynin ekranında prop30 yazı tipi boyutuyla sayılar ve harfler basılıdır. A'dan P'ye kadar harfleri gösterir. Ekranın alt kısmında R:3 C:10 yazmaktadır.
prop30

Beynin ekranında prop 40 yazı tipi boyutunda sayılar ve harfler basılıdır. Ekranın alt kısmında R:2 C:8 yazmaktadır.
prop40

Beynin ekran baskılı sayıları ve harfleri prop 60 yazı tipi boyutundadır. Sadece PROP60 görüntülenir.
prop60

Return Values

Bu fonksiyon bir değer döndürmez.

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

EXP Beyin ekranının sol üst köşesinde varsayılan yazı tipinden daha büyük yazı tipiyle VEX yazan beyaz metni gösteren bir ekran görüntüsü.

setPenWidth#

Çizilen çizgilerin ve şekil konturlarının kalınlığını ayarlar.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametre

Tip

Tanım

width

uint32_t

Kalem genişliği, 0 ile 32 arasında piksel cinsinden bir aralıktır.

Return Values

Bu fonksiyon bir değer döndürmez.

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

Ekranın sol tarafında kalın kenarlıklı bir dikdörtgenin basılı olduğu EXP Brain ekranının ekran görüntüsü.

setPenColor#

Çizgi, şekil ve metin çiziminde kullanılan kalem rengini ayarlar.

Available Functions

1 — Kalem rengini önceden tanımlanmış veya özel renk nesnesi kullanarak ayarlar.

void setPenColor(
    const color& color );

2 — Kalem rengini onaltılık renk değeri kullanarak ayarlar.

void setPenColor(
    const char* color );

3 — Kalem rengini bir ton değeri kullanarak ayarlar.

void setPenColor(
    int hue );

Parameters

Parametre

Tip

Tanım

color

const color&

Kalem rengini color nesnesi kullanarak ayarlar. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel renk nesnesi de kullanabilir.

color

const char*

Kalem rengini, bir dize olarak temsil edilen onaltılık renk değeri kullanarak ayarlar (örneğin, “#FF0000”).

hue

int

Kalem rengini, renk çemberindeki dereceleri temsil eden 0–359aralığında bir tamsayı ton değeri kullanarak ayarlar (örneğin, 0 kırmızı, 120 yeşil ve 240 mavidir).

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Proje başlangıcında varsayılan kalem rengi white.

  • Kalem rengi, şekillerin ana hatları (örneğin drawCircle veya drawRectangle ile), metin ve sayısal çıktı (print ve printAt ile) ve drawPixel ile çizilen tek tek pikseller için kullanılır.

  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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

Ekranın sol tarafında turuncu renkte çizilmiş bir dikdörtgeni gösteren EXP Brain ekranının ekran görüntüsü.

setFillColor#

Şekiller çizilirken kullanılacak dolgu rengini ayarlar.

Available Functions

1 — Önceden tanımlanmış veya özel renk nesnesi kullanarak dolgu rengini ayarlar.

void setFillColor(
    const color& color );

2 — Dolgu rengini onaltılık renk değeri kullanarak ayarlar.

void setFillColor(
    const char* color );

3 — Bir ton değeri kullanarak dolgu rengini ayarlar.

void setFillColor(
    int hue );

Parameters

Parametre

Tip

Tanım

color

const color&

color nesnesi kullanarak dolgu rengini ayarlar. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel renk nesnesi de kullanabilir.

color

const char*

Dolgu rengini, bir dize olarak temsil edilen onaltılık renk değeri kullanarak ayarlar (örneğin, “#00FF00”).

hue

int

Dolgu rengini, renk çemberi üzerindeki dereceleri temsil eden 0–359aralığında bir tamsayı ton değeri kullanarak ayarlar (örneğin, 0 kırmızı, 120 yeşil ve 240 mavidir).

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Proje başlangıcında varsayılan dolgu rengi black.

  • Dolgu rengi, şekillerin iç kısımları için kullanılır (örneğin drawCircle veya drawRectangle ile).

  • Dolgu rengi, yazdırılan metin için arka plan rengi olarak kullanılır (örneğin print ve printAt ile).

    • Baskılı metinle birlikte transparent kullanılırsa, arka plan black olacaktır.

  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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

Ekranın sol tarafında mor renkle doldurulmuş bir dikdörtgeni gösteren EXP Brain ekranının ekran görüntüsü.

setOrigin#

Beyin ekranında grafik çizimi için kullanılan başlangıç ​​noktasını ayarlar.

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

Parameters

Parametre

Tip

Tanım

x

int32_t

Başlangıç ​​noktasının, Beyin ekranının sol üst köşesine göre x eksenindeki konumu 0 ile 159 arasındadır.

y

int32_t

Başlangıç ​​noktasının, Beyin ekranının sol üst köşesine göre y eksenindeki konumu 0 ile 107 arasındadır.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Varsayılan başlangıç ​​noktası, ekranın sol üst köşesindeki (0, 0) koordinatıdır.

  • Başlangıç ​​noktası, drawLine, drawRectangle, drawCircle ve printAt gibi koordinat fonksiyonlarına uygulanır.

  • Başlangıç ​​değeri, tekrar değiştirilene veya proje sıfırlanana kadar geçerliliğini korur.

setClipRegion#

Ekranda tüm çizimlerin ve metinlerin sınırlandırılacağı dikdörtgen bir alan tanımlar. Bu alanın dışındaki herhangi bir içerik görüntülenmeyecektir.

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

Parameters

Parametre

Tip

Tanım

x

int

Kırpma bölgesinin sol üst köşesinin x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y

int

Kırpma bölgesinin sol üst köşesinin y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

width

int

Kırpma bölgesinin piksel cinsinden genişliği, 0 ile 159 arasında bir tamsayı olarak verilir.

height

int

Kırpma bölgesinin piksel cinsinden yüksekliği, 0 ile 107 arasında bir tamsayı olarak verilir.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Çizim işlevleri, kırpma bölgesinin dışında kalsalar bile yine de yürütülür, ancak yalnızca bölgenin içindeki kısım görünür.

  • x ve y koordinatları, setOrigin kullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.

  • Kırpma bölgesi yalnızca geçerli iş parçacığı için geçerlidir.

  • Yeni bir kırpma bölgesi ayarlamak, geçerli iş parçacığı için önceden ayarlanmış olan tüm kırpma bölgelerinin yerini alır.

Examples

drawPixel#

Seçilen x ve y piksel konumunda EXP Brain ekranında bir piksel çizer.

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

Parameters

Parametre

Tip

Tanım

x

int

Pikselin çizileceği x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y

int

Pikselin çizileceği y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Pikseller, setPenColor ile ayarlanan geçerli kalem rengi kullanılarak çizilir.

  • x ve y koordinatları, setOrigin kullanılarak ayarlanabilen geçerli ekran orijinine göre belirlenir.

  • Belirtilen piksel konumu ekran sınırlarının dışında ise, piksel çizilmez.

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

Ekranın merkezine yakın bir karenin köşelerini gösteren çeşitli pikselleri gösteren EXP Brain ekranının bir ekran görüntüsü.

drawLine#

EXP Brain ekranında iki noktayı birleştiren düz bir çizgi çizer.

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

Parameters

Parametre

Tip

Tanım

x1

int

Doğrunun başlangıç ​​x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y1

int

Doğrunun başlangıç ​​y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

x2

int

Doğrunun bitiş noktasındaki x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y2

int

Doğrunun bitiş noktasındaki y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Çizgiler, setPenColor ile ayarlanan geçerli kalem rengi kullanılarak çizilir.

  • Çizginin genişliği, setPenWidth ile ayarlanan mevcut kalem genişliği tarafından belirlenir.

  • x ve y koordinatları, setOrigin kullanılarak ayarlanabilen geçerli ekran orijinine göre belirlenir.

  • Çizginin herhangi bir kısmı ekran sınırlarının dışında kalırsa, yalnızca görünür kısım çizilir.

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

EXP Brain ekranının bir ekran görüntüsünde, sol üst köşeden sağ alt köşeye doğru merkezden geçen ince bir diyagonal çizgi görülmektedir.

drawRectangle#

EXP Brain ekranında belirtilen konum ve boyutta bir dikdörtgen çizer.

Available Functions

1 — Şu ​​anda yapılandırılmış dolgu rengi kullanılarak bir dikdörtgen çizer ve doldurur.

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

2 — Önceden tanımlanmış veya özel renk nesnesini kullanarak bir dikdörtgen çizer ve doldurur.

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

3 — Onaltılık renk değeri kullanarak bir dikdörtgen çizer ve doldurur.

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

4 — Bir renk tonu değeri kullanarak bir dikdörtgen çizer ve doldurur.

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

Parameters

Parametre

Tip

Tanım

x

int

Dikdörtgenin sol üst köşesinin x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y

int

Dikdörtgenin sol üst köşesinin y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

width

int

Dikdörtgenin genişliği, 0 ile 159 arasında bir tamsayı olarak verilir.

height

int

Dikdörtgenin yüksekliği, 0 ile 107 arasında bir tamsayı olarak verilmiştir.

color

const color&

Dikdörtgeni color nesnesi kullanarak doldurur. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel bir renk nesnesi de kullanabilir.

color

const char*

Dikdörtgeni onaltılık renk değeri kullanarak doldurur (örneğin, “#FF0000”).

hue

int

Dikdörtgeni 0–359 aralığındaki bir renk tonu değeri kullanarak doldurur.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Dikdörtgenin dış çizgisi, setPenColor ile ayarlanan geçerli kalem rengi kullanılarak çizilir.

  • Kontur kalınlığı, setPenWidth ile ayarlanan mevcut kalem genişliği tarafından belirlenir.

  • color parametresi sağlanmadığında, dikdörtgenin içi setFillColor ile ayarlanan geçerli dolgu rengi kullanılarak doldurulur.

  • x ve y koordinatları, setOrigin kullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.

  • Dikdörtgenin herhangi bir kısmı ekran sınırlarının dışında kalırsa, yalnızca görünür kısım çizilir.

  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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

EXP Brain ekranının bir ekran görüntüsünde, sol üst köşede ince beyaz kenarlıklı bir dikdörtgenin basılı olduğu görülüyor.

drawCircle#

EXP Brain ekranında belirtilen konumda ve yarıçapta bir daire çizer.

Available Functions

1 — Şu ​​anda yapılandırılmış dolgu rengi kullanılarak bir daire çizer ve doldurur.

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

2 — Önceden tanımlanmış veya özel renk nesnesini kullanarak bir daire çizer ve doldurur.

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

3 — Onaltılık renk değeri kullanarak bir daire çizer ve doldurur.

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

4 — Bir renk tonu değeri kullanarak bir daire çizer ve doldurur.

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

Parameters

Parametre

Tip

Tanım

x

int

Çemberin merkezinin x koordinatı, 0 ile 159 arasında bir tamsayı olarak verilir.

y

int

Çemberin merkezinin y koordinatı, 0 ile 107 arasında bir tamsayı olarak verilir.

radius

int

Dairenin yarıçapı, 0 ile 107 piksel arasında bir tamsayı olarak verilir.

color

const color&

Daireyi color nesnesi kullanarak doldurur. Önceden tanımlanmış renkler şunlardır:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Bu ayrıca özel bir renk nesnesi de kullanabilir.

color

const char*

Daireyi onaltılık renk değeri kullanarak doldurur (örneğin, “#FF0000”).

hue

int

Daireyi 0–359 aralığındaki bir renk tonu değeri kullanarak doldurur.

Return Values

Bu fonksiyon bir değer döndürmez.

Notes
  • Dairenin dış çizgisi, setPenColor ile ayarlanan geçerli kalem rengi kullanılarak çizilir.

  • Kontur kalınlığı, setPenWidth ile ayarlanan mevcut kalem genişliği tarafından belirlenir.

  • color parametresi sağlanmadığında, dairenin içi setFillColor ile ayarlanan geçerli dolgu rengi kullanılarak doldurulur.

  • x ve y koordinatları, setOrigin kullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.

  • hue parametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

0 ile 359 arasındaki renk aralığını gösteren bir renk çemberi; burada kırmızı 0, yeşil 120 ve mavi 240'tır.

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

EXP Brain ekranının bir ekran görüntüsünde, ortasında ince beyaz bir çerçeveyle çizilmiş bir daire görülmektedir.

drawImageFromFile#

SD kartta saklanan bir resim dosyasını kullanarak EXP Beyin ekranına bir resim çizer.

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

Parameters

Parametre

Tip

Tanım

name

const char*

SD karttaki resmin dosya adı. Dosyanın uzantısı .bmp .png veya .png olmalıdır.

x

int

Görüntünün sol kenarının çizileceği x koordinatı (0 ile 159 piksel arası).

y

int

Görüntünün üst kenarının çizileceği y koordinatı (0 ile 107 piksel arası).

Return Values

Görüntünün başarıyla çizilip çizilmediğini gösteren bir Boolean değer döndürür:

  • true — Görüntü başarıyla yüklendi ve ekrana çizildi.
  • false — Görüntü çizilemedi (örneğin, dosya mevcut değilse veya geçersizse).

Notes
  • Desteklenen resim formatları .bmp ve .png.

  • Görüntü dosyasının boyutu 512 KB

    • Dosya boyutunu en aza indirmek için 8 bit RLE kodlaması önerilir.

  • Desteklenen maksimum görüntü boyutları, Brain ekranının boyutuyla aynıdır (yaklaşık 159 x 107 piksel).

  • x ve y koordinatları, setOrigin kullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.

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

render#

Beyin ekranı için çift tamponlamayı etkinleştirir. Çağrıldıktan sonra, herhangi bir çizim işlevi (metin, şekiller veya resimler gibi) projenin geri kalanında hemen görünmeyecektir. Bunun yerine, güncellemeler yalnızca render tekrar kullanıldığında gösterilecektir. Bu, daha akıcı ve kontrollü ekran güncellemeleri sağlar, ancak render kullanılana kadar hiçbir şey görünmeyeceği anlamına gelir.

Available Functions

1 — Çift tamponlamayı etkinleştirir veya arka tamponu ekrana yansıtır.

bool render();

2 — Arka tamponu, dikey senkronizasyon davranışı üzerinde kontrol ve isteğe bağlı zamanlayıcı yürütme ile ekrana yansıtır.

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

Parameters

Parametre

Tip

Tanım

bVsyncWait

bool

​

  • true — Görsel yırtılmayı azaltmak için işleme başlamadan önce ekranın dikey yenilenmesini bekleyin.
  • false — İşleme başlamadan önce ekranın dikey yenilenmesini beklemeyin.

bRunScheduler

bool

İsteğe bağlı.

  • true (varsayılan) — Oluşturma işlemi beklenirken arka plan görevlerinin çalışmasına izin verin.
  • false — Oluşturma işlemi beklenirken arka plan görevlerinin çalışmasına izin vermeyin.

Return Values

Arabellekte kaydedilen çizimlerin ekrana başarıyla yansıtılıp yansıtılmadığını gösteren bir Boolean değer döndürür:

  • true — Çizimler ekrana başarıyla yansıtıldı.
  • false — Çizimler ekrana yansıtılamadı.
  • Notes
    • render çağırmak, projenin geri kalanı için render kullanılmasını gerektirecektir.

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