#ifndef __INKSCAPE_H__
#define __INKSCAPE_H__
/*
* Interface to main application
*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* Liam P. White <inkscapebrony@gmail.com>
*
* Copyright (C) 1999-2014 Authors
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include <map>
#include <vector>
#include <glib.h>
#include <glib-object.h>
#include "layer-model.h"
#include "selection.h"
struct SPColor;
} // namespace Tools
} // namespace UI
struct Document;
} // namespace XML
} // namespace Inkscape
// TODO: is this really how we should manage the lifetime of the selection?
// I just copied this from the initialization of the Selection in SPDesktop.
// When and how is it actually released?
}
};
static Application& instance();
static bool exists();
// returns the mask of the keyboard modifier to map to Alt, zero if no mapping
// Needs to be a guint because gdktypes.h does not define a 'no-modifier' value
// Sets the keyboard modifer to map to Alt. Zero switches off mapping, as does '1', which is the default
void argv0(char const *);
// no setter for this -- only we can control this variable
// useful functions
void autosave_init();
bool load_menus();
bool save_menus();
SPDesktop * active_desktop();
// Use this function to get selection model etc for a document
// Inkscape desktop stuff
void switch_desktops_next ();
void switch_desktops_prev ();
unsigned int maximum_dkey();
SPDesktop * next_desktop ();
SPDesktop * prev_desktop ();
void dialogs_hide ();
void dialogs_unhide ();
void dialogs_toggle ();
void external_change ();
// Moved document add/remove functions into public inkscape.h as they are used
// (rightly or wrongly) by console-mode functions
static char *homedir_path(const char *filename);
static char *profile_path(const char *filename);
// fixme: This has to be rethought
void refresh_display ();
// fixme: This also
void exit ();
static void crash_handler(int signum);
int autosave();
// nobody should be accessing our reference count, so it's made private.
// signals
// one of selections changed
// one of subselections (text selection, gradient handle, etc) changed
// one of selections modified
// one of selections set
// tool switched
// some desktop got focus
// some desktop lost focus
// these are orphaned signals (nothing emits them and nothing connects to them)
// inkscape is quitting
// user pressed F12
// user pressed F12
// a document was changed by some external means (undo or XML editor); this
// may not be reflected by a selection change and thus needs a separate signal
~Application();
unsigned refCount;
bool _dialogs_toggle;
char * _argv0;
static bool _crashIsHappening;
bool _use_gui;
};
} // namespace Inkscape
#endif
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :