Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052)
This commit is contained in:
parent
01f687e26a
commit
6d04ef2caa
@ -62,11 +62,22 @@ 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) {
|
||||
MoveToEx(fl_gc, x, y, 0L);
|
||||
LineTo(fl_gc, x+w, y);
|
||||
LineTo(fl_gc, x+w, y+h);
|
||||
LineTo(fl_gc, x, y+h);
|
||||
LineTo(fl_gc, x, y);
|
||||
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);
|
||||
}
|
||||
MoveToEx(gc_, x, y, 0L);
|
||||
LineTo(gc_, x+w, y);
|
||||
if (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);
|
||||
}
|
||||
}
|
||||
|
||||
void Fl_GDI_Graphics_Driver::rectf_unscaled(int x, int y, int w, int h) {
|
||||
|
Loading…
Reference in New Issue
Block a user