# Automatic code documentation, diagrams !

**URL:** <https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588>\
**Category:** Documentation\
**Created:** [July 25, 2013, 10:46am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588 "2013-07-25T10:46:37Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![d.j.a.y](https://forums.synfig.org/user_avatar/forums.synfig.org/d.j.a.y/32/113_2.png) [@d.j.a.y](https://forums.synfig.org/u/d.j.a.y)\
**Post date:** [July 25, 2013, 10:46am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/1 "2013-07-25T10:46:37Z")

</div>

Hello, doxygen is doing, thrue genete manual intervention (?), a great job exposing some synfig recipies…  
[download.tuxfamily.org/synfig/ap … archy.html](http://download.tuxfamily.org/synfig/api/synfig-studio/hierarchy.html)  
(updated on 24th of july)

(1) walking threw other doxygen site i have found the inkscape doxygen result very interesting …  
[sourcecodebrowser.com/inksca … \_impl.html](http://www.sourcecodebrowser.com/inkscape/0.43/class_inkscape_1_1_u_i_1_1_dialogs_1_1_file_open_dialog_impl.html)

is it possible to configure something on doxygen to have this kind of diagrams for synfig code ?

(2) seems to doens’t expose private member things… could be useful, and not violating privacy 😉 to expose that also .

few minutes later EDIT : [My “dreams” … on 0.62 code](http://sourcecodebrowser.com/synfigstudio/0.62.00/classstudio_1_1_canvas_view.html#a320a756744033d8e279f58c33f7c4e3f)

---

<div class="post-metadata">

**Author:** ![Genete](https://forums.synfig.org/user_avatar/forums.synfig.org/genete/32/8_2.png) [@Genete](https://forums.synfig.org/u/Genete)\
**Post date:** [July 25, 2013, 11:12am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/2 "2013-07-25T11:12:06Z")

</div>

I wonder why is it not updated to 0.64.0.  
It is very useful!  
-G

---

<div class="post-metadata">

**Author:** ![Genete](https://forums.synfig.org/user_avatar/forums.synfig.org/genete/32/8_2.png) [@Genete](https://forums.synfig.org/u/Genete)\
**Post date:** [July 25, 2013, 11:15am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/3 "2013-07-25T11:15:57Z")

</div>

> [@](#):
>
> Hello, doxygen is doing, thrue genete manual intervention (?), a great job exposing some synfig recipies…

Not me! It is automatic. We just add comments to the classes and functions but doxygen gathers it automatically.  
-G

---

<div class="post-metadata">

**Author:** ![d.j.a.y](https://forums.synfig.org/user_avatar/forums.synfig.org/d.j.a.y/32/113_2.png) [@d.j.a.y](https://forums.synfig.org/u/d.j.a.y)\
**Post date:** [July 25, 2013, 8:37pm UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/4 "2013-07-25T20:37:48Z")

</div>

> [@Genete](#):
>
> I wonder why is it not updated to 0.64.0.

maybe will come one day… cause on a linked site they propose 0.64 sources…  
[synfigstudio.sourcearchive.com/](http://synfigstudio.sourcearchive.com/)  
[synfig.sourcearchive.com/](http://synfig.sourcearchive.com/)

> [@Genete](#):
>
> Not me! It is automatic

Is it possible to do something on the “automatic” generation to reach sourcecodebrowser result ?

---

<div class="post-metadata">

**Author:** ![KonstantinDmitriev](https://forums.synfig.org/user_avatar/forums.synfig.org/konstantindmitriev/32/3_2.png) [@KonstantinDmitriev](https://forums.synfig.org/u/KonstantinDmitriev)\
**Post date:** [July 26, 2013, 5:52am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/5 "2013-07-26T05:52:03Z")

</div>

> [@d.j.a.y](#):
>
> > [@Genete](#):
> >
> > Not me! It is automatic
> 
> Is it possible to do something on the “automatic” generation to reach sourcecodebrowser result ?

You can try to tune doxygen configuration options. Take a look at the autobuild/api.sh file in the source tree of Synfig - [github.com/synfig/synfig/blob/m … ild/api.sh](https://github.com/synfig/synfig/blob/master/autobuild/api.sh)  
This file is responsible for automatic generation of API docs. You can use it to generate the API docs locally at your PC. I often use that trick when I’m out of Internet connection. 🙂

---

<div class="post-metadata">

**Author:** ![d.j.a.y](https://forums.synfig.org/user_avatar/forums.synfig.org/d.j.a.y/32/113_2.png) [@d.j.a.y](https://forums.synfig.org/u/d.j.a.y)\
**Post date:** [March 17, 2014, 10:06pm UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/6 "2014-03-17T22:06:01Z")

</div>

[github.com/synfig/synfig/blob/m … gen.cfg.in](https://github.com/synfig/synfig/blob/master/synfig-core/doxygen.cfg.in) (idem synfig-studio …)

[i]# If the CALL\_GRAPH and HAVE\_DOT tags are set to YES then doxygen will

# generate a call dependency graph for every global function or class method.

# Note that enabling this option will significantly increase the time of a run.

# So in most cases it will be better to enable call graphs for selected

# functions only using the \callgraph command.

CALL\_GRAPH = NO[/i]

What do you think about time of run, is it tuxfamilly server compliant ? did i send a commit ?  
Or maybe it’s better when select functions “manually” …

[i]# If the EXTRACT\_PRIVATE tag is set to YES all private members of a class

# will be included in the documentation.

EXTRACT\_PRIVATE = NO[/i]

And also what do you think to display Private members ?

---

<div class="post-metadata">

**Author:** ![KonstantinDmitriev](https://forums.synfig.org/user_avatar/forums.synfig.org/konstantindmitriev/32/3_2.png) [@KonstantinDmitriev](https://forums.synfig.org/u/KonstantinDmitriev)\
**Post date:** [March 18, 2014, 11:07am UTC](https://forums.synfig.org/t/automatic-code-documentation-diagrams/2588/7 "2014-03-18T11:07:34Z")

</div>

Hi!  
I am afraid this will slowdown tuxfamily server (which we share with other projects).  
Anyway, if we will migrate our API script to my personal server, then we can play with the options and monitor CPU usage. Though, I can’t give any promises for now.
