bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

横竖屏旋转项目的做法

0
阅读(1150)


横竖屏旋转项目的做法



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

mtk方案


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(…………………………….);


文章转自一牛网论坛


一牛网旗下拥有一牛网论坛、一牛网元器件商城、一牛网技术众包平台等一系列服务于广大工程师的平台,让研发更快、更便捷!