Skärm#
Introduktion#
Klassen screen härleds från basklassen brain. Den styr hur IQ-hjärnan (1:a generationen) visar text och värden på sin inbyggda skärm.
IQ (1:a generationen) hjärnskärm stöder upp till 5 rader och 21 kolumner text.

Tillträde#
Klassen screen kan nås genom:
Brain.Screen
Anteckningar#
Objektet
screentillhandahålls av hjärnan. Det är inte konstruerat direkt.Projekt använder ett enda globalt
Brainobjekt, så skärmfunktioner anropas medBrain.Screen.
Exempel#
/* 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!");
Medlemsfunktioner#
Klassen screen innehåller följande medlemsfunktioner:
print— Skriver ut formaterad text, siffror eller booleska värden till hjärnskärmen.setCursor— Flyttar textmarkören till en angiven rad och kolumn.newLine— Rensar resten av den aktuella raden och flyttar markören till nästa rad.clearLine— Rensar resten av den aktuella raden eller rensar en angiven rad.row— Returnerar raden där texten ska skrivas ut.column— Returnerar kolumnen där texten ska skrivas ut.getStringHeight— Returnerar höjden på en sträng i pixlar med det aktuella teckensnittet.getStringWidth— Returnerar bredden på en sträng i pixlar med det aktuella teckensnittet.printAt— Skriver ut formaterad text på en x-, y-pixelposition (valfritt ogenomskinlig).clearScreen— Rensar hela skärmen (valfritt till en specificerad färg).setFont— Anger vilket teckensnitt som används för utskrift på skärmen.setPenWidth— Anger tjockleken på ritade linjer och formens konturer.setPenColor— Ställer in färgen på text, pixlar, linjer och konturer.setFillColor— Ställer in fyllningsfärgen för ritade former och utskrivna textbakgrunder.setOrigin— Anger origo som används för skärmkoordinater.setClipRegion— Begränsar skärmutdata till ett rektangulärt område.drawPixel— Ritar en pixel vid en koordinat.drawLine— Ritar en linje mellan två punkter.drawRectangle— Ritar en rektangel vid en x-, y-position med en angiven storlek.drawCircle— Ritar en cirkel vid en x-, y-position med en angiven radie.render— Aktiverar dubbel buffring eller renderar bakåtbufferten till skärmen.
Innan några screen medlemsfunktioner anropas måste en brain instans skapas, som visas nedan:
// Create the Brain
brain Brain = brain();
print#
Visar text, siffror eller booleska värden på IQ-hjärnskärmen (1:a generationen).
Available Functions1 — Skriver ut formaterad text med hjälp av stränglitteraler eller skrivskyddade strängar i C-stil.
void print( const char* format, ... );
Parameters2 — Skriver ut formaterad text med hjälp av modifierbara teckenuppsättningar.
void print( char* format, ... );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En formatsträng som anges som en stränglitteral eller skrivskyddad C-sträng (till exempel |
|
|
En formatsträng som tillhandahålls som en modifierbar teckenmatris. |
|
Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken. |
Den här funktionen returnerar inget värde.
NotesOutput begins at the current cursor position on the screen.
Text som skrivs ut med
printskrivs alltid ut med en bakgrund, och bakgrundsfärgen bestäms av den aktuella fyllningsfärgen.När en formatsträng används måste antalet och typerna av värden som skickas matcha formatspecificerare i strängen.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");
setCursor#
Flyttar markören till en specifik rad och kolumn på IQ (1:a generationen) Brain-skärmen. Nästa print anrop börjar skriva ut på den platsen.
void setCursor(
int32_t row,
int32_t col );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Raden att flytta markören till. |
|
|
Kolumnen att flytta markören till. |
Den här funktionen returnerar inget värde.
NotesPåverkar var efterföljande textutmatning börjar när
printanvänds.Rader och kolumner baseras på nuvarande inställt skärmteckensnitt.
Att anropa
setCursorpåverkar endast positionen för efterföljande textutmatning.
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

newLine#
Flyttar markören till början av nästa rad på hjärnskärmen.
Available Functionsvoid newLine();
Den här funktionen accepterar inga parametrar.
Return ValuesDen här funktionen returnerar inget värde.
NotesOm markören är mitt i en mening, kommer
newLineatt rensa resten av raden efter markören innan nästa rad flyttas.Efter att ha anropat
newLineplaceras markören vid den första kolumnen på nästa rad.Markörposition och radnumrering ställs in med
setCursor.
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

clearLine#
Tar bort text från en rad på IQ (1:a generationen) hjärnskärmen.
Available Functions1 — Tar bort resten av den aktuella raden från markörens position.
void clearLine();
2 — Rensar den angivna raden med den för närvarande konfigurerade fyllningsfärgen.
void clearLine( int number );
3 — Rensar den angivna raden med ett fördefinierat objekt eller ett anpassad färg-objekt.
void clearLine( int number, const color& color );
4 — Rensar den angivna raden med ett hexadecimalt färgvärde.
void clearLine( int number, const char* color );
Parameters5 — Rensar den angivna raden med ett nyansvärde.
void clearLine( int number, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Radnumret som ska rensas. Radnumreringen börjar på |
|
|
Rensar raden med ett objekt med
|
|
|
Rensar raden med ett hexadecimalt färgvärde (till exempel |
|
|
Rensar raden med ett heltal nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesAtt radera en rad ändrar inte markörens aktuella position.
Markörposition och radnumrering ställs in med
setCursor.IQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
// 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#
Returnerar den aktuella positionen för markörraden på IQ (1:a generationen) hjärnskärmen.
Available Functionsint32_t row();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar raden där texten ska skrivas ut.
Radnumreringen börjar på 1.
NotesMarkörens position är baserad på det aktuella skärmteckensnittet
Det returnerade värdet anger var nästa utskrivna resultat kommer att visas.
Radvärdet ändras när text skrivs ut eller när
setCursoranropas.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("row: ", Brain.Screen.row());
column#
Returnerar kolumnen där texten ska skrivas ut på IQ (1:a generationen) hjärnskärmen.
Available Functionsint32_t column();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar int32_t som representerar kolumnen där texten ska skrivas ut.
Kolumnnumreringen börjar på 1.
NotesMarkörens position är baserad på det aktuella skärmteckensnittet
Det returnerade värdet anger var nästa utskrivna resultat kommer att visas.
Kolumnvärdet ändras när text skrivs ut eller när
setCursoranropas.
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());
getStringHeight#
Returnerar höjden, i pixlar, på en sträng när den renderas på IQ (1:a generationen) hjärnskärm.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Texten som ska mätas, angiven som en C-stilsträng (till exempel |
Returnerar ett int32_t som representerar strängens höjd i pixlar när den renderas på hjärnskärmen.
getStringWidth#
Returnerar bredden, i pixlar, på en sträng när den renderas på IQ (1:a generationen) Brain-skärmen.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Texten som ska mätas, angiven som en C-stilsträng (till exempel |
Returnerar ett int32_t som representerar strängens bredd i pixlar när den renderas på hjärnskärmen.
Den returnerade bredden beror på för närvarande valda.
Den här funktionen mäter strängen utan att rita den på skärmen.
Den returnerade bredden återspeglar hur strängen skulle se ut när den skrivs ut.
printAt#
Skriver ut text, siffror eller booleska värden vid en specifik koordinat på IQ (1:a generationen) hjärnskärmen.
Available Functions1 — Skriver ut formaterad utdata på den angivna pixelplatsen.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Skriver ut formaterad utdata vid den angivna pixelplatsen och anger om textbakgrunden är ogenomskinlig eller transparent.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-positionen att skriva ut från, refererad till skärmens origo. |
|
|
Y-positionen att skriva ut från, refererad till skärmens origo. |
|
|
Styr om den utskrivna texten ritas ogenomskinligt eller transparent:
|
|
|
En formatsträng som styr vad som skrivs ut på skärmen (till exempel |
|
Ett eller flera ytterligare värden som infogas i formatsträngen, separerade med kommatecken. |
Den här funktionen returnerar inget värde.
NotesKoordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.När en formatsträng används måste antalet och typerna av värden som skickas matcha formatspecificerare i strängen.
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);
clearScreen#
Raderar alla teckningar och text från hjärnans skärm.
Available Functions1 — Rensar skärmen till svart.
void clearScreen();
2 — Rensar skärmen med ett fördefinierat eller anpassad färg objekt.
void clearScreen( const color& color );
3 — Rensar skärmen med ett hexadecimalt färgvärde.
void clearScreen( const char* color );
Parameters4 — Rensar skärmen med ett nyansvärde.
void clearScreen( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Rensar skärmen med ett objekt med
|
|
|
Rensar skärmen med hjälp av ett hexadecimalt färgvärde representerat som en sträng (till exempel |
|
|
Rensar skärmen med ett heltal för nyans i intervallet |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
// 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#
Ställer in teckensnittet som används för text som visas på IQ (1:a generationen) hjärnskärm.
Detta styr vilket teckensnitt som används för efterföljande textutmatning när skärmtextfunktioner som print används.
void setFont(
fontType font );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ställer in teckensnittet till ett av följande:
|
Den här funktionen returnerar inget värde.
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#
Anger tjockleken på ritade linjer och formens konturer.
Available Functionsvoid setPenWidth(
uint32_t width );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Pennans bredd, i pixlar, från 0 till 32. |
Den här funktionen returnerar inget värde.
NotesPennbredden gäller för ritfunktioner som
drawLine,drawRectangleochdrawCircle.
// 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#
Anger färgen på text, pixlar, linjer och konturer.
Available Functions1 — Ställer in pennfärgen med ett fördefinierat objekt eller ett anpassad färg objekt.
void setPenColor( const color& color );
2 — Ställer in pennfärgen med ett hexadecimalt färgvärde.
void setPenColor( const char* color );
Parameters3 — Ställer in pennfärgen med hjälp av ett nyansvärde.
void setPenColor( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ställer in pennfärgen med ett objekt med
|
|
|
Ställer in pennfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel |
|
|
Ställer in pennfärgen med ett heltalsnyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);
setFillColor#
Anger fyllningsfärgen som används när former ritas.
Available Functions1 — Ställer in fyllningsfärgen med ett fördefinierat objekt eller ett anpassad färg objekt.
void setFillColor( const color& color );
2 — Anger fyllningsfärgen med ett hexadecimalt färgvärde.
void setFillColor( const char* color );
Parameters3 — Ställer in fyllningsfärgen med ett nyansvärde.
void setFillColor( int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ställer in fyllningsfärgen med ett objekt med värdet
|
|
|
Anger fyllningsfärgen med ett hexadecimalt färgvärde som representeras som en sträng (till exempel |
|
|
Ställer in fyllningsfärgen med ett heltal nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);
setOrigin#
Ställer in origo som används för att rita grafik på hjärnans skärm.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ursprungs x-position i förhållande till det övre vänstra hörnet av hjärnans skärm från 0 till 159. |
|
|
Ursprungs y-positionen i förhållande till det övre vänstra hörnet av hjärnans skärm från 0 till 107. |
Den här funktionen returnerar inget värde.
NotesStandardorigo är skärmens övre vänstra hörn vid koordinaten (0, 0).
Ursprunget gäller för koordinatfunktioner som
drawLine,drawRectangle,drawCircleochprintAt.Ursprunget förblir giltigt tills det ändras igen eller projektet återställs.
setClipRegion#
Definierar ett rektangulärt område på skärmen där alla ritningar och text begränsas. Innehåll utanför detta område visas inte.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 159. |
|
|
Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal från 0 till 107. |
|
|
Klippområdets bredd i pixlar, angivet som ett heltal från 0 till 159. |
|
|
Klippområdets höjd i pixlar, angivet som ett heltal från 0 till 107. |
Den här funktionen returnerar inget värde.
NotesRitfunktioner körs fortfarande även om de faller utanför klippområdet, men endast delen innanför området är synlig.
Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.Klippregionen gäller endast den aktuella tråden.
Att ställa in ett nytt klippområde ersätter alla tidigare inställda klippområden för den aktuella tråden.
// 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#
Ritar en enda pixel på IQ (1:a generationen) hjärnskärmen vid den angivna x- och y-pixelpositionen.
Available Functionsvoid drawPixel(
int x,
int y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 159. |
|
|
Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 107. |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ställas in medsetOrigin.Om den angivna pixelplatsen ligger utanför skärmens gränser ritas inte pixeln.
// Draw one pixel at the center
// of the screen
Brain.Screen.drawPixel(80, 50);
drawLine#
Ritar en rak linje som förbinder två punkter på IQ-hjärnskärmen (1:a generationen).
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Linjens start-x-koordinat, angiven som ett heltal från 0 till 159. |
|
|
Linjens start-y-koordinat, angiven som ett heltal från 0 till 107. |
|
|
Linjens avslutande x-koordinat, angiven som ett heltal från 0 till 159. |
|
|
Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 107. |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
Linjens bredd bestäms av den aktuella pennbredden som är inställd med
setPenWidth.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ställas in medsetOrigin.Om någon del av linjen ligger utanför skärmens gränser ritas endast den synliga delen.
// Draw a line from the top left to
// bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);
drawRectangle#
Ritar en rektangel på IQ-hjärnskärmen (1:a generationen) vid den angivna positionen och storleken.
Available Functions1 — Ritar och fyller en rektangel med den för närvarande konfigurerade fyllningsfärgen.
void drawRectangle( int x, int y, int width, int height );
2 — Ritar och fyller en rektangel med ett fördefinierat objekt eller ett anpassad färg objekt.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Ritar och fyller en rektangel med ett hexadecimalt färgvärde.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Ritar och fyller en rektangel med ett nyansvärde.
void drawRectangle( int x, int y, int width, int height, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 159. |
|
|
Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 107. |
|
|
Rektangelns bredd, angiven som ett heltal från 0 till 159. |
|
|
Rektangelns höjd, angiven som ett heltal från 0 till 107. |
|
|
Fyller rektangeln med ett objekt med
|
|
|
Fyller rektangeln med ett hexadecimalt färgvärde (till exempel |
|
|
Fyller rektangeln med ett nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
Konturtjockleken bestäms av den aktuella pennbredden som är inställd med
setPenWidth.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.Om någon del av rektangeln ligger utanför skärmens gränser ritas endast den synliga delen.
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);
drawCircle#
Ritar en cirkel på IQ (1:a generationen) hjärnskärmen vid den angivna positionen och radien.
Available Functions1 — Ritar och fyller en cirkel med den för närvarande konfigurerade fyllningsfärgen.
void drawCircle( int x, int y, int radius );
2 — Ritar och fyller en cirkel med hjälp av ett fördefinierat eller anpassad färg objekt.
void drawCircle( int x, int y, int radius, const color& color );
3 — Ritar och fyller en cirkel med ett hexadecimalt färgvärde.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Ritar och fyller en cirkel med ett nyansvärde.
void drawCircle( int x, int y, int radius, int hue );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 159. |
|
|
Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 107. |
|
|
Cirkelns radie, angiven som ett heltal från 0 till 107 pixlar. |
|
|
Fyller cirkeln med ett objekt med
|
|
|
Fyller cirkeln med ett hexadecimalt färgvärde (till exempel |
|
|
Fyller cirkeln med ett nyansvärde i intervallet |
Den här funktionen returnerar inget värde.
NotesIQ (1:a generationen) hjärnskärmen är en monokrom skärm, så angivna färger kommer inte att visas på skärmen.
Konturtjockleken bestäms av den aktuella pennbredden som är inställd med
setPenWidth.Koordinaterna
xochyär relativa till skärmens aktuella origo, vilket kan ändras medsetOrigin.
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);
render#
Enables double buffering for the Brain’s screen. Once called, any drawing functions (like text or shapes) will no longer appear immediately for the rest of the project. Instead, updates will only be shown when render is used again. This allows for smoother and more controlled screen updates, but means nothing will be visible until render is used.
1 — Aktiverar dubbel buffring eller återger bakbufferten på skärmen.
bool render();
Parameters2 — Renderar bakbufferten till skärmen med kontroll över vertikal synkronisering och valfri schemaläggningskörning.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
|
|
|
Valfritt.
|
Returnerar ett booleskt värde som anger om de sparade ritningarna i bufferten har renderats på skärmen:
true— Ritningarna har renderats på skärmen.false— Ritningarna kunde inte renderas på skärmen.
Notes
Att anropa
renderkräver attrenderanvänds för resten av projektet.
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();