Chinaunix首页 | 论坛 | 博客
  • 博客访问: 40792
  • 博文数量: 18
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-05 10:27
文章分类
文章存档

2011年(1)

2009年(1)

2008年(16)

我的朋友

分类:

2008-10-31 09:48:51

UI 修改的步骤

 

       DPF中,针对不同的Resolution,需要进行相应UI的修改,以匹配不同resolutionpanel。下面以640x480的修改说明一下UI修改的步骤:

 

1.       针对屏的Spec编写initial scripts[inc] 放到sdk\include\lcd\ initial_script.

inc档开头加上:

#define PANELOFFSET 0   //For SHARP LQ104V1DG51

#define HIGHTOFFSET 0

这两个参数是用来设置Display Base的。

 

2.       设置initial scripts的调用路径,在lcd_controllerConst.h里面加入:

       #elif defined(PANEL_640_480)  //hawkwen 20080822

               #include "initial_script\panel_640_480_sharp.inc"

 

3.       修改build\ freertos-setting.cmd,添加相应的640x480选项:

set SMEDIA_MODEL=sharp_640_480

这个会生成在build/ freertos-config.cmd,并在freertos.cmd中调用,并传给cmake作为编译参数。

 

4.       修改freertos/def.cmake,加入:

ELSEIF(${SMEDIA_MODEL} STREQUAL sharp_640_480)  #test Hawkwen

    SET(SMEDIA_DEFS

        ${SMEDIA_DEFS}

        -DPANEL_RGB565

        -DPANEL_640_480

        )

PANEL_640_480是程序里面用来设置UI大小的,在所有UI相关的设置文件里面都要加入这个compile switch,然后根据UI来设置UI的大小。

 

5.       要设置LCD Controller [lcd_panel.c]

先在\sdk\include\panel定义:

#elif defined(PANEL_640_480)

        #define SHARP

然后,再lcd_panel.c里面设置LCD Controller

#elif defined SHARP  //PANEL_640_480

    aLCD_CONTROLLER.DCLKDivide = 0xb;

    aLCD_CONTROLLER.DMCLKDivide = 1;

    aLCD_CONTROLLER.DHCLKDivide = 0;

    aLCD_CONTROLLER.panelWidth = 640;

    aLCD_CONTROLLER.panelHeight = 480;

       aLCD_CONTROLLER.pitch = &pitch;

       aLCD_CONTROLLER.bpp = 16;  

设置了lcd controller,显示的时候就会按相应的resolution lcd上显示数据。

 

6.       对每一个涉及UI大小的文件,进行UI大小的设置,一般是根据Compile Switch宏定义UI的大小,比如在state_calendar.c 里面加入:

#elif defined(PANEL_640_480)

#define CALENDAR_DISP_WIDTH  640

#define CALENDAR_DISP_HEIGHT 480

#define TAB_X       32

#define TAB_Y       18      // height

#define TODAY_BG_W  28

#define TODAY_BG_H  24

  ……

 对UI大小的设置,主要是根据Panel的分辨率来进行合适的设置。

 

7.       Win32平台要修改的主要是:win32\ def.cmakebuild\win32_setting.cmd, 修改的方法跟上面相同。

阅读(719) | 评论(0) | 转发(0) |
0

上一篇:GPIO KEY修改步驟

下一篇:V2 源代碼剖析

给主人留下些什么吧!~~