<19> MTK10A 修改模拟时钟表盘、表针的显示模式

1. 表盘图片修改位置:

     plutommi\Customer\Images\PLUTO_SLIM128X128\MAINLCD\IdleScreen\Wallpaper\analog.jpg (gif,bmp)

 

2. 表针的显示模式 gui_clock.c 中

目前已知的表针模式有三种:   一种是 三角形的plogn 表针, 一种是 直线型表针, 另一种没做研究。 程序里面用

#if  GUI_CLOCK_ANALOG_CLOCK_DRAW_POLYGON_HANDS 

#elif  GUI_CLOCK_ANALOG_CLOCK_SMOOTHEN_LINES 

#else

#endif

来分别绘制这三种模式

在gui_clock.c 文件的开头define 了如下定义    

#define GUI_CLOCK_ANALOG_CLOCK_DRAW_POLYGON_HANDS 1    //plogn 模式
#define GUI_CLOCK_ANALOG_CLOCK_SMOOTHEN_LINES 0         //线型表针

3. plogn 模式中的表针的宽度与长度。

在函数 static void gui_clock_analog_clock_draw_hand(gui_clock_struct *clock,S32 type, S32 minute)  中有如下代码

/* offset to (0,0) */
polygon_vertex analog_clock_hour_hand_vertices[] =  //此处定义了时针的宽度
{
{-5, 0},
{+5, 0},
{0, 0},
};

/* offset to (0,0) */
polygon_vertex analog_clock_minute_hand_vertices[] =  //此处定义了分针的宽度
{
{-3, 0},
{+3, 0},
{0, 0},
};

.........

{   //此段代码用来定义表针的长度。 其中,变量 radius 是存储长度系数的变量,调整此值可改变表针长度
x1 = g_gui_clock_analog_clock_center_x;
y1 = g_gui_clock_analog_clock_center_y;
radius = min(
g_gui_clock_analog_clock_center_x - g_gui_clock_analog_clock_dial_x,
g_gui_clock_analog_clock_center_y - g_gui_clock_analog_clock_dial_y) - 1 + 15;
}

posted @ 2012-06-27 09:11  sierllen  阅读(589)  评论(0编辑  收藏  举报