1 #ifndef __FILTER_EFFECT_CHOOSER_H__
2 #define __FILTER_EFFECT_CHOOSER_H__
4 /*
5 * Filter effect selection selection widget
6 *
7 * Author:
8 * Nicholas Bishop <nicholasbishop@gmail.com>
9 *
10 * Copyright (C) 2007 Authors
11 *
12 * Released under GNU GPL, read the file 'COPYING' for more information
13 */
15 #include <gtkmm/box.h>
16 #include <gtkmm/combobox.h>
17 #include <gtkmm/liststore.h>
18 #include <gtkmm/treeview.h>
20 #include "combo-enums.h"
21 #include "filter-enums.h"
22 #include "labelled.h"
23 #include "spin-slider.h"
24 #include "sp-filter.h"
26 namespace Inkscape {
27 namespace UI {
28 namespace Widget {
30 /* Allows basic control over feBlend and feGaussianBlur effects,
31 with an option to use the full filter effect controls. */
32 class SimpleFilterModifier : public Gtk::VBox
33 {
34 public:
35 enum Flags {
36 NONE=0,
37 BLUR=1,
38 BLEND=2
39 };
41 SimpleFilterModifier(int flags);
43 sigc::signal<void>& signal_blend_blur_changed();
45 const Glib::ustring get_blend_mode();
46 // Uses blend mode enum values, or -1 for a complex filter
47 void set_blend_mode(const int);
49 double get_blur_value() const;
50 void set_blur_value(const double);
51 void set_blur_sensitive(const bool);
53 private:
54 Gtk::HBox _hb_blend;
55 Gtk::VBox _vb_blur;
56 Gtk::Label _lb_blend, _lb_blur;
57 ComboBoxEnum<Inkscape::Filters::FilterBlendMode> _blend;
58 SpinSlider _blur;
60 sigc::signal<void> _signal_blend_blur_changed;
61 };
63 }
64 }
65 }
67 #endif
69 /*
70 Local Variables:
71 mode:c++
72 c-file-style:"stroustrup"
73 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
74 indent-tabs-mode:nil
75 fill-column:99
76 End:
77 */
78 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :