Skip to content
Snippets Groups Projects
Commit dacbf399 authored by Erling Syversveen Lie's avatar Erling Syversveen Lie
Browse files

Updates to button, rectangle and mouse interactions

parent 052a6d14
Branches
No related tags found
No related merge requests found
Pipeline #213155 passed
......@@ -148,6 +148,16 @@ Som alle andre former kan fargen endres:
window.draw_rectangle(topLeftCorner, width, height, fillColor);
```
Og kantfargen kan også endres som i sirkler:
```c++
Point topLeftCorner {50, 50};
int width = 150;
int height = 100;
Color fillColor = Color::light_sea_green;
Color edgeColor = Color::lime;
window.draw_rectangle(topLeftCorner, width, height, fillColor, lime);
```
<img src="../../images/rectangle_2.png" alt="Bilde som viser et JPG fil i arbeidsområdet i Visual Studio Code" style="max-width:450px; width:100%;"/>
### Quad
......
......@@ -156,6 +156,7 @@ int main()
AnimationWindow window;
window.add(button);
button.setCallback(buttonClicked);
button.setButtonColor(Color::silver);
window.wait_for_close();
return 0;
}
......@@ -171,7 +172,18 @@ Button(TDT4102::Point location, unsigned int width, unsigned int height, std::st
Her definerer `TDT4102::Point location` hvor knappen skal plasseres på skjermen, `width` og `height` størrelsen, og `label` teksten som skal vises på knappen. Vi bruker `add()` og `setCallback()` funksjonene å sørge for at knappen blir synlig i vinduet, og at det skjer noe når vi klikker på den.
Callback funksjonen blir kallet hver gang brukeren klikker på knappen.
Callback funksjonen blir kalt hver gang brukeren klikker på knappen.
Buttonklassen har diverse funksjoner for å endre på utseende.
```c++
void setLabel(std::string newLabel);
void setLabelColor(Color newColor);
void setButtonColor(Color newColor);
void setButtonColorHover(Color newColor);
void setButtonColorActive(Color newColor);
```
Du kan endre tekst og tekstfarge med `setLabel` og `setLabelColor`. Du kan endre fargen for knappen med `setButtonColor`, fargen når du har musen over med `setButtonColorHover` og fargen på knappen når den er trykket ned med `setButtonColorActive`.
### Tekst felt
......
......@@ -38,6 +38,10 @@ I dette programmet er det to linjer som er relevant:
Den første linjen oppretter vinduet ved å deklarere en variabel med datatype «AnimationWindow». For å forstå meningen med den andre linjen, prøv å fjerne den og kjøre programmet. Noen gang så skjer det ingenting, mens andre ganger vises et vindu i en kort periode. Dette skjer fordi programmet fortsetter å kjøre etter vi oppretter `window` variabelen, og siden den har nå kommet til slutten av `main()` funksjonen, avsluttes programmet som lukker vinduet automatisk. Vi må derfor sørge for at programmet venter fram til brukeren lukker vinduet, som vi kan gjøre ved å bruke `wait_for_close()` funksjonen.
## Lukke et vindu
Du kan lukke vinduet ved å kalle medlemsfunksjonen `close()`. Dette kan for eksempel brukes i en callback funksjon til en quit knapp.
## Endre vinduets standardverdier
AnimationWindow har forskjellige parametere som lar deg endre hvor på skjermen vinduet dukker opp, størrelsen, og tittelen som vises øverst på vinduet.
......@@ -117,3 +121,6 @@ int main()
Når du kjører eksempelet ser du at teksten øverst i vinduet har endret:
<img src="../images/window_title.png" alt="Bilde av et tom vindu med endret tittel" style="max-width:600px; width:100%;"/>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment