找回密码
 注册
搜索
查看: 932|回复: 6

[讨论] 各位前辈帮忙看看这个怪问题。谢谢大家了。

[复制链接]
发表于 2007-12-21 15:12:13 | 显示全部楼层 |阅读模式
插入USB线后,充电状态 。在主菜单界面( 已经改为12宫格的样子),手机自动关闭背景光后,点击屏幕,以前已高亮的菜单不显示文字(不要按上、下、左、右)
发现在背景灯重新打开后,高亮项的图片把文字遮盖了。可是文字和图片不是一起绘制的吗?
怎么会出现这种问题,各位大侠给点思路吧。
发表于 2007-12-21 17:49:13 | 显示全部楼层
追下代码看看,肯定是先刷了文字再刷了图片咯。再怎么一起绘制也有个先后的
点评回复

使用道具 举报

 楼主| 发表于 2007-12-21 18:00:48 | 显示全部楼层
在正常情况下都是绘制好了的。高亮的时候也是绘制了的。但是,当背景灯熄灭再打开的时候,就不走正常的绘制过程了。感觉是背景灯亮起的时候,没有正确的repaint。
不充电  熄灭的时候,再次亮起又是正常的。

这个函数是亮起的时候。
static void GpioLCDSleepOut(void)
{
#ifdef MMI_ON_HARDWARE_P
        if(gIsInSleepMode)
        {
                ClearInterruptEventHandler(MSG_ID_MMI_EQ_ALARM_IND);
               
                lcd_sleep_out(MAIN_LCD);
                gIsInSleepMode = FALSE;

                update_mainlcd_dt_display();
                update_sublcd_dt_display();
                #if defined( __MMI_SUBLCD__ )
                {
                        gdi_lcd_set_active(GDI_LCD_SUB_LCD_HANDLE);
                        gdi_lcd_repaint_all();
                        gdi_lcd_set_active(GDI_LCD_MAIN_LCD_HANDLE);
                }
                #endif
               
                /* redraw main lcd */
                gdi_lcd_repaint_all();
               
                /* resume screensaver if it is playing before sleep-in, must after lcd sleep out */
                mmi_scrsvr_lcd_sleepout_handler();

                /* tvout sleepout */
        #ifdef __MMI_TVOUT__
                mmi_phnset_tvout_lcd_sleepout_handler();
        #endif                
        }
#endif
}
点评回复

使用道具 举报

发表于 2007-12-23 18:02:14 | 显示全部楼层
LCD关闭后再亮起,好像是不repaint的,而是把上次blt过的layer重新blt一次,如果LCD关闭后程序还在往那些个layer上花东西,或者改变了blt的layer,就会出问题
点评回复

使用道具 举报

 楼主| 发表于 2007-12-24 09:47:58 | 显示全部楼层
那说明在USB插上的时候,处于充电状态。在LCD关闭的时候,屏幕还在画?
如果我能在LCD关闭的一刹那,将充电绘制的程序关闭,当LCD再亮起的时候,再重新打开充电绘制程序,可行不?
点评回复

使用道具 举报

 楼主| 发表于 2007-12-26 11:30:41 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>snaileo</I>在2007-12-23 18:02:14的发言:</B>
LCD关闭后再亮起,好像是不repaint的,而是把上次blt过的layer重新blt一次,如果LCD关闭后程序还在往那些个layer上花东西,或者改变了blt的layer,就会出问题</DIV>


那这样的话,在LCD关闭时候将layer锁住,应该用什么函数?
点评回复

使用道具 举报

发表于 2007-12-26 16:06:44 | 显示全部楼层
关注中......................
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-26 00:02 , Processed in 0.045339 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表