As I understand it, the src/dialogs and src/widgets folders contain dialogs and widgets that were written in GTK+ (C style). The src/ui/widget and src/ui/dialog folders contain the Gtkmm (C++ style) GUI elements.
The display folder contains widgets like "canvas items" (i.e., stuff that can be drawn on the canvas).
The "draw" functionality for all inkscape GUI elements is performed using the cairo library (as is the case for any GTK widget). Every widget needs to provide a "draw" or "expose" function that contains instructions for how it is drawn to screen. Take a look, for example, at the sp_ruler_draw function in src/widgets/ruler.cpp. If you aren't familiar with the Cairo drawing approach, there is a reasonable into provided in the GTK+ API reference.
Did you know that the project is set up to use Doxygen documentation generation? You can just enter the root folder and type "doxygen" to generate "pretty" code documentation. After it has compiled, just open the index.html file in the doxygen/html folder using a web browser.
There's also a lot of very useful information for finding your way around the code in the inkscape wiki. Have you read through it?
Cheers,
AV
On 29 October 2012 15:55, Arshdeep Singh <moduli16@...400...> wrote:
I am sorry, I know the question is vague. But, I am new to inkscape development and owing very little in-code commenting and guiding sections, the project seems to intimidating and big to understand by sheer hit-and-trial.
Till now I have figured out this: 1.) src\dialog contains all dialog boxes' codes. I happen to have fixed a bug recently, Bug-773228. during the course to figure it out, I understood "dialog" contents. 2.) Your direction tells me, "display" is handling the rendering part. 3.) The "widget" directory happens to handle basic functionality types land tools.
I really don't know what I need right now, but I was looking for a general understanding of how the code handles what to render on the canvas and then save it there and still enable editing. Maybe you mean, the code is abstracted onto Cairo's code, so we need not get behind the curtain. If that being the case, I would like to know, is there any general source for me understand these workings ?
Sorry, if the questions are stupid, I am not that bad at understanding code in general, but without any kind of documentation and help it becomes a little obscure.
-Arshdeep
On Mon, Oct 29, 2012 at 8:51 PM, Jasper van de Gronde <th.v.d.gronde@...528...> wrote:
On 29-10-12 10:57, Arshdeep Singh wrote:
Can you shed some light on SP Classes ?
Can you be more explicit about what you want to know?
Also, where can I get to know what inputs are passed on from Inkscape code to Cairo for various purposes like when I'm drawing a bezier or a rectangle ?
I think you are probably more interested in the src/display directory, as that's where the actual drawing is done (or Cairo is called at least). But it would help if we knew a bit more about what you're trying to do.
-- Arshdeep Singh Third Year, Computer Engineering Delhi Technological University Ph: +91-9654115614
The Windows 8 Center - In partnership with Sourceforge Your idea - your app - 30 days. Get started! http://windows8center.sourceforge.net/ what-html-developers-need-to-know-about-coding-windows-8-metro-style-apps/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel