|
发表于 2014-6-17 09:23:15
|
显示全部楼层
Re:回 eric2013 的帖子
大工猴子:
在原程序中可以把横屏改成竖屏嘛?有没有参考资料可以提供? 
最简单的办法是在文件 GUIDRV_Template.c中加上翻转的宏定义即可,原理就是这些函数,不过
底层没有优化,翻转后的底层优化我还没有搞过。- /*********************************************************************
- *
- * Macros for MIRROR_, SWAP_ and LUT_
- */
- #if (!defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
- #if (!LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) x
- #define LOG2PHYS_Y(x, y) y
- #elif (!LCD_MIRROR_X && !LCD_MIRROR_Y && LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) y
- #define LOG2PHYS_Y(x, y) x
- #elif (!LCD_MIRROR_X && LCD_MIRROR_Y && !LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) x
- #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
- #elif (!LCD_MIRROR_X && LCD_MIRROR_Y && LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) y
- #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (x)
- #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
- #define LOG2PHYS_Y(x, y) y
- #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y && LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
- #define LOG2PHYS_Y(x, y) x
- #elif ( LCD_MIRROR_X && LCD_MIRROR_Y && !LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
- #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
- #elif ( LCD_MIRROR_X && LCD_MIRROR_Y && LCD_SWAP_XY)
- #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
- #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (x)
- #endif
- #else
- #if ( defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
- #define LOG2PHYS_X(x, y) x
- #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
- #elif (!defined (LCD_LUT_COM) && defined(LCD_LUT_SEG))
- #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
- #define LOG2PHYS_Y(x, y) y
- #elif ( defined (LCD_LUT_COM) && defined(LCD_LUT_SEG))
- #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
- #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
- #endif
- #endif
复制代码 |
|