summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/ardour_icon.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-05-25 00:01:18 +0200
committerRobin Gareus <robin@gareus.org>2015-05-25 00:25:28 +0200
commitd80d34f8dc2b5fd0ebbccdd2285e5e1dcef88410 (patch)
tree6126bbd2a17e7d33f3beda638ef6eec07d95aaa0 /libs/gtkmm2ext/ardour_icon.cc
parent670bbde1221b465be6d34d3dd9e5d8d092626ad8 (diff)
vectorize TAV expand and shrink icons
Diffstat (limited to 'libs/gtkmm2ext/ardour_icon.cc')
-rw-r--r--libs/gtkmm2ext/ardour_icon.cc68
1 files changed, 68 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/ardour_icon.cc b/libs/gtkmm2ext/ardour_icon.cc
index 3a45984844..a4d67182df 100644
--- a/libs/gtkmm2ext/ardour_icon.cc
+++ b/libs/gtkmm2ext/ardour_icon.cc
@@ -486,6 +486,74 @@ Gtkmm2ext::ArdourIcon::render (cairo_t *cr,
}
}
break;
+ case TimeAxisShrink:
+ {
+ const double x = width * .5;
+ const double y = height * .5;
+ const double wh = std::min (x, y) * .66;
+ const double ar = std::min (x, y) * .15;
+ const double tri = .7 * (wh - ar);
+
+ cairo_rectangle (cr, x - wh, y - ar, 2 * wh, 2 * ar);
+ VECTORICONSTROKEFILL(.75);
+
+ cairo_set_line_width(cr, 1.0);
+
+ cairo_move_to (cr, x, y - ar - 0.5);
+ cairo_line_to (cr, x - tri, y - wh + 0.5);
+ cairo_line_to (cr, x + tri, y - wh + 0.5);
+ cairo_close_path (cr);
+
+ cairo_set_source_rgba (cr, 1, 1, 1, .75);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgba (cr, 0, 0, 0, 1.0);
+ cairo_fill(cr);
+
+ cairo_move_to (cr, x, y + ar + 0.5);
+ cairo_line_to (cr, x - tri, y + wh - 0.5);
+ cairo_line_to (cr, x + tri, y + wh - 0.5);
+ cairo_close_path (cr);
+
+ cairo_set_source_rgba (cr, 1, 1, 1, .75);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgba (cr, 0, 0, 0, 1.0);
+ cairo_fill(cr);
+ }
+ break;
+ case TimeAxisExpand:
+ {
+ const double x = width * .5;
+ const double y = height * .5;
+ const double wh = std::min (x, y) * .66;
+ const double ar = std::min (x, y) * .15;
+ const double tri = .7 * (wh - ar);
+
+ cairo_rectangle (cr, x - wh, y - wh, 2 * wh, 2 * wh);
+ VECTORICONSTROKEFILL(.75);
+
+ cairo_set_line_width(cr, 1.0);
+
+ cairo_move_to (cr, x, y - wh + 0.5);
+ cairo_line_to (cr, x - tri, y - ar - 0.5);
+ cairo_line_to (cr, x + tri, y - ar - 0.5);
+ cairo_close_path (cr);
+
+ cairo_set_source_rgba (cr, 1, 1, 1, .5);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgba (cr, 0, 0, 0, 1.0);
+ cairo_fill(cr);
+
+ cairo_move_to (cr, x , y + wh - 0.5);
+ cairo_line_to (cr, x - tri, y + ar + 0.5);
+ cairo_line_to (cr, x + tri, y + ar + 0.5);
+ cairo_close_path (cr);
+
+ cairo_set_source_rgba (cr, 1, 1, 1, .5);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgba (cr, 0, 0, 0, 1.0);
+ cairo_fill(cr);
+ }
+ break;
default:
return false;
} // end switch (icon)