inkscape.h revision 1c08a33cfc4402041ddc6f9f470d643df81676e4
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#ifndef __INKSCAPE_H__
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#define __INKSCAPE_H__
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti/*
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * Interface to main application
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti *
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * Authors:
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * Lauris Kaplinski <lauris@kaplinski.com>
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti *
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * Copyright (C) 1999-2003 Authors
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti *
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * Released under GNU GPL, read the file 'COPYING' for more information
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti */
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#include <glib/gtypes.h>
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettistruct SPDesktop;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettistruct SPDocument;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettistruct SPEventContext;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettinamespace Inkscape {
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti struct Application;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti namespace XML {
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti class Node;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti class Document;
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti }
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti}
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#define INKSCAPE inkscape_get_instance()
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_application_init (const gchar *argv0, gboolean use_gui);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettibool inkscape_load_config (const gchar *filename, Inkscape::XML::Document *config, const gchar *skeleton, unsigned int skel_size, const gchar *e_notreg, const gchar *e_notxml, const gchar *e_notsp, const gchar *warn);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiInkscape::XML::Node *inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti/* Menus */
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettibool inkscape_load_menus (Inkscape::Application * inkscape);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettibool inkscape_save_menus (Inkscape::Application * inkscape);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiInkscape::XML::Node *inkscape_get_menus (Inkscape::Application * inkscape);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiInkscape::Application *inkscape_get_instance();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#define SP_ACTIVE_EVENTCONTEXT inkscape_active_event_context ()
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiSPEventContext * inkscape_active_event_context (void);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#define SP_ACTIVE_DOCUMENT inkscape_active_document ()
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiSPDocument * inkscape_active_document (void);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#define SP_ACTIVE_DESKTOP inkscape_active_desktop ()
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettiSPDesktop * inkscape_active_desktop (void);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettibool inkscape_is_sole_desktop_for_document(SPDesktop const &desktop);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettigchar *homedir_path(const char *filename);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettigchar *profile_path(const char *filename);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_switch_desktops_next ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_switch_desktops_prev ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_dialogs_hide ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_dialogs_unhide ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_dialogs_toggle ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_external_change ();
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_subselection_changed (SPDesktop *desktop);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti/*
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * fixme: This has to be rethought
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti */
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_refresh_display (Inkscape::Application *inkscape);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti/*
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti * fixme: This also
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti */
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchettivoid inkscape_exit (Inkscape::Application *inkscape);
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti#endif
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti/*
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti Local Variables:
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti mode:c++
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti c-file-style:"stroustrup"
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti indent-tabs-mode:nil
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti fill-column:99
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti End:
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti*/
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
6e16a663ee96cd1329e48518138efb415046d9f6mcecchetti