1 #ifndef __SP_GRADIENT_CONTEXT_H__
2 #define __SP_GRADIENT_CONTEXT_H__
4 /*
5 * Gradient drawing and editing tool
6 *
7 * Authors:
8 * bulia byak <buliabyak@users.sf.net>
9 * Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
10 *
11 * Copyright (C) 2007 Johan Engelen
12 * Copyright (C) 2005 Authors
13 *
14 * Released under GNU GPL
15 */
17 #include <sigc++/sigc++.h>
18 #include "event-context.h"
19 #include "libnr/nr-point.h"
20 struct SPKnotHolder;
22 #define SP_TYPE_GRADIENT_CONTEXT (sp_gradient_context_get_type())
23 #define SP_GRADIENT_CONTEXT(obj) (GTK_CHECK_CAST((obj), SP_TYPE_GRADIENT_CONTEXT, SPGradientContext))
24 #define SP_GRADIENT_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), SP_TYPE_GRADIENT_CONTEXT, SPGradientContextClass))
25 #define SP_IS_GRADIENT_CONTEXT(obj) (GTK_CHECK_TYPE((obj), SP_TYPE_GRADIENT_CONTEXT))
26 #define SP_IS_GRADIENT_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), SP_TYPE_GRADIENT_CONTEXT))
28 class SPGradientContext;
29 class SPGradientContextClass;
31 struct SPGradientContext : public SPEventContext {
33 NR::Point origin;
35 bool cursor_addnode;
37 bool node_added;
39 NR::Point mousepoint_doc; // stores mousepoint when over_line in doc coords
41 Inkscape::MessageContext *_message_context;
43 sigc::connection *selcon;
44 sigc::connection *subselcon;
45 };
47 struct SPGradientContextClass {
48 SPEventContextClass parent_class;
49 };
51 /* Standard Gtk function */
52 GtkType sp_gradient_context_get_type();
54 void sp_gradient_context_select_next (SPEventContext *event_context);
55 void sp_gradient_context_select_prev (SPEventContext *event_context);
57 #endif
60 /*
61 Local Variables:
62 mode:c++
63 c-file-style:"stroustrup"
64 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
65 indent-tabs-mode:nil
66 fill-column:99
67 End:
68 */
69 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :