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) {
|
void Fl_GDI_Graphics_Driver::rect_unscaled(int x, int y, int w, int h) {
|
||||||
MoveToEx(fl_gc, x, y, 0L);
|
HPEN oldpen, newpen;
|
||||||
LineTo(fl_gc, x+w, y);
|
if (line_width_ > 1) {
|
||||||
LineTo(fl_gc, x+w, y+h);
|
LOGBRUSH penbrush = {BS_SOLID, fl_RGB(), 0};
|
||||||
LineTo(fl_gc, x, y+h);
|
newpen = ExtCreatePen(PS_GEOMETRIC | PS_ENDCAP_SQUARE, line_width_, &penbrush, 0, 0);
|
||||||
LineTo(fl_gc, x, y);
|
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) {
|
void Fl_GDI_Graphics_Driver::rectf_unscaled(int x, int y, int w, int h) {
|
||||||
|
Loading…
Reference in New Issue
Block a user