13
0

Add Zoom/Expand icon

This commit is contained in:
Robin Gareus 2016-12-20 18:46:43 +01:00
parent bf75770939
commit 377b357afb
2 changed files with 40 additions and 0 deletions

View File

@ -851,6 +851,42 @@ static void icon_zoom (cairo_t *cr, const enum Gtkmm2ext::ArdourIcon::Icon icon,
}
}
/** Toolbar icon - Mixbus Zoom Expand, rotated TimeAxisExpand */
static void icon_zoom_expand (cairo_t *cr, const int width, const int height)
{
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 - wh + 0.5, y);
cairo_line_to (cr, x - ar - 0.5, y - tri);
cairo_line_to (cr, x - ar - 0.5, y + tri);
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 + wh - 0.5, y);
cairo_line_to (cr, x + ar + 0.5, y - tri);
cairo_line_to (cr, x + ar + 0.5, y + tri);
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);
}
/*****************************************************************************
* Misc buttons
@ -1042,6 +1078,9 @@ Gtkmm2ext::ArdourIcon::render (cairo_t *cr,
case ZoomFull:
icon_zoom (cr, icon, width, height, fg_color);
break;
case ZoomExpand:
icon_zoom_expand (cr, width, height);
break;
case TimeAxisShrink:
icon_tav_shrink (cr, width, height);
break;

View File

@ -26,6 +26,7 @@ namespace Gtkmm2ext { namespace ArdourIcon {
ZoomIn,
ZoomOut,
ZoomFull,
ZoomExpand,
TimeAxisShrink,
TimeAxisExpand,
ToolGrab,