aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gdisp/SSD1289/gdisp_lld.c15
-rw-r--r--src/ginput/mouse.c4
2 files changed, 18 insertions, 1 deletions
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
}