| Home | Press | Mailing List | Documentation | Screenshots | People | SourceForge | Downloads |
app/main.c:main
gtk_set_locale
setlocale
gtk_init
g_set_message_handler
app/install.c:install_verify
install_callback <app/main.c:init>
app/app_procs.c:gimp_init
app/app_procs.c:app_init
gtk_rc_parse
app/app_procs.c:make_initialization_status_window
app/app_procs.c:splash_text_draw
app/procedural_db.c:procedural_db_init
app/internal_procs.c:internal_procs_init [PDB procs that are core]
app/procedural_db.c:procedural_db_register
...
app/procedural_db.c:procedural_db_register(&quit_proc);
app/gimprc.c:parse_gimprc
app/app_procs.c:splash_logo_draw
app/fileops.c:file_ops_pre_init
app/procedural_db.c:procedural_db_register
...
app/xcf.c:xcf_init
app/gimpbrushlist.c:brushes_init
app/patterns.c:patterns_init
app/palette.c:palettes_init
app/gradient.c:gradients_init
app/plug_in.c:plug_in_init
plug-ins/gimpwire.c:WireBufferInit
app/procedural_db.c:procedural_db_register [progress and message box]
plug-ins/gimpprotocol.c:gp_init
plug-ins/gimpwire.c:wire_register
...
plug-ins/gimpwire.c:wire_set_writer(plug_in_write);
plug-ins/gimpwire.c:wire_set_reader(plug_in_read);
plug-ins/gimpwire.c:wire_set_flusher(plug_in_flush);
[Searching plug-ins in path...]
app/datafiles.c:datafiles_read_directories
plug_in_callback is where plug-ins get called when picked from a menu.
After the plug-in launches it runs gimp_loop(), a message handling loop. That receives a GP_CONFIG message and then GP_PROC_RUN message from Film Gimp to configure and run the plug-in's operation. After responding to GP_PROC_RUN by calling gimp_proc_run (msg.data); the plug-in does a gimpquit() and exists. Extensions (such as programming languages, e.g., Script-Fu) remain resident and have a somewhat different mechanism.
gimp_proc_run
(* PLUG_IN_INFO.run_proc) [Function pointer to run(), the action code in the plug-in]
gimp_drawable_get [Will ask Film Gimp main for display info via wire]
gimp_drawable_width
gimp_run_procedure("gimp_drawable_width"...)
gp_proc_run_write [Send wire message to Film Gimp]
wire_write_msg