diff options
author | Robin Gareus <robin@gareus.org> | 2015-05-25 00:01:18 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-05-25 00:25:28 +0200 |
commit | d80d34f8dc2b5fd0ebbccdd2285e5e1dcef88410 (patch) | |
tree | 6126bbd2a17e7d33f3beda638ef6eec07d95aaa0 /libs/gtkmm2ext/ardour_icon.cc | |
parent | 670bbde1221b465be6d34d3dd9e5d8d092626ad8 (diff) |
vectorize TAV expand and shrink icons
Diffstat (limited to 'libs/gtkmm2ext/ardour_icon.cc')
-rw-r--r-- | libs/gtkmm2ext/ardour_icon.cc | 68 |
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) |