From 5fae7b36bb98b99a7b5b84e42c702945ff073983 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Tue, 27 Aug 2024 16:52:20 +0200 Subject: Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052) --- src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx') diff --git a/src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx b/src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx index 1e70b7929..a86242e12 100644 --- a/src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx +++ b/src/drivers/GDI/Fl_GDI_Graphics_Driver_rect.cxx @@ -62,21 +62,17 @@ void Fl_GDI_Graphics_Driver::focus_rect(int x, int y, int w, int h) { } void Fl_GDI_Graphics_Driver::rect_unscaled(int x, int y, int w, int h) { - HPEN oldpen, newpen; - if (line_width_ > 1) { - LOGBRUSH penbrush = {BS_SOLID, fl_RGB(), 0}; - newpen = ExtCreatePen(PS_GEOMETRIC | PS_ENDCAP_SQUARE, line_width_, &penbrush, 0, 0); - oldpen = (HPEN)SelectObject(gc_, newpen); + if (is_solid_ && line_width_ > 1) { + line_style_unscaled(FL_CAP_SQUARE, line_width_, 0); // see issue #1052 } MoveToEx(gc_, x, y, 0L); LineTo(gc_, x+w, y); - if (line_width_ <= 1) LineTo(gc_, x+w, y+h+1); // see issue #1052 + if (is_solid_ && line_width_ <= 1) LineTo(gc_, x+w, y+h+1); // see issue #1052 LineTo(gc_, x+w, y+h); LineTo(gc_, x, y+h); LineTo(gc_, x, y); - if (line_width_ > 1) { - SelectObject(gc_, oldpen); - DeleteObject(newpen); + if (is_solid_ && line_width_ > 1) { + line_style_unscaled(style_, line_width_, 0); } } -- cgit v1.2.3