13
0

add [missing] left_half_rectangle util

This commit is contained in:
Robin Gareus 2014-01-09 20:48:04 +01:00
parent 11d67258d3
commit 04ad07babf
2 changed files with 22 additions and 0 deletions

View File

@ -102,6 +102,7 @@ namespace Gtkmm2ext {
void rounded_top_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
void rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
void rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
void rounded_left_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
/* C API for rounded rectangles */
@ -112,6 +113,7 @@ namespace Gtkmm2ext {
void rounded_top_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_bottom_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
void rounded_left_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
Gtk::Label* left_aligned_label (std::string const &);

View File

@ -415,6 +415,13 @@ Gtkmm2ext::rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context> context,
{
rounded_bottom_half_rectangle (context->cobj(), x, y, w, h, r);
}
void
Gtkmm2ext::rounded_left_half_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r)
{
rounded_left_half_rectangle (context->cobj(), x, y, w, h, r);
}
void
Gtkmm2ext::rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r)
{
@ -434,6 +441,19 @@ Gtkmm2ext::rounded_rectangle (cairo_t* cr, double x, double y, double w, double
cairo_close_path (cr);
}
void
Gtkmm2ext::rounded_left_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r)
{
double degrees = M_PI / 180.0;
cairo_new_sub_path (cr);
cairo_line_to (cr, x+w, y); // tr
cairo_line_to (cr, x+w, y + h); // br
cairo_arc (cr, x + r, y + h - r, r, 90 * degrees, 180 * degrees); //bl
cairo_arc (cr, x + r, y + r, r, 180 * degrees, 270 * degrees); //tl
cairo_close_path (cr);
}
void
Gtkmm2ext::rounded_right_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r)
{