Developer Documentation/cs
From Synfig Studio :: Documentation
Warning! This page contains outdated information. The release of Synfig Studio 0.64.0 introduced new terminology and this translated page needs to be updated according to original English text. You can help updating this page - see instructions here. Thank you! |
Dokumentace pro vývojáře je primárně určena pro:
- aktuální vývojáře aplikačního kódu
- případné budoucí vývojáře
- ty co mají další nápady, a chtějí odhalit případné chyby a nedostatky
Hlavní stránky
- Instrukce pro sestavení
- Dokumentace procesu sestavení
- Zdrojové kódy jak je získat a jakým způsobem se zapojit do vývoje
- Akce a jejich systém : popis a dokumentace akcí s nimiž systém pracuje – ideální místo, kde začít s pronikáním do kódu Synfigu.
- Nastavení vývojového IDE v Linuxu | ve Windows
- Plán dalšího vývoje
- Jak přispět ke zkvalitnění kódu
- Jak překládat GUI
- Seznam přání uživatelů
- Konvence pro psaní kódu
- Úpravy UI dle UX – aneb jak využívat zkušeností uživatelů (UX) při úpravách rozhraní aplikace (UI)
- Nahrazení ETL za knihovny z Boost C++ (které jsou postupně integrovány do standardního C++)
Co patří k Synfigu
Synfig tvoří tři hlavní součásti: etl, synfig-core and synfig-studio.
- ETL je sada knihoven, která rozšiřuje možnosti standardních knihoven. Jednou z nejdůležitějších funkcionalit, kterou poskytuje, jsou sdílené třídy, které tvoří základ pro tvorbu objektů u dalších částí aplikace. Využití "handles" u sdílených objektů místo c++ ukazatelů umožňuje automatický úklid paměti na základě počítání referencí.
- Synfig-core tvoří jádro aplikace/renderovací aplikace ("synfig") obsluhovaná z příkazové řádky (cli) zpracovává do výsledného zobrazení datovou strukturu dokumentu, který mu předává aplikace: body (valuenodes), vrstvy (layers) a plošky (canvases).
- Synfig Studio ("synfig-studio") je grafické rozhraní aplikace (GUI).
- Viz též: How Synfig Works
Externí knihovny
Synfig využívá několika externích knihoven
- Gtkmm 2, je postupně nahrazováno Gtkmm 3 ( viz GTK migrace z verze 2 na 3)
- Cairo (grafická knihovna, která umí při renderování obrazu využívat hardwarovou akceleraci grafické karty, pokud je k dispozici)
- Freetype2 – knihovna pro renderování vrstvy Text Layer u softwarově renderovaného obrazu
- libxmlplusplus (k parsování projektových souborů)
- Boost Program Options (synfig cli)
- MLT Framework - Media Loving Toolkit (využívá Sound Layer)
- libpng (načítá a zapisuje soubory ".png" formátu)
Také může využívat tyto knihovny, pokud jsou k dispozici
- Magick++ – API aplikace ImageMagick umí využívat synfig-core prostřednictvím modulu mod_magickpp
- libavcodec – využívá synfig-core prostřednictvím modulu mod_libavcodec
- libmng – využívá synfig-core prostřednictvím modulu mod_mng
…pro další informace vizte stránku Build Instructions.
Postup při psaní kódu
- Adding a Layer
- Přidání Panelu, Část I a Část II. Poznámka: Vezměte v potaz, že tento tutoriál už je hodně "out of date". Takže adresář "gtkmm" byl přejmenován na "gui" a panelu se nyní říká dok. Také byly přesunuty některé soubory do podadresářů (viz např. obsah podadresáře "gui/docks").