Code

specialize MaybeStorage for Rect, and start using reference maybes to
[inkscape.git] / src / flood-context.h
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_changed(GtkComboBox *cbox, GtkWidget *tbl);
55 #endif