diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H index c6fa15403..c2a7d4c54 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H @@ -197,6 +197,7 @@ public: void restore_scale(float) FL_OVERRIDE; void antialias(int state) FL_OVERRIDE; int antialias() FL_OVERRIDE; + void focus_rect(int x, int y, int w, int h) FL_OVERRIDE; }; #endif // FL_CAIRO_GRAPHICS_DRIVER_H diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index e0cbf26ce..6db069b35 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -1422,4 +1422,20 @@ int Fl_Cairo_Graphics_Driver::antialias() { return (cairo_get_antialias(cairo_) != CAIRO_ANTIALIAS_NONE); } + +void Fl_Cairo_Graphics_Driver::focus_rect(int x, int y, int w, int h) +{ + cairo_save(cairo_); + cairo_set_line_width(cairo_, 1); + cairo_set_line_cap(cairo_, CAIRO_LINE_CAP_BUTT); + cairo_set_line_join(cairo_, CAIRO_LINE_JOIN_MITER); + static double dots[2] = {1., 1.}; + cairo_set_dash(cairo_, dots, 2, 1); + cairo_set_antialias(cairo_, CAIRO_ANTIALIAS_NONE); + cairo_rectangle(cairo_, x, y, w-1, h-1); + cairo_stroke(cairo_); + cairo_restore(cairo_); + surface_needs_commit(); +} + #endif // USE_PANGO |
