*in progress*
authorEleni Maria Stea <elene.mst@gmail.com>
Sun, 24 Feb 2013 18:03:01 +0000 (20:03 +0200)
committerEleni Maria Stea <elene.mst@gmail.com>
Sun, 24 Feb 2013 18:03:01 +0000 (20:03 +0200)
fixed fill_rect boundaries

src/fbdev/gfx.cc

index c207b0c..2b1c32a 100644 (file)
@@ -96,18 +96,20 @@ void fill_rect(const Rect &rect, int r, int g, int b)
        Rect drect = rect;
 
        if(drect.x < screen_rect.x) {
+               drect.width -= screen_rect.x - drect.x;
                drect.x = screen_rect.x;
        }
 
        if(drect.y < screen_rect.y) {
+               drect.height -= screen_rect.y - drect.y;
                drect.y = screen_rect.y;
        }
 
-       if(drect.x + drect.width > screen_rect.width) {
+       if(drect.x + drect.width >= screen_rect.x + screen_rect.width) {
                drect.width = screen_rect.width - drect.x;
        }
 
-       if(drect.y + drect.height > screen_rect.height) {
+       if(drect.y + drect.height >= screen_rect.y + screen_rect.height) {
                drect.height = screen_rect.height - drect.y;
        }