From d47cf26d31d9ca5c8308b02d498f3296af606d32 Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Mon, 17 Dec 2012 00:16:15 +0100 Subject: [PATCH] SSD1289 reset_viewport quick fix --- drivers/gdisp/SSD1289/gdisp_lld.c | 15 ++++++++++++++- src/ginput/mouse.c | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/gdisp/SSD1289/gdisp_lld.c b/drivers/gdisp/SSD1289/gdisp_lld.c index 49600349..0f000637 100644 --- a/drivers/gdisp/SSD1289/gdisp_lld.c +++ b/drivers/gdisp/SSD1289/gdisp_lld.c @@ -95,7 +95,7 @@ static __inline void set_cursor(coord_t x, coord_t y) { } } -static __inline void set_viewport(coord_t x, coord_t y, coord_t cx, coord_t cy) { +void set_viewport(coord_t x, coord_t y, coord_t cx, coord_t cy) { set_cursor(x, y); @@ -134,6 +134,19 @@ static __inline void set_viewport(coord_t x, coord_t y, coord_t cx, coord_t cy) set_cursor(x, y); } +void reset_viewport(void) { + switch(GDISP.Orientation) { + case GDISP_ROTATE_0: + case GDISP_ROTATE_180: + set_viewport(0, 0, GDISP_SCREEN_WIDTH, GDISP_SCREEN_HEIGHT); + break; + case GDISP_ROTATE_90: + case GDISP_ROTATE_270: + set_viewport(0, 0, GDISP_SCREEN_HEIGHT, GDISP_SCREEN_WIDTH); + break; + } +} + /*===========================================================================*/ /* Driver interrupt handlers. */ /*===========================================================================*/ diff --git a/src/ginput/mouse.c b/src/ginput/mouse.c index 5e762ef9..01689283 100644 --- a/src/ginput/mouse.c +++ b/src/ginput/mouse.c @@ -527,6 +527,10 @@ bool_t ginputCalibrateMouse(uint16_t instance) { MouseConfig.fnsavecal(instance, (const uint8_t *)&MouseConfig.caldata, sizeof(MouseConfig.caldata)); MouseConfig.flags |= FLG_CAL_SAVED; } + + /* FIX THIS PROPERLY!!! */ + reset_viewport(); + return TRUE; #endif }