From 932455ccd3113c024e12f5e897e371524b403dbd Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Sun, 17 Jul 2011 12:14:49 +0200 Subject: [PATCH] Coordinate safe SetPixel. I will need it. --- firmware/lcd/display.c | 7 +++++++ firmware/lcd/display.h | 1 + 2 files changed, 8 insertions(+) diff --git a/firmware/lcd/display.c b/firmware/lcd/display.c index c56c7a2..64e7ea0 100644 --- a/firmware/lcd/display.c +++ b/firmware/lcd/display.c @@ -100,7 +100,14 @@ void lcdFill(char f){ } }; +void lcdSafeSetPixel(char x, char y, bool f){ + if (x>=0 && x<=RESX && y>=0 && y <= RESY) + lcdSetPixel(x, y, f); +} + void lcdSetPixel(char x, char y, bool f){ + if (x<0 || x> RESX || y<0 || y > RESY) + return; char y_byte = (RESY-(y+1)) / 8; char y_off = (RESY-(y+1)) % 8; char byte = lcdBuffer[y_byte*RESX+(RESX-(x+1))]; diff --git a/firmware/lcd/display.h b/firmware/lcd/display.h index 0690621..91f977e 100644 --- a/firmware/lcd/display.h +++ b/firmware/lcd/display.h @@ -26,6 +26,7 @@ void lcdDisplay(uint32_t shift); void lcdInvert(void); void lcdToggleFlag(int flag); void lcdSetPixel(char x, char y, bool f); +void lcdSafeSetPixel(char x, char y, bool f); bool lcdGetPixel(char x, char y); #endif