Felipe Sanches wrote:
But if you wish to work on inkscape related stuff in your master thesis, then I think that it should be something really hard. The first thing that I can think about is the process of porting the SPObject and all of its derived classes to C++
SPObjects do a lot of different things - some of them represent canvas objects, some of them UI details, etc. so I think this should be done in steps.
A few other ideas for large and technically challenging projects: 1. Create a C++ object hierarchy for tools. 2. Improve the extension system to allow binary plug-ins and provide more extension points. 3. Replace verbs with subclasses of Gtk::Action. 4. Move from garbage collection to boost::shared_ptr (an automatic tool would be needed). 5. Add an embedded scripting language (there was some work in this direction but I don't know what's the state of it now). 6. Make Inkscape's interface fully customizable like that of Firefox. 7. Port Inkscape to use GIO (but that's what I will be doing). 8. Separate all canvas-related functionality from UI code and move it into a separate directory. 9. (After 2 is complete) Host binary plugins in a separate process.
Regards, Krzysztof Kosiński