diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-09 20:48:04 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-09 20:48:04 +0100 |
commit | 04ad07babf4639b598470c5946cfb0176d89bcc4 (patch) | |
tree | b253434613d7efb3ca670c0eb1e03411eccc6fb4 /libs | |
parent | 11d67258d3de274da94990849b19ef6979be953a (diff) |
add [missing] left_half_rectangle util
Diffstat (limited to 'libs')
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/utils.h | 2 | ||||
-rw-r--r-- | libs/gtkmm2ext/utils.cc | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/utils.h b/libs/gtkmm2ext/gtkmm2ext/utils.h index 0bde3cb562..aac1973f96 100644 --- a/libs/gtkmm2ext/gtkmm2ext/utils.h +++ b/libs/gtkmm2ext/gtkmm2ext/utils.h @@ -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 &); diff --git a/libs/gtkmm2ext/utils.cc b/libs/gtkmm2ext/utils.cc index f0a09d5685..1fec597fba 100644 --- a/libs/gtkmm2ext/utils.cc +++ b/libs/gtkmm2ext/utils.cc @@ -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) { @@ -435,6 +442,19 @@ Gtkmm2ext::rounded_rectangle (cairo_t* cr, double x, double y, double w, double } 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) { double degrees = M_PI / 180.0; |