From b91e1f3605a5845b532a02620e12e3402c4785a5 Mon Sep 17 00:00:00 2001 From: Paul Davis 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: svn://localhost/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 HcmV?d00001 literal 78788 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�W8yXp%fqQr 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 IZvFB90G$H0{{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 HcmV?d00001 literal 32350 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 QFdn3%@l3r&)h_b?06W>#-v9sr diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index 5b60942bb1..4ec4166dd1 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 a567c7d408..ba70e30a07 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 4f1ed780e3..3d868b1084 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 12a79fc6c5..0000000000 --- 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 683d1befa4..2637ae7a2e 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 2795b29c6c..a173039d7f 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 30e4400056..dc8dbff76f 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()