横竖屏旋转项目的做法
0赞横竖屏旋转项目的做法
1. 打开宏__MMI_SCREEN_ROTATE__
2 .在custcoordinates.c文件里确定旋转坐标集。
Ex: category33screen
#if defined(__MMI_SCREEN_ROTATE__)
const S16 rotated_coordinate_set33[] =
{
DM_FULL_SCREEN_COORDINATE_FLAG,
DM_FULL_SCREEN_COORDINATE_FLAG,
0, 0, MMI_ROTATED_LCD_WIDTH - MMI_ROTATED_BUTTON_BAR_HEIGHT,
MMI_ROTATED_LCD_HEIGHT, DM_NO_FLAGS,
#if defined (__MMI_IDLE_FULL_SCREEN__) && (!defined
(__MMI_OP12_CAT533_SUPPORT__))
0,MMI_ROTATED_LCD_HEIGHT-MMI_ROTATED_BUTTON_BAR_HEIGHT,
MMI_ROTATED_LCD_WIDTH, MMI_ROTATED_BUTTON_BAR_HEIGHT,
DM_BUTTON_DISABLE_BACKGROUND, MMI_ROTATED_SOFTKEY_WIDTH
#else /* defined (__MMI_IDLE_FULL_SCREEN__) */
DM_DEFAULT_BUTTON_BAR_FLAG, MMI_ROTATED_SOFTKEY_WIDTH,
#endif /* defined (__MMI_IDLE_FULL_SCREEN__) */
};
#endif
3.修改 g_categories_controls_map
Ex: category33screen
#if defined(__MMI_SCREEN_ROTATE__)
{MMI_CATEGORY33_ID, (U8 *) category33, (S16 *) coordinate_set33, (S16*)
rotated_coordinate_set33},
#else
{MMI_CATEGORY33_ID, (U8 *) category33, (S16 *) coordinate_set33, NULL},
#endif
在第一步开__MMI_SCREEN_ROTATE__中该宏的依赖条件中可以看出该宏不支持
MAIN_LCD_128*128 以及 MAIN_LCD_128*160
如果这两个小尺寸的屏幕坚持要有屏幕旋转功能,可尝试强制开此宏,
然后依据编译报错信息在Wgui.h里为相应的小屏定义一套基本的旋转宏。
4. 在showcategory前调用mmi_frm_screen_rotate(mmi_frm_screen_rotate_enum
rotation)确定旋转度数
Ex: category33screen
mmi_frm_screen_rotate(mmi_frm_screen_rotate_270);
ShowCategory33Screen(…………………………….);
文章转自一牛网论坛
一牛网旗下拥有一牛网论坛、一牛网元器件商城、一牛网技术众包平台等一系列服务于广大工程师的平台,让研发更快、更便捷!