improve port-matrix text contrast
authorRobin Gareus <robin@gareus.org>
Sat, 14 Mar 2015 21:58:40 +0000 (22:58 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 14 Mar 2015 21:59:07 +0000 (22:59 +0100)
gtk2_ardour/port_matrix_column_labels.cc
gtk2_ardour/port_matrix_row_labels.cc

index 8e18dbea7a173032874e2aeffe6d696279609904..f2c4ce146c55775a4a0b7a0b840f54c281ad9ebb 100644 (file)
@@ -20,6 +20,8 @@
 #include <iostream>
 #include "gtkmm2ext/keyboard.h"
 #include "ardour/bundle.h"
+#include "canvas/colors.h"
+#include "utils.h"
 #include "port_matrix_column_labels.h"
 #include "port_matrix.h"
 #include "port_matrix_body.h"
@@ -291,7 +293,9 @@ PortMatrixColumnLabels::render_bundle_name (
        cairo_set_line_width (cr, label_border_width());
        cairo_stroke (cr);
 
-       set_source_rgb (cr, text_colour());
+       Gdk::Color textcolor;
+       ARDOUR_UI_UTILS::set_color_from_rgba(textcolor, ArdourCanvas::contrasting_text_color(ARDOUR_UI_UTILS::gdk_color_to_rgba(bg_colour)));
+       set_source_rgb (cr, textcolor);
 
        double const q = ((grid_spacing() * sin (angle())) - _text_height) / 2 + _descender_height;
 
@@ -343,7 +347,9 @@ PortMatrixColumnLabels::render_channel_name (
        cairo_set_line_width (cr, label_border_width());
        cairo_stroke (cr);
 
-       set_source_rgb (cr, text_colour());
+       Gdk::Color textcolor;
+       ARDOUR_UI_UTILS::set_color_from_rgba(textcolor, ArdourCanvas::contrasting_text_color(ARDOUR_UI_UTILS::gdk_color_to_rgba(bg_colour)));
+       set_source_rgb (cr, textcolor);
 
        double const q = ((grid_spacing() * sin (angle())) - _text_height) / 2 + _descender_height;
 
index 998a234bf353044703e328cb3fa0ad8c201774bc..8ed464954f874454dffc7fe511fcfcbb7303a51f 100644 (file)
@@ -22,6 +22,8 @@
 #include <cairo.h>
 #include "gtkmm2ext/keyboard.h"
 #include "ardour/bundle.h"
+#include "canvas/colors.h"
+#include "utils.h"
 #include "port_matrix_row_labels.h"
 #include "port_matrix.h"
 #include "port_matrix_body.h"
@@ -233,7 +235,9 @@ PortMatrixRowLabels::render_bundle_name (
        cairo_text_extents (cr, b->name().c_str(), &ext);
        double const off = (grid_spacing() - ext.height) / 2;
 
-       set_source_rgb (cr, text_colour());
+       Gdk::Color textcolor;
+       ARDOUR_UI_UTILS::set_color_from_rgba(textcolor, ArdourCanvas::contrasting_text_color(ARDOUR_UI_UTILS::gdk_color_to_rgba(bg_colour)));
+       set_source_rgb (cr, textcolor);
        cairo_move_to (cr, xoff + x + name_pad(), yoff + name_pad() + off);
        cairo_show_text (cr, b->name().c_str());
 }
@@ -259,7 +263,9 @@ PortMatrixRowLabels::render_channel_name (
                cairo_text_extents (cr, bc.bundle->channel_name(bc.channel).c_str(), &ext);
                double const off = (grid_spacing() - ext.height) / 2;
 
-               set_source_rgb (cr, text_colour());
+               Gdk::Color textcolor;
+               ARDOUR_UI_UTILS::set_color_from_rgba(textcolor, ArdourCanvas::contrasting_text_color(ARDOUR_UI_UTILS::gdk_color_to_rgba(bg_colour)));
+               set_source_rgb (cr, textcolor);
                cairo_move_to (cr, port_name_x() + xoff + name_pad(), yoff + name_pad() + off);
                cairo_show_text (cr, bc.bundle->channel_name(bc.channel).c_str());
        }