Skip to content

Instantly share code, notes, and snippets.

@toohka42
Created July 11, 2024 08:15
Show Gist options
  • Select an option

  • Save toohka42/0848178199541651988258c88903fde9 to your computer and use it in GitHub Desktop.

Select an option

Save toohka42/0848178199541651988258c88903fde9 to your computer and use it in GitHub Desktop.
final int bocniMezeraPlatna = 50;
final int horniMezeraPlatna = 150;
final int stranaTlacitka = 50;
final int mezeraMeziTlacitky = 30;
int sirkaStetce = 4;
final int offsetStetce = 4;
boolean tlacitkoZmacknuto = false;
final int pocetBarev = 5;
final int pocatekTlacitekBarev = 400;
int[] tlacitkaBarev = new int[pocetBarev];
// # = AltGr+X
color[] barvyTlacitek = {#FF0000, #00FF00, #0000FF, #FFFF00, #000000};
// TOTO SE PROVEDE JEN JEDNOU, NA ZAČÁTKU PROGRAMU
void setup() {
// Nastavení velikosti okna
size(1920, 1080);
// Zvýšení rychlosti vykreslování snímků, abychom nepřetahovali mimo plátno
frameRate(600);
// Nastavení výchozí šířky štětce
strokeWeight(sirkaStetce);
// Nakreslení malovacího plátna
rect(bocniMezeraPlatna, horniMezeraPlatna, width - 2 * bocniMezeraPlatna, height - bocniMezeraPlatna - horniMezeraPlatna);
// NAKRESLENÍ TLAČÍTEK
//Tlačítko +
rect(bocniMezeraPlatna, bocniMezeraPlatna, stranaTlacitka, stranaTlacitka);
fill(153);
textSize(85);
text("+", bocniMezeraPlatna, bocniMezeraPlatna + stranaTlacitka);
fill(255);
//Tlačítko -
rect(bocniMezeraPlatna + stranaTlacitka + mezeraMeziTlacitky, bocniMezeraPlatna, stranaTlacitka, stranaTlacitka);
fill(153);
textSize(100);
text("-", bocniMezeraPlatna + stranaTlacitka + mezeraMeziTlacitky, bocniMezeraPlatna + stranaTlacitka);
fill(255);
// Tlacitka barev
for (int i = 0; i < pocetBarev; i++) {
// Vypocet pozic tlacitek
tlacitkaBarev[i] = pocatekTlacitekBarev + i*stranaTlacitka + i*mezeraMeziTlacitky;
// Nakresleni tlacitek
fill(barvyTlacitek[i]);
rect(tlacitkaBarev[i], bocniMezeraPlatna, stranaTlacitka, stranaTlacitka);
}
fill(255);
}
//TOTO SE BUDE PROVÁDĚT AŽ DO KONCE BĚHU PROGRAMU
void draw() {
// Tlačítko pro zvětšení tloučťky štětce
if (mouseX > bocniMezeraPlatna && mouseX < bocniMezeraPlatna + stranaTlacitka && mouseY > bocniMezeraPlatna && mouseY < bocniMezeraPlatna + stranaTlacitka && mousePressed && tlacitkoZmacknuto == false) {
tlacitkoZmacknuto = true;
sirkaStetce = sirkaStetce + offsetStetce;
strokeWeight(sirkaStetce);
}
// Tlačítko pro zmenšení tloučťky štětce
if (mouseX > bocniMezeraPlatna + stranaTlacitka + mezeraMeziTlacitky && mouseX < bocniMezeraPlatna + stranaTlacitka + mezeraMeziTlacitky + stranaTlacitka && mouseY > bocniMezeraPlatna && mouseY < bocniMezeraPlatna + stranaTlacitka && mousePressed && tlacitkoZmacknuto == false) {
tlacitkoZmacknuto = true;
sirkaStetce = sirkaStetce - offsetStetce;
// Kontrola toho, že nemáme zápornou tloušťku
if (sirkaStetce <= 0) {
sirkaStetce = 1;
}
strokeWeight(sirkaStetce);
}
// Kreslení čáry
if (mouseX > bocniMezeraPlatna && mouseX < width - bocniMezeraPlatna && mouseY > horniMezeraPlatna && mouseY < height - bocniMezeraPlatna) {
drawLine();
}
// Výběr barvy
for (int i = 0; i < pocetBarev; i++) {
if (mouseX > tlacitkaBarev[i] && mouseX < tlacitkaBarev[i] + stranaTlacitka && mouseY > bocniMezeraPlatna && mouseY < bocniMezeraPlatna + stranaTlacitka && mousePressed && tlacitkoZmacknuto == false) {
stroke(barvyTlacitek[i]);
barvaPredGumou = barvyTlacitek[i];
}
}
if (mousePressed == false) {
tlacitkoZmacknuto = false;
}
} // Konec fce draw()
color barvaPredGumou;
void drawLine() {
// Je zmáčknuté tlačítko myši?
if (mousePressed) {
// Je zmáčknuté levé tlačítko?
if (mouseButton == LEFT) {
// Nastavíme barvu štětce na nějakou barvu
//stroke(0); // POUŽILI BYCHOM, KDYBYCHOM CHTĚLI KRESLIT JEN ČERNĚ, ALE PROTOŽE PŘEPÍNÁME BARVY, UŽ TO NECHCEME
stroke(barvaPredGumou);
}
// Je zmáčknuté pravé tlačítko?
else if (mouseButton == RIGHT) {
// Nastavíme barvu štětce na barvu plátna
stroke(255);
}
// Jsem uvnitř hranic plátna a proto můžu kreslit
line(pmouseX, pmouseY, mouseX, mouseY);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment