NextIRC 1.3
12. 5. 2026

Před rokem jsem začal pracovat na programu NXPaint, což je grafický editor pro ZX Spectrum Next, ale po cca 2 mesících jsem ho založil do šuplíku. Nemělo se jednat o žádný malovací kolos, který se snaží dělat všechno možné i nemožné, ale o praktický nástroj pro kreslení přímo na Nextu (ale samozřejmě jsem chtěl, aby měl tento editor něco, co ostatní editory nemají). Pro Next existují co Vím dva editory (dNext, Plotit) a ani jeden není dokončen a z mého pohledu se jedná spíš o koncepty, než použitelné programy... Pak je jeste jeden psaný v Basicu - Krystle designs, ale to není můj šálek kávy, i když klobouk dolu co dokázal autor vytvořit v Basicu.

NXPaint

Před rokem jsem začal pracovat na programu NXPaint, což je grafický editor pro ZX Spectrum Next, ale po cca 2 mesících jsem ho založil do šuplíku. Nemělo se jednat o žádný malovací kolos, který se snaží dělat všechno možné i nemožné, ale o praktický nástroj pro kreslení přímo na Nextu (ale samozřejmě jsem chtěl, aby měl tento editor něco, co ostatní editory nemají). Pro Next existují co Vím dva editory (dNext, Plotit) a ani jeden není dokončen a z mého pohledu se jedná spíš o koncepty, než použitelné programy... Pak je jeste jeden psaný v Basicu - Krystle designs, ale to není můj šálek kávy, i když klobouk dolu co dokázal autor vytvořit v Basicu.

Na programu jsem začal dělat přibližně před rokem. Tehdy se mi podařilo dát dohromady poměrně slušný základ, na kterém už se dalo kreslit, zkoušet vrstvy, pracovat s paletou a ovládat editor myší. Jenže pak přišlo jaro, hezké počasí, ideální podmínky na lítání s FPV, práce na zahradě, čas s rodinou a další povinnosti, které mě od toho postupně odtáhly. NXPaint tak skončil ve stavu „rozpracováno“, uložený někde v šuplíku mezi dalšími nápady, které čekají na svůj čas.

No a protože je teď počasí hnusné jako prdel, nastal ideální okamžik tenhle nedodělek znovu vytáhnout, oprášit zdrojáky a pustit se do jeho dokončení. Po delší pauze je vždycky trochu zábava se do vlastního kódu znovu dostat, protože člověk chvíli luští, co tím autor vlastně myslel - a v tomhle případě jsem tím autorem bohužel já. Na druhou stranu je příjemné zjistit, že základ programu není jen nějaký slepenec pokusů, ale že už tehdy vzniklo něco, na čem se dá dál rozumně stavět.

NXPaint používá Layer 2 prostředí s vlastním desktopem, horní lištou, nástrojovou lištou, menu, dialogy a podporou hardwarového kurzoru myši. Od začátku jsem ho navrhoval tak, aby se ovládal hlavně přes K-Mouse. Klikání, výběr barev, zoomování kolečkem a práce s plátnem dávají u takového editoru smysl mnohem víc než snaha všechno lámat přes klávesnici. Základní kreslicí nástroje už jsou v editoru přítomné. Je tam tužka pro volné kreslení po plátně, guma využívající transparentní barvu, flood fill pro vyplnění souvislých oblastí a také jednoduché geometrické nástroje jako čára, obdélník a elipsa. U tvarů funguje živý náhled při tažení myší a finální vykreslení po puštění tlačítka. Velikost štětce je nastavitelná od 1 do 8 pixelů, což se používá jak pro kreslení, tak pro gumu a vybrané kreslicí nástroje.

Součástí editoru je také textový nástroj. Ten umožňuje umístit text přímo na plátno, upravit ho ještě před potvrzením, posunout náhled a měnit měřítko i úhel textu. U pixelového editoru pro Next to není věc, kterou by člověk používal pořád, ale pro popisky, jednoduché UI prvky, titulní obrazovky nebo různé testovací grafiky se to hodí. Je to jedna z těch funkcí, které nechci mít překomplikované, ale chci, aby byly rychle použitelné, když jsou potřeba.

Editor pracuje se třemi pracovními vrstvami. Každou vrstvu je možné vybrat jako aktivní, zapínat a vypínat její viditelnost a případně ji zamknout proti úpravám. Barva 0 funguje jako transparentní, takže při skládání vrstev prosvítají spodní vrstvy tam, kde jsou v horní vrstvě průhledné pixely. Díky tomu se s grafikou pracuje mnohem pohodlněji než v případě jednoho pevného bitmapového plátna, kde každý zásah okamžitě přepíše původní obsah.

Důležitou částí je samozřejmě barevná paleta. NXPaint počítá s 256 barvami a dole na obrazovce je rychlá paleta pro výběr primární a sekundární barvy myší. Levé a pravé tlačítko myši se používá pro výběr jednotlivých barev, takže člověk nemusí pořád přepínat režimy nebo lovit barvu někde v dialogu. Do budoucna chci ještě dopracovat hlubší editaci palety, protože u grafiky pro ZX Spectrum Next je práce s barvami podstatná a zaslouží si lepší nástroje než jen prostý výběr indexu.

Plátno podporuje zoom v měřítku 1x, 2x, 4x a 8x. Zoomování kolečkem myši probíhá kolem pozice kurzoru, takže člověk neztratí místo, na kterém zrovna pracuje. U větších detailů je možné plátnem posouvat a pohodlně se dostat k části obrázku, kterou je potřeba upravit. NXPaint už obsahuje i základní podporu pro otevírání a ukládání NXI souborů přes browser v NextZXOS. Aktuálně se počítá s raw NXI importem pro obrazová data 256 x 192 a podporou varianty s 512bajtovou 9bitovou Layer 2 paletou. Při načítání NXI souborů s vloženou paletou se přebírají barvy obrázku, ale editor si zároveň hlídá vlastní rezervované barvy pro uživatelské rozhraní, aby se po načtení cizí grafiky nerozpadl vzhled programu.

V horní části aplikace jsou připravená menu File, Edit, Tools, Layers a About. Některé položky už fungují, například Open, Save, Undo, Redo, výběr nástrojů, About dialog a dialog pro zadání jména při ukládání. Jiné části jsou zatím spíš připravené kostry, které bude potřeba doplnit podle toho, jak se bude editor při reálném používání chovat. Nechci tam cpát položky jen proto, aby menu vypadalo bohatě. Raději méně věcí, které fungují a dávají smysl, než hromadu voleb, na které člověk klikne a nic pořádného se nestane.

K dispozici je také undo a redo, zatím postavené na osmipoložkové historii vrstev. Není to nekonečný záchranný pás, ale pro běžné kreslení a opravu posledních kroků je to důležitá věc. U grafického editoru se člověk často rozhoduje metodou pokus omyl, zkouší tvar, čáru, výplň nebo detail a bez možnosti vrátit poslední změny by práce byla zbytečně nervózní.

Aktuální stav je tedy takový, že jádro editoru už existuje, kreslicí nástroje jsou použitelné, vrstvy fungují, NXI load/save je součástí vývojové verze a ovládání myší už má jasný směr. Zároveň je ale potřeba dodat, že hotovo zdaleka není. Některé části vyžadují dotažení, některé budou chtít přepsat nebo vyčistit a u dalších se teprve ukáže, jestli jsou navržené dobře, až je začnu opravdu používat na konkrétní grafice.

V plánu mám dopracovat hlavně nástroje pro výběr oblastí, kompletnější operace s vrstvami, lepší práci s paletou, vylepšení exportu a další funkce, které dávají smysl při každodenní práci s pixel artem. Nechci z NXPaintu udělat přerostlý editor plný funkcí, které budou na Nextu spíš překážet. Chci, aby to byl svižný a použitelný nástroj, který zapadne do vývoje grafiky přímo na ZX Spectrum Next.

Program si můžete stáhnout zde a vyzkoušet vývojovou verzi: https://shrek128.itch.io/nxpaint

Snímek obrazovky 2026-05-14 135936

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *