From fbdd76103a405b7be3087cb0bca175fc738cbf27 Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 27 Apr 2004 22:49:21 +0000 Subject: [PATCH] A-_ha_! The Windows Rectangle() call appears to get uppity if asked to draw a 1x1 rectangle, presumably on the grounds that that's beneath its dignity and you ought to be using SetPixel() instead. So now I do, and now Net actually looks exactly the same on Windows and GTK. Woo! git-svn-id: svn://svn.tartarus.org/sgt/puzzles@4157 cda61777-01e9-0310-a592-d414129be87e --- windows.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/windows.c b/windows.c index 63ee3dd..1fda71b 100644 --- a/windows.c +++ b/windows.c @@ -47,11 +47,21 @@ void frontend_default_colour(frontend *fe, float *output) void draw_rect(frontend *fe, int x, int y, int w, int h, int colour) { - HBRUSH oldbrush = SelectObject(fe->hdc_bm, fe->brushes[colour]); - HPEN oldpen = SelectObject(fe->hdc_bm, fe->pens[colour]); - Rectangle(fe->hdc_bm, x, y, x+w, y+h); - SelectObject(fe->hdc_bm, oldbrush); - SelectObject(fe->hdc_bm, oldpen); + if (w == 1 && h == 1) { + /* + * Rectangle() appears to get uppity if asked to draw a 1x1 + * rectangle, presumably on the grounds that that's beneath + * its dignity and you ought to be using SetPixel instead. + * So I will. + */ + SetPixel(fe->hdc_bm, x, y, fe->colours[colour]); + } else { + HBRUSH oldbrush = SelectObject(fe->hdc_bm, fe->brushes[colour]); + HPEN oldpen = SelectObject(fe->hdc_bm, fe->pens[colour]); + Rectangle(fe->hdc_bm, x, y, x+w, y+h); + SelectObject(fe->hdc_bm, oldbrush); + SelectObject(fe->hdc_bm, oldpen); + } } void draw_line(frontend *fe, int x1, int y1, int x2, int y2, int colour) -- 2.11.0