Difference between revisions of "Developer Documentation"
From Synfig Studio :: Documentation
m (Synfig use several external libs) |
m (Migrating gtk 2 to 3 link) |
||
Line 24: | Line 24: | ||
Synfig use several external libs : | Synfig use several external libs : | ||
− | * [https://developer.gnome.org/gtkmm-tutorial/2.24/ Gtkmm 2] | + | * [https://developer.gnome.org/gtkmm-tutorial/2.24/ Gtkmm 2], some work on branchs has been started to reach [https://developer.gnome.org/gtk3/ Gtkmm 3] ([https://developer.gnome.org/gtk3/3.4/gtk-migrating-2-to-3.html Migrating 2to3]) |
* [https://developer.gnome.org/gtkmm/2.24/namespaceGdk_1_1Cairo.html Cairo] (Cairo render mode) | * [https://developer.gnome.org/gtkmm/2.24/namespaceGdk_1_1Cairo.html Cairo] (Cairo render mode) | ||
* [http://freetype.org/ Freetype2] library (Text layer rendering in software render mode) | * [http://freetype.org/ Freetype2] library (Text layer rendering in software render mode) |
Revision as of 19:46, 10 April 2014
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:
- Build Instructions
- Building Documentation
- Source code description and workflow
- Roadmap
- Wish List
- Coding Conventions
- UI/UX Redesign
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.
- The core/command-line 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 :
- Gtkmm 2, some work on branchs has been started to reach Gtkmm 3 (Migrating 2to3)
- Cairo (Cairo render mode)
- Freetype2 library (Text layer rendering in software render mode)
- libxmlplusplus (to parse the project files)
- Boost Program Options (synfig cli)
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: