Difference between revisions of "Developer Documentation"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (add contribute to code intra link in summary)
m (add png lib)
Line 33: Line 33:
 
* [http://www.boost.org/doc/libs/1_54_0/doc/html/program_options.html Boost Program Options] (synfig cli)
 
* [http://www.boost.org/doc/libs/1_54_0/doc/html/program_options.html Boost Program Options] (synfig cli)
 
* [http://www.mltframework.org/ MLT Framework - Media Loving Toolkit] (Sound Layer)
 
* [http://www.mltframework.org/ MLT Framework - Media Loving Toolkit] (Sound Layer)
 +
* [http://www.libpng.org/pub/png/libpng.html libpng] (load and write .png files)
  
 
Optionally you will also need :
 
Optionally you will also need :

Revision as of 15:32, 23 June 2015

Languages Language: 

English • čeština • español


The Developer Documentation part of this wiki is primarily for the following groups of people:

  • Current developers of the code
  • Future and potential developers
  • Those interested in bug filing and generating ideas

Index:


Synfig is divided into three main components: etl, synfig-core and synfig-studio.

  • ETL is the extended template library. One of its most important components is the shared object class, which is the base class for most other parts of the application. Using "handles" to shared objects instead of c++ pointers provides garbage collection via reference counting.
  • Synfig-core is the core/command-line (cli) renderer ("synfig") contains the document data structure for the application: valuenodes, layers, and canvases.
  • Synfig Studio ("synfig-studio") provides the gui for the application.
  • See also: How Synfig Works


Synfig use several external libs :

Optionally you will also need :

  • Magick++ the ImageMagick API (to build mod_magickpp, the magick++ module from synfig-core)
  • libavcodec (to build mod_libavcodec, from synfig-core)
  • libmng (to build mod_mng, from synfig-core)

... check the Build Instructions page for more detailed informations.


Complete coding tutorials:

  • Adding a Layer
  • Adding a Panel, Part I and Part II. Note: these are highly out of date please note that the directory "gtkmm" has been renamed to "gui", Panel is now know has Dock. Also, some files were moved into subfolders (take a look inside the "gui/docks" folder for example).


Other links:


Languages Language: 

English • čeština • español