From 99ace0db74392cd27518d03dc51db67f0cc3eaa8 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 26 May 2010 15:18:04 +0000 Subject: [PATCH] generate knob pixbufs at run time but draw from the pixbufs; remove mfimg utility and existing knob icon png files git-svn-id: http://subversion.ardour.org/svn/ardour2/ardour2/branches/3.0@7166 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/icons/bigknob.png | Bin 78788 -> 0 bytes gtk2_ardour/icons/littleknob.png | Bin 32350 -> 0 bytes gtk2_ardour/monitor_section.cc | 28 ++-- libs/gtkmm2ext/gtkmm2ext/motionfeedback.h | 6 +- libs/gtkmm2ext/gtkmm2ext/prolooks-helpers.h | 22 +-- libs/gtkmm2ext/mfimg.cc | 16 -- libs/gtkmm2ext/motionfeedback.cc | 222 +++++++++++++++------------- libs/gtkmm2ext/prolooks_helpers.c | 22 +-- libs/gtkmm2ext/wscript | 10 -- 9 files changed, 166 insertions(+), 160 deletions(-) delete mode 100644 gtk2_ardour/icons/bigknob.png delete mode 100644 gtk2_ardour/icons/littleknob.png delete mode 100644 libs/gtkmm2ext/mfimg.cc diff --git a/gtk2_ardour/icons/bigknob.png b/gtk2_ardour/icons/bigknob.png deleted file mode 100644 index 1511d23127c134e3b73808ef327da7961f9d0951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 78788 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 Y4$^eF$}cUO6Q3JhG`~>#oAV$41Dyi3{{R30 diff --git a/gtk2_ardour/icons/littleknob.png b/gtk2_ardour/icons/littleknob.png deleted file mode 100644 index 76544e1399a168992a43b5c77df0705b98ecc3aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 32350 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 diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index 5b60942bb..4ec4166dd 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -6,6 +6,7 @@ #include "gtkmm2ext/bindable_button.h" #include "gtkmm2ext/tearoff.h" #include "gtkmm2ext/actions.h" +#include "gtkmm2ext/motionfeedback.h" #include "ardour/dB.h" #include "ardour/monitor_processor.h" @@ -738,27 +739,34 @@ MonitorSection::setup_knob_images () { try { - big_knob_pixbuf = ::get_icon ("bigknob"); - + big_knob_pixbuf = MotionFeedback::render_pixbuf (80); + } catch (...) { - error << "No knob image found (or not loadable) at " - << " .... " - << endmsg; + error << "No usable large knob image" << endmsg; + throw failed_constructor (); + } + + if (!big_knob_pixbuf) { + error << "No usable large knob image" << endmsg; throw failed_constructor (); } try { - - little_knob_pixbuf = ::get_icon ("littleknob"); + + little_knob_pixbuf = MotionFeedback::render_pixbuf (30); } catch (...) { - error << "No knob image found (or not loadable) at " - << " .... " - << endmsg; + error << "No usable small knob image" << endmsg; throw failed_constructor (); } + + if (!little_knob_pixbuf) { + error << "No usable small knob image" << endmsg; + throw failed_constructor (); + } + } bool diff --git a/libs/gtkmm2ext/gtkmm2ext/motionfeedback.h b/libs/gtkmm2ext/gtkmm2ext/motionfeedback.h index a567c7d40..ba70e30a0 100644 --- a/libs/gtkmm2ext/gtkmm2ext/motionfeedback.h +++ b/libs/gtkmm2ext/gtkmm2ext/motionfeedback.h @@ -64,8 +64,8 @@ class MotionFeedback : public Gtk::VBox void set_controllable (boost::shared_ptr c) { binding_proxy.set_controllable (c); } void set_lamp_color (const Gdk::Color&); - - void render_file (const std::string& path, int width, int height); + + static Glib::RefPtr render_pixbuf (int size); protected: gfloat _range; @@ -111,7 +111,7 @@ class MotionFeedback : public Gtk::VBox GdkColor lamp_bright; GdkColor lamp_dark; - void core_draw (cairo_t*, int, double, double, double); + static void core_draw (cairo_t*, int, double, double, double, double, const GdkColor* bright, const GdkColor* dark); }; } /* namespace */ diff --git a/libs/gtkmm2ext/gtkmm2ext/prolooks-helpers.h b/libs/gtkmm2ext/gtkmm2ext/prolooks-helpers.h index 4f1ed780e..3d868b108 100644 --- a/libs/gtkmm2ext/gtkmm2ext/prolooks-helpers.h +++ b/libs/gtkmm2ext/gtkmm2ext/prolooks-helpers.h @@ -189,21 +189,21 @@ CairoColor* cairo_color_shade (CairoColor* self, double shade_factor); void cairo_color_set_to (CairoColor* self, CairoColor* a_color); void cairo_color_set_as_source_in (CairoColor* self, cairo_t* cr); void cairo_color_add_color_stop_to (CairoColor* self, cairo_pattern_t* p, double offset); -CairoColor* prolooks_gdk_color_to_cairo (GdkColor* color); +CairoColor* prolooks_gdk_color_to_cairo (const GdkColor* color); void prolooks_color_from_string (const char* webcolor, GdkColor* result); static void cairo_color_finalize (CairoColor* obj); GType prolooks_button_state_get_type (void); GType prolooks_button_type_get_type (void); void prolooks_set_line_width_from_device (cairo_t* cr); -char* prolooks_color_to_string (GdkColor* color); +char* prolooks_color_to_string (const GdkColor* color); CairoColor* prolooks_cairo_color_from_string (const char* webcolor); -void prolooks_set_source_color (cairo_t* cr, GdkColor* color, double alpha); -void prolooks_gdk_color_to_cairo_color (GdkColor* color, double* red, double* green, double* blue); +void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha); +void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue); void prolooks_cairo_color_to_gdk (CairoColor* cairo_color, GdkColor* result); void prolooks_set_source_color_string (cairo_t* cr, const char* color, double alpha); -void prolooks_add_color_stop (cairo_pattern_t* p, double offset, GdkColor* color, double alpha); +void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha); void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* color, double alpha); -cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, GdkColor* start, GdkColor* stop, double alpha_start, double alpha_stop); +cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, const GdkColor* start, const GdkColor* stop, double alpha_start, double alpha_stop); cairo_pattern_t* prolooks_create_gradient_str (double x1, double y1, double x2, double y2, const char* start, const char* stop, double alpha_start, double alpha_stop); void prolooks_rounded_rect (cairo_t* cr, double x, double y, double w, double h, double radius_x, double radius_y); void prolooks_background_gradient (cairo_t* cr, double w, double h); @@ -215,7 +215,7 @@ enum { double prolooks_hsl_get_hue (ProlooksHSL* self); char* prolooks_hsl_to_string (ProlooksHSL* self); void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result); -void prolooks_hsl_from_gdk_color (ProlooksHSL* self, GdkColor* color); +void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color); void prolooks_hsl_set_hue (ProlooksHSL* self, double value); static void prolooks_hsl_finalize (ProlooksHSL* obj); gpointer prolooks_hsv_ref (gpointer instance); @@ -233,9 +233,9 @@ double prolooks_hsv_get_hue (ProlooksHSV* self); double prolooks_hsv_get_saturation (ProlooksHSV* self); double prolooks_hsv_get_value (ProlooksHSV* self); char* prolooks_hsv_to_string (ProlooksHSV* self); -void prolooks_hsv_from_gdk_color (ProlooksHSV* self, GdkColor* color); -ProlooksHSV* prolooks_hsv_new_for_gdk_color (GdkColor* color); -ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, GdkColor* color); +void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color); +ProlooksHSV* prolooks_hsv_new_for_gdk_color (const GdkColor* color); +ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color); void prolooks_hsv_from_cairo_color (ProlooksHSV* self, CairoColor* color); ProlooksHSV* prolooks_hsv_new_for_cairo_color (CairoColor* color); ProlooksHSV* prolooks_hsv_construct_for_cairo_color (GType object_type, CairoColor* color); @@ -247,7 +247,7 @@ void prolooks_hsv_set_saturation (ProlooksHSV* self, double value); ProlooksHSV* prolooks_hsv_new (void); ProlooksHSV* prolooks_hsv_construct (GType object_type); static void prolooks_hsv_finalize (ProlooksHSV* obj); -void prolooks_shade_color (GdkColor* orig, double shade_ratio, GdkColor* result); +void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result); GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface); #ifdef __cplusplus diff --git a/libs/gtkmm2ext/mfimg.cc b/libs/gtkmm2ext/mfimg.cc deleted file mode 100644 index 12a79fc6c..000000000 --- a/libs/gtkmm2ext/mfimg.cc +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include -#include "gtkmm2ext/motionfeedback.h" - -using namespace std; -using namespace Gtkmm2ext; - -int -main (int argc, char* argv[]) -{ - Gtk::Main app (&argc, &argv); - int size = atoi (argv[1]); - Glib::RefPtr pb; - MotionFeedback mf (pb, MotionFeedback::Rotary, 0, 0, false, size, size); - mf.render_file (argv[2], size, size); -} diff --git a/libs/gtkmm2ext/motionfeedback.cc b/libs/gtkmm2ext/motionfeedback.cc index 683d1befa..2637ae7a2 100644 --- a/libs/gtkmm2ext/motionfeedback.cc +++ b/libs/gtkmm2ext/motionfeedback.cc @@ -19,6 +19,8 @@ #include #include +#include +#include #include #include /* for snprintf, grrr */ @@ -324,10 +326,9 @@ MotionFeedback::adjustment_changed () } void -MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, double y) +MotionFeedback::core_draw (cairo_t* cr, int phase, double size, double progress_width, double xorigin, double yorigin, + const GdkColor* bright, const GdkColor* dark) { - double width; - double height; double xc; double yc; double start_angle; @@ -340,7 +341,6 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub double start_angle_y; double end_angle_x; double end_angle_y; - double progress_width; double progress_radius; double progress_radius_inner; double progress_radius_outer; @@ -350,17 +350,31 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_pattern_t* progress_shine; double degrees; cairo_pattern_t* knob_ripples; + double pxs; + double pys; g_return_if_fail (cr != NULL); + + progress_radius = 40.0; + progress_radius_inner = progress_radius - (progress_width / 2.0); + progress_radius_outer = progress_radius + (progress_width / 2.0); + knob_disc_radius = progress_radius_inner - 5.0; - cairo_set_source_rgba (cr, 0.75, 0.75, 0.75, (double) 1.0); - cairo_rectangle (cr, (double) 0, (double) 0, subwidth, subheight); - cairo_fill (cr); + const double pad = 2.0; /* line width for boundary of progress ring */ + const double actual_width = ((2.0 * pad) + (2.0 * progress_radius_outer)); + const double scale_factor = size / actual_width; + + /* knob center is at middle of the area bounded by (xorigin,yorigin) and (xorigin+size, yorigin+size) + but the coordinates will be scaled by the scale factor when cairo uses them so first + adjust them by the reciprocal of the scale factor. + */ + + xc = (xorigin + (size / 2.0)) * (1.0/scale_factor); + yc = (yorigin + (size / 2.0)) * (1.0/scale_factor); + + pxs = xorigin * (1.0/scale_factor); + pys = yorigin * (1.0/scale_factor); - width = 105.0; - height = 105.0; - xc = width / 2.0; - yc = height / 2.0; start_angle = 0.0; end_angle = 0.0; value_angle = 0.0; @@ -376,32 +390,24 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub start_angle_y = sin (start_angle); end_angle_x = cos (end_angle); end_angle_y = sin (end_angle); - cairo_save (cr); - //cairo_translate (cr, x, (double) 0); - cairo_scale (cr, (2.0 * radius) / width, (2.0 * radius) / height); - //cairo_translate (cr, -xc, (double) 0); - pattern = prolooks_create_gradient_str ((double) 32, (double) 16, (double) 75, (double) 16, "#d4c8b9", "#ae977b", 1.0, 1.0); + cairo_scale (cr, scale_factor, scale_factor); + + pattern = prolooks_create_gradient_str (pxs + 32.0, pys + 16.0, pxs + 75.0, pys + 16.0, "#d4c8b9", "#ae977b", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_set_line_width (cr, 2.0); cairo_arc (cr, xc, yc, 31.5, 0.0, 2 * G_PI); cairo_stroke (cr); - progress_width = 10.0; - progress_radius = 40.0; - progress_radius_inner = progress_radius - (progress_width / 2.0); - progress_radius_outer = progress_radius + (progress_width / 2.0); - knob_disc_radius = progress_radius_inner - 5.0; - - pattern = prolooks_create_gradient_str ((double) 20, (double) 20, (double) 89, (double) 87, "#2f2f4c", "#090a0d", 1.0, 1.0); + pattern = prolooks_create_gradient_str (pxs + 20.0, pys + 20.0, pxs + 89.0, pys + 87.0, "#2f2f4c", "#090a0d", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_set_line_width (cr, progress_width); cairo_arc (cr, xc, yc, progress_radius, start_angle, end_angle); cairo_stroke (cr); - pattern = prolooks_create_gradient ((double) 20, (double) 20, (double) 89, (double) 87, &lamp_bright, &lamp_dark, 1.0, 1.0); + pattern = prolooks_create_gradient (pxs + 20.0, pys + 20.0, pxs + 89.0, pys + 87.0, bright, dark, 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_set_line_width (cr, progress_width); @@ -411,7 +417,7 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); progress_rim_width = 2.0; cairo_set_line_width (cr, progress_rim_width); - pattern = prolooks_create_gradient_str ((double) 18, (double) 79, (double) 35, (double) 79, "#dfd5c9", "#dfd5c9", 1.0, 0.0); + pattern = prolooks_create_gradient_str (pxs + 18.0, pys + 79.0, pxs + 35.0, pys + 79.0, "#dfd5c9", "#dfd5c9", 1.0, 0.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_move_to (cr, xc + (progress_radius_outer * start_angle_x), yc + (progress_radius_outer * start_angle_y)); @@ -423,24 +429,24 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_line_to (cr, xc + (progress_radius_inner * end_angle_x), yc + (progress_radius_inner * end_angle_y)); cairo_stroke (cr); - // pattern = prolooks_create_gradient_str ((double) 95, (double) 6, (double) 5, (double) 44, "#dfd5c9", "#b0a090", 1.0, 1.0); - pattern = prolooks_create_gradient_str ((double) 95, (double) 6, (double) 5, (double) 44, "#000000", "#000000", 1.0, 1.0); + // pattern = prolooks_create_gradient_str (95.0, 6.0, 5.0, 44.0, "#dfd5c9", "#b0a090", 1.0, 1.0); + pattern = prolooks_create_gradient_str (pxs + 95.0, pys + 6.0, pxs + 5.0, pys + 44.0, "#000000", "#000000", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_arc (cr, xc, yc, progress_radius_outer, start_angle, end_angle); cairo_stroke (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT); - pattern = prolooks_create_gradient ((double) 20, (double) 20, (double) 89, (double) 87, &lamp_bright, &lamp_dark, 0.25, 0.25); + pattern = prolooks_create_gradient (pxs + 20.0, pys + 20.0, pxs + 89.0, pys + 87.0, bright, dark, 0.25, 0.25); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_set_line_width (cr, progress_width); cairo_arc (cr, xc, yc, progress_radius, start_angle, value_angle + (G_PI / 180.0)); cairo_stroke (cr); - progress_shine = prolooks_create_gradient_str ((double) 89, (double) 73, (double) 34, (double) 16, "#ffffff", "#ffffff", 0.3, 0.04); + progress_shine = prolooks_create_gradient_str (pxs + 89.0, pys + 73.0, pxs + 34.0, pys + 16.0, "#ffffff", "#ffffff", 0.3, 0.04); cairo_pattern_add_color_stop_rgba (progress_shine, 0.5, 1.0, 1.0, 1.0, 0.0); - if (subwidth > 50) { + if (size > 50) { cairo_pattern_add_color_stop_rgba (progress_shine, 0.75, 1.0, 1.0, 1.0, 0.3); } else { cairo_pattern_add_color_stop_rgba (progress_shine, 0.75, 1.0, 1.0, 1.0, 0.2); @@ -453,25 +459,25 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_set_line_width (cr, 1.0); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); - cairo_arc (cr, xc, yc, progress_radius_inner, (double) 0, 2 * G_PI); - pattern = prolooks_create_gradient_str ((double) 35, (double) 31, (double) 75, (double) 72, "#68625c", "#44494b", 1.0, 1.0); + cairo_arc (cr, xc, yc, progress_radius_inner, 0.0, 2 * G_PI); + pattern = prolooks_create_gradient_str (pxs + 35.0, pys + 31.0, pxs + 75.0, pys + 72.0, "#68625c", "#44494b", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_fill (cr); - cairo_set_source_rgb (cr, (double) 0, (double) 0, (double) 0); - cairo_arc (cr, xc, yc, progress_radius_inner, (double) 0, 2 * G_PI); + cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); + cairo_arc (cr, xc, yc, progress_radius_inner, 0.0, 2 * G_PI); cairo_stroke (cr); - pattern = prolooks_create_gradient_str ((double) 42, (double) 34, (double) 68, (double) 70, "#e7ecef", "#9cafb8", 1.0, 1.0); + pattern = prolooks_create_gradient_str (pxs + 42.0, pys + 34.0, pxs + 68.0, pys + 70.0, "#e7ecef", "#9cafb8", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - cairo_arc (cr, xc, yc, knob_disc_radius, (double) 0, 2 * G_PI); + cairo_arc (cr, xc, yc, knob_disc_radius, 0.0, 2 * G_PI); cairo_fill (cr); cairo_set_line_width (cr, 2.0); degrees = G_PI / 180.0; - pattern = prolooks_create_gradient_str ((double) 38, (double) 34, (double) 70, (double) 68, "#ffffff", "#caddf2", 0.2, 0.2); - cairo_set_source (cr, pattern); + pattern = prolooks_create_gradient_str (pxs + 38.0, pys + 34.0, pxs + 70.0, pys + 68.0, "#ffffff", "#caddf2", 0.2, 0.2); + cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_move_to (cr, xc, yc); cairo_arc (cr, xc, yc, knob_disc_radius - 1, (-154) * degrees, (-120) * degrees); @@ -479,7 +485,7 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_arc (cr, xc, yc, knob_disc_radius - 1, (G_PI / 2.0) - (60 * degrees), (G_PI / 2.0) - (29 * degrees)); cairo_fill (cr); - pattern = prolooks_create_gradient_str ((double) 50, (double) 40, (double) 62, (double) 60, "#a1adb6", "#47535c", 0.07, 0.15); + pattern = prolooks_create_gradient_str (pxs + 50.0, pys + 40.0, pxs + 62.0, pys + 60.0, "#a1adb6", "#47535c", 0.07, 0.15); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); cairo_move_to (cr, xc, yc); @@ -488,7 +494,7 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_arc (cr, xc, yc, knob_disc_radius - 1, G_PI - (67 * degrees), G_PI - (27 * degrees)); cairo_fill (cr); - knob_ripples = cairo_pattern_create_radial (xc, yc, (double) 0, xc, yc, (double) 4); + knob_ripples = cairo_pattern_create_radial (xc, yc, 0.0, xc, yc, 4.0); prolooks_add_color_stop_str (knob_ripples, 0.0, "#e7ecef", 0.05); prolooks_add_color_stop_str (knob_ripples, 0.5, "#58717d", 0.05); prolooks_add_color_stop_str (knob_ripples, 0.75, "#d1d9de", 0.05); @@ -496,41 +502,41 @@ MotionFeedback::core_draw (cairo_t* cr, int phase, double radius, double x, doub cairo_pattern_set_extend (knob_ripples, CAIRO_EXTEND_REPEAT); cairo_set_line_width (cr, 0.0); cairo_set_source (cr, knob_ripples); - cairo_arc (cr, xc, yc, knob_disc_radius, (double) 0, 2 * G_PI); + cairo_arc (cr, xc, yc, knob_disc_radius, 0.0, 2 * G_PI); cairo_fill (cr); cairo_save (cr); cairo_translate (cr, xc + (knob_disc_radius * value_x), yc + (knob_disc_radius * value_y)); cairo_rotate (cr, value_angle - G_PI); - cairo_set_source (cr, pattern = prolooks_create_gradient_str ((double) 16, (double) (-2), (double) 9, (double) 13, "#e7ecef", "#9cafb8", 0.8, 0.8)); + pattern = prolooks_create_gradient_str (pxs + 16.0, pys + -2.0, pxs + 9.0, pys + 13.0, "#e7ecef", "#9cafb8", 0.8, 0.8); + cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - cairo_move_to (cr, (double) 0, (double) 4); - cairo_line_to (cr, (double) 17, (double) 4); - cairo_curve_to (cr, (double) 19, (double) 4, (double) 21, (double) 2, (double) 21, (double) 0); - cairo_curve_to (cr, (double) 21, (double) (-2), (double) 19, (double) (-4), (double) 17, (double) (-4)); - cairo_line_to (cr, (double) 0, (double) (-4)); + cairo_move_to (cr, 0.0, 4.0); + cairo_line_to (cr, 17.0, 4.0); + cairo_curve_to (cr, 19.0, 4.0, 21.0, 2.0, 21.0, 0.0); + cairo_curve_to (cr, 21.0, -2.0, 19.0, -4.0, 17.0, -4.0); + cairo_line_to (cr, 0.0, -4.0); cairo_close_path (cr); cairo_fill (cr); - pattern = prolooks_create_gradient_str ((double) 9, (double) (-2), (double) 9, (double) 2, "#68625c", "#44494b", 1.0, 1.0); + pattern = prolooks_create_gradient_str (pxs + 9.0, pys + -2.0, pxs + 9.0, pys + 2.0, "#68625c", "#44494b", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - cairo_move_to (cr, (double) 0, (double) 2); - cairo_line_to (cr, (double) 16, (double) 2); - cairo_curve_to (cr, (double) 17, (double) 2, (double) 18, (double) 1, (double) 18, (double) 0); - cairo_curve_to (cr, (double) 18, (double) (-1), (double) 17, (double) (-2), (double) 16, (double) (-2)); - cairo_line_to (cr, (double) 0, (double) (-2)); + cairo_move_to (cr, 0.0, 2.0); + cairo_line_to (cr, 16.0, 2.0); + cairo_curve_to (cr, 17.0, 2.0, 18.0, 1.0, 18.0, 0.0); + cairo_curve_to (cr, 18.0, -1.0, 17.0, -2.0, 16.0, -2.0); + cairo_line_to (cr, 0.0, -2.0); cairo_close_path (cr); cairo_fill (cr); cairo_restore (cr); cairo_set_line_width (cr, 2.0); - pattern = prolooks_create_gradient_str ((double) 38, (double) 32, (double) 70, (double) 67, "#3d3d3d", "#000000", 1.0, 1.0); + pattern = prolooks_create_gradient_str (pxs + 38.0, pys + 32.0, pxs + 70.0, pys + 67.0, "#3d3d3d", "#000000", 1.0, 1.0); cairo_set_source (cr, pattern); cairo_pattern_destroy (pattern); - cairo_arc (cr, xc, yc, knob_disc_radius, (double) 0, 2 * G_PI); + cairo_arc (cr, xc, yc, knob_disc_radius, 0.0, 2 * G_PI); cairo_stroke (cr); - cairo_restore (cr); cairo_pattern_destroy (knob_ripples); } @@ -571,23 +577,13 @@ MotionFeedback::pixwin_expose_event (GdkEventExpose* ev) phase = (phase + 63) % 64; } - if (pixbuf) { - std::cerr << "Render from pixbuf\n"; - GtkWidget* widget = GTK_WIDGET(pixwin.gobj()); - gdk_draw_pixbuf (GDK_DRAWABLE(window), widget->style->fg_gc[0], - pixbuf->gobj(), - phase * subwidth, type * subheight, - 0, 0, subwidth, subheight, GDK_RGB_DITHER_NORMAL, 0, 0); - } else { - std::cerr << "Render with cairo\n"; - cairo_t* cr = gdk_cairo_create (GDK_DRAWABLE (window)); - - gdk_cairo_rectangle (cr, &ev->area); - cairo_clip (cr); - - core_draw (cr, phase, subheight/2, subwidth/2, subheight/2); - cairo_destroy (cr); - } + phase = std::min (phase, 63); + + GtkWidget* widget = GTK_WIDGET(pixwin.gobj()); + gdk_draw_pixbuf (GDK_DRAWABLE(window), widget->style->fg_gc[0], + pixbuf->gobj(), + phase * subwidth, type * subheight, + 0, 0, subwidth, subheight, GDK_RGB_DITHER_NORMAL, 0, 0); return true; } @@ -647,36 +643,64 @@ MotionFeedback::set_lamp_color (const Gdk::Color& c) lamp_dark = (prolooks_hsv_to_gdk_color (lamp_hsv, &col3), col3); } -void -MotionFeedback::render_file (const std::string& path, int w, int h) +Glib::RefPtr +MotionFeedback::render_pixbuf (int size) { - GdkPixmap* pixmap = gdk_pixmap_new (0, w, h, 24); - GdkPixbuf* pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, 1, 8, w * 65, h); - GError* err = 0; - GdkRectangle r; - - r.x = 0; - r.y = 0; - r.width = w; - r.height = h; + Glib::RefPtr pixbuf; + char path[32]; + int fd; - set_lamp_color (Gdk::Color ("#b9feff")); + snprintf (path, sizeof (path), "/tmp/mfimg%dXXXXXX", size); - for (int i = 0; i < 65; ++i) { - cairo_t* cr = gdk_cairo_create (GDK_DRAWABLE (pixmap)); - gdk_cairo_rectangle (cr, &r); - cairo_clip (cr); - core_draw (cr, i, h/2, w/2, h/2); - gdk_pixbuf_get_from_drawable (pixbuf, pixmap, gdk_colormap_get_system(), 0, 0, w*i, 0, w, h); - cairo_destroy (cr); + if ((fd = mkstemp (path)) < 0) { + return pixbuf; + } + + GdkColor col2 = {0,0,0,0}; + GdkColor col3 = {0,0,0,0}; + Gdk::Color base ("#b9feff"); + GdkColor dark; + GdkColor bright; + ProlooksHSV* hsv; + + hsv = prolooks_hsv_new_for_gdk_color (base.gobj()); + bright = (prolooks_hsv_to_gdk_color (hsv, &col2), col2); + prolooks_hsv_set_saturation (hsv, 0.66); + prolooks_hsv_set_value (hsv, 0.67); + dark = (prolooks_hsv_to_gdk_color (hsv, &col3), col3); + + cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, size * 64, size); + cairo_t* cr = cairo_create (surface); + + for (int i = 0; i < 64; ++i) { + cairo_save (cr); + core_draw (cr, i, size, 20, size*i, 0, &bright, &dark); + cairo_restore (cr); } - if (gdk_pixbuf_save (pixbuf, path.c_str(), "png", &err, 0)) { - if (err) { - std::cerr << "could not save image set to " << path << ": " << err->message << std::endl; - } + if (cairo_surface_write_to_png (surface, path) != CAIRO_STATUS_SUCCESS) { + std::cerr << "could not save image set to " << path << std::endl; + return pixbuf; } - g_object_unref (G_OBJECT (pixbuf)); - g_object_unref (G_OBJECT (pixmap)); -} + close (fd); + + cairo_destroy (cr); + cairo_surface_destroy (surface); + + try { + pixbuf = Gdk::Pixbuf::create_from_file (path); + } catch (const Gdk::PixbufError &e) { + std::cerr << "Caught PixbufError: " << e.what() << std::endl; + unlink (path); + throw; + } catch (...) { + unlink (path); + g_message("Caught ... "); + throw; + } + + unlink (path); + + return pixbuf; +} diff --git a/libs/gtkmm2ext/prolooks_helpers.c b/libs/gtkmm2ext/prolooks_helpers.c index 2795b29c6..a173039d7 100644 --- a/libs/gtkmm2ext/prolooks_helpers.c +++ b/libs/gtkmm2ext/prolooks_helpers.c @@ -361,7 +361,7 @@ void prolooks_color_from_string (const char* webcolor, GdkColor* result) { } -char* prolooks_color_to_string (GdkColor* color) { +char* prolooks_color_to_string (const GdkColor* color) { char* result = NULL; guint16 scale; scale = G_MAXUINT16 / G_MAXUINT8; @@ -380,20 +380,20 @@ CairoColor* prolooks_cairo_color_from_string (const char* webcolor) { } -void prolooks_set_source_color (cairo_t* cr, GdkColor* color, double alpha) { +void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha) { g_return_if_fail (cr != NULL); cairo_set_source_rgba (cr, ((double) (*color).red) / ((double) G_MAXUINT16), ((double) (*color).green) / ((double) G_MAXUINT16), ((double) (*color).blue) / ((double) G_MAXUINT16), alpha); } -void prolooks_gdk_color_to_cairo_color (GdkColor* color, double* red, double* green, double* blue) { +void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue) { *red = ((double) (*color).red) / ((double) G_MAXUINT16); *green = ((double) (*color).green) / ((double) G_MAXUINT16); *blue = ((double) (*color).blue) / ((double) G_MAXUINT16); } -CairoColor* prolooks_gdk_color_to_cairo (GdkColor* color) { +CairoColor* prolooks_gdk_color_to_cairo (const GdkColor* color) { CairoColor* result = NULL; double r; double g; @@ -428,7 +428,7 @@ void prolooks_set_source_color_string (cairo_t* cr, const char* color, double al } -void prolooks_add_color_stop (cairo_pattern_t* p, double offset, GdkColor* color, double alpha) { +void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha) { g_return_if_fail (p != NULL); cairo_pattern_add_color_stop_rgba (p, offset, ((double) (*color).red) / ((double) G_MAXUINT16), ((double) (*color).green) / ((double) G_MAXUINT16), ((double) (*color).blue) / ((double) G_MAXUINT16), alpha); } @@ -443,7 +443,7 @@ void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* } -cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, GdkColor* start, GdkColor* stop, double alpha_start, double alpha_stop) { +cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, const GdkColor* start, const GdkColor* stop, double alpha_start, double alpha_stop) { cairo_pattern_t* result = NULL; cairo_pattern_t* gradient; gradient = cairo_pattern_create_linear (x1, y1, x2, y2); @@ -614,7 +614,7 @@ void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result) { } -void prolooks_hsl_from_gdk_color (ProlooksHSL* self, GdkColor* color) { +void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color) { CairoColor* _tmp0_; g_return_if_fail (self != NULL); prolooks_hsl_from_cairo_color (self, _tmp0_ = prolooks_gdk_color_to_cairo (color)); @@ -910,7 +910,7 @@ char* prolooks_hsv_to_string (ProlooksHSV* self) { } -ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, GdkColor* color) { +ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color) { ProlooksHSV* self; self = (ProlooksHSV*) g_type_create_instance (object_type); prolooks_hsv_from_gdk_color (self, color); @@ -918,7 +918,7 @@ ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, GdkColor* } -ProlooksHSV* prolooks_hsv_new_for_gdk_color (GdkColor* color) { +ProlooksHSV* prolooks_hsv_new_for_gdk_color (const GdkColor* color) { return prolooks_hsv_construct_for_gdk_color (PROLOOKS_TYPE_HSV, color); } @@ -1023,7 +1023,7 @@ void prolooks_hsv_to_gdk_color (ProlooksHSV* self, GdkColor* result) { } -void prolooks_hsv_from_gdk_color (ProlooksHSV* self, GdkColor* color) { +void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color) { CairoColor* _tmp0_; g_return_if_fail (self != NULL); prolooks_hsv_from_cairo_color (self, _tmp0_ = prolooks_gdk_color_to_cairo (color)); @@ -1311,7 +1311,7 @@ void prolooks_hsv_unref (gpointer instance) { } -void prolooks_shade_color (GdkColor* orig, double shade_ratio, GdkColor* result) { +void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result) { ProlooksHSL* HSL; GdkColor _tmp0_ = {0,0,0,0}; GdkColor _result_; diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 30e440005..dc8dbff76 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -91,16 +91,6 @@ def build(bld): else: obj.source += ['gtkapplication_x11.c'] - mfimg = bld.new_task_gen(features = 'cc cxx cprogram') - mfimg.source = 'mfimg.cc' - mfimg.export_incdirs = ['.'] - mfimg.includes = ['.'] - mfimg.name = 'mfimg' - mfimg.target = 'mfimg' - mfimg.uselib = 'GTKMM GTK GTKOSX OSX GDK' - mfimg.uselib_local = 'libpbd libgtkmm2ext' - mfimg.ldflags = [ '-lpthread', '-lrt', '-lsndfile' ] - def shutdown(): autowaf.shutdown() -- 2.11.4.GIT