mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Add API to render a reflection
This is to be used sparingly because the pattern is dynamically created every time. Mainly for the benefit of some Mixbus widgets -- compared to ArdourButton::convex_pattern
This commit is contained in:
parent
a16c038ecc
commit
01024e2b4c
2 changed files with 15 additions and 0 deletions
|
|
@ -158,6 +158,8 @@ namespace Gtkmm2ext {
|
||||||
LIBGTKMM2EXT_API void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
|
LIBGTKMM2EXT_API void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
|
||||||
LIBGTKMM2EXT_API void rounded_left_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r=10);
|
LIBGTKMM2EXT_API void rounded_left_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r=10);
|
||||||
|
|
||||||
|
LIBGTKMM2EXT_API void add_reflection (cairo_t* cr, double w, double h);
|
||||||
|
|
||||||
LIBGTKMM2EXT_API Gtk::Label* left_aligned_label (std::string const &);
|
LIBGTKMM2EXT_API Gtk::Label* left_aligned_label (std::string const &);
|
||||||
LIBGTKMM2EXT_API Gtk::Label* right_aligned_label (std::string const &);
|
LIBGTKMM2EXT_API Gtk::Label* right_aligned_label (std::string const &);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -800,6 +800,19 @@ Gtkmm2ext::rounded_top_right_rectangle (cairo_t* cr, double x, double y, double
|
||||||
cairo_line_to (cr, x,y); // Line to A
|
cairo_line_to (cr, x,y); // Line to A
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Gtkmm2ext::add_reflection (cairo_t* cr, double w, double h)
|
||||||
|
{
|
||||||
|
cairo_pattern_t* convex_pattern = cairo_pattern_create_linear (0.0, 0, 0.3, h * 0.7);
|
||||||
|
cairo_pattern_add_color_stop_rgba (convex_pattern, 0.0, 1, 1, 1, 0.10);
|
||||||
|
cairo_pattern_add_color_stop_rgba (convex_pattern, 0.79, 1, 1, 1, 0.03);
|
||||||
|
cairo_pattern_add_color_stop_rgba (convex_pattern, 1.0, 1, 1, 1, 0.0);
|
||||||
|
cairo_set_source (cr, convex_pattern);
|
||||||
|
Gtkmm2ext::rounded_rectangle (cr, 2, 2, w - 4, h - 4, 4);
|
||||||
|
cairo_fill (cr);
|
||||||
|
cairo_pattern_destroy(convex_pattern);
|
||||||
|
}
|
||||||
|
|
||||||
Glib::RefPtr<Gdk::Window>
|
Glib::RefPtr<Gdk::Window>
|
||||||
Gtkmm2ext::window_to_draw_on (Gtk::Widget& w, Gtk::Widget** parent)
|
Gtkmm2ext::window_to_draw_on (Gtk::Widget& w, Gtk::Widget** parent)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue