1 #ifndef __SP_FLOOD_CONTEXT_H__
2 #define __SP_FLOOD_CONTEXT_H__
4 /*
5 * Flood fill drawing context
6 *
7 * Authors:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 * John Bintz <jcoswell@coswellproductions.org>
10 *
11 * Released under GNU GPL
12 */
14 #include <sigc++/sigc++.h>
15 #include <gtk/gtk.h>
16 #include "event-context.h"
17 #include "helper/unit-menu.h"
18 #include "helper/units.h"
20 struct SPKnotHolder;
22 #define SP_TYPE_FLOOD_CONTEXT (sp_flood_context_get_type ())
23 #define SP_FLOOD_CONTEXT(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_FLOOD_CONTEXT, SPFloodContext))
24 #define SP_FLOOD_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_FLOOD_CONTEXT, SPFloodContextClass))
25 #define SP_IS_FLOOD_CONTEXT(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_FLOOD_CONTEXT))
26 #define SP_IS_FLOOD_CONTEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_FLOOD_CONTEXT))
28 #define FLOOD_COLOR_CHANNEL_R 1
29 #define FLOOD_COLOR_CHANNEL_G 2
30 #define FLOOD_COLOR_CHANNEL_B 4
31 #define FLOOD_COLOR_CHANNEL_A 8
33 class SPFloodContext;
34 class SPFloodContextClass;
36 struct SPFloodContext : public SPEventContext {
37 SPItem *item;
39 sigc::connection sel_changed_connection;
41 Inkscape::MessageContext *_message_context;
42 };
44 struct SPFloodContextClass {
45 SPEventContextClass parent_class;
46 };
48 /* Standard Gtk function */
50 GtkType sp_flood_context_get_type (void);
52 GList* flood_channels_dropdown_items_list (void);
53 void flood_channels_set_channels( gint channels );
55 #endif