📄 audioplayermainscreen.c
字号:
#endif
#ifdef __MMI_AUDIO_PLAYER_SKIN_SHOW_REPEAT_SHUFFLE__
audply_main_repeat_struct audply_main_repeat;
audply_main_shuffle_struct audply_main_shuffle;
#endif /* __MMI_AUDIO_PLAYER_SKIN_SHOW_REPEAT_SHUFFLE__ */
audply_main_button_struct audply_main_buttons[NO_OF_AUDPLY_MAIN_BUTTONS];
S16 audply_main_buttons_x1;
S16 audply_main_buttons_y1;
S16 audply_main_buttons_x2;
S16 audply_main_buttons_y2;
U8 audply_main_skin_index;
scrolling_text audply_main_scrolling_title;
UI_string_type audply_main_LSK_text;
UI_string_type audply_main_RSK_text;
#ifdef __GDI_MEMORY_PROFILE_2__
GDI_HANDLE audply_osd_layer;
GDI_HANDLE audply_skin_layer;
BOOL is_audply_skin_layer_drawn = FALSE;
#endif /* __GDI_MEMORY_PROFILE_2__ */
extern audply_struct g_audply; /* from AudioPlayerSrc.c */
extern const audply_skin_struct g_audply_skins[NO_OF_SKIN]; /* from AudioPlayerSrc.c */
#ifdef __MMI_AUDIO_PLAYER_ON_SUBLCD__
#define EXTRA_GDI_BUFFER_SIZE 12288
extern const audply_sub_skin_struct g_audply_skins_sub[NO_OF_SKIN_SUB];
extern S32 new_gdi_buffer[];
extern void (*SUBLCD_ExitCategoryFunction) (void) ;
extern S32(*SUBLCD_GetCategoryHistorySize) (void);
extern void (*SUBLCD_RedrawCategoryFunction) (void);
extern U8 *(*SUBLCD_GetCategoryHistory) (U8 *buffer);
#endif
extern UI_string_type MMI_title_string; /* from wgui_categories.c */
extern S32 MMI_title_height; /* from wgui_categories.c */
extern S32 UI_device_width; /* from gui_wrapper.c */
extern S32 UI_device_height; /* from gui_wrapper.c */
extern BOOL g_mmi_audply_init_done; /* from AudioPlayerSrc.c */
extern BOOL r2lMMIFlag; /* definedi n gui_inputs.c */
/* sub LCD */
#ifdef __MMI_SUBLCD__
scrolling_text audply_sub_LCD_scrolling_title;
scrolling_text *audply_sub_LCD_scrolling_title_p = NULL;
extern bitmap *current_LCD_device_bitmap; /* defined in wgui.c */
extern bitmap main_LCD_device_bitmap; /* defined in wingui.c */
extern bitmap sub_LCD_device_bitmap; /* defined in wingui.c */
#endif /* __MMI_SUBLCD__ */
//wangbei modify start 20070531
#ifndef __MT170_UI_STYLE__
//wangbei modify start 20070811
#ifdef __MT118_A_UI_STYLE__
#define AUDPLY_LSK_X_OFFSET 2
#else
#define AUDPLY_LSK_X_OFFSET 7
#endif
// wangbei modify end
#else
//wangbei modify start 20071010
#ifdef __NEW_AUDIO_SKIN_UI_STYLE__
#define AUDPLY_LSK_X_OFFSET 2 //30
#else
#define AUDPLY_LSK_X_OFFSET 30
#endif
// wangbei modify end
#endif
// wangbei modify start 20070625
#ifdef __MT118_A_UI_STYLE__
#define AUDPLY_LSK_Y_OFFSET 0
#else
#define AUDPLY_LSK_Y_OFFSET 2
#endif
// wangbei modify end
//wangbei modify start 20070531
#ifndef __MT170_UI_STYLE__
//wangbei modify start 20070811
#ifdef __MT118_A_UI_STYLE__
#define AUDPLY_RSK_X_OFFSET 7
#else
#define AUDPLY_RSK_X_OFFSET 2
#endif
// wangbei modify end
#else
//wangbei modify start 20071010
#ifdef __NEW_AUDIO_SKIN_UI_STYLE__
#define AUDPLY_RSK_X_OFFSET 0 //28
#else
#define AUDPLY_RSK_X_OFFSET 28
#endif
// wangbei modify end
#endif
// wangbei modify end
// wangbei modify start 20070625
#ifdef __MT118_A_UI_STYLE__
#define AUDPLY_RSK_Y_OFFSET 0
#else
#define AUDPLY_RSK_Y_OFFSET 2
#endif
// wangbei modify end
#ifdef __MMI_TOUCH_SCREEN__
/* MTK Leo add 20050301, add touch screen support for Audio Player */
typedef enum
{
AUDPLY_PEN_NONE,
AUDPLY_PEN_LSK,
AUDPLY_PEN_RSK,
AUDPLY_PEN_SEEK,
AUDPLY_PEN_MAIN_PREV,
AUDPLY_PEN_MAIN_NEXT,
AUDPLY_PEN_MAIN_STOP,
AUDPLY_PEN_MAIN_PLAY,
AUDPLY_PEN_MAIN_SETTING,
// AUDPLY_PEN_MAIN_PLAY_LIST,
#ifdef __MMI_AUDIO_PLAYER_SKIN_SHOW_REPEAT_SHUFFLE__
AUDPLY_PEN_MAIN_REPEAT,
AUDPLY_PEN_MAIN_SHUFFLE,
#endif /*__MMI_AUDIO_PLAYER_SKIN_SHOW_REPEAT_SHUFFLE__*/
AUDPLY_PEN_MAIN_VOLUME_INC,
AUDPLY_PEN_MAIN_VOLUME_DEC,
AUDPLY_PEN_COUNT
} AUDPLY_PEN_STATE;
typedef enum
{
AUDPLY_PEN_SK_UP,
AUDPLY_PEN_SK_DOWN
} AUDPLY_SOFTKEY_STATE;
S32 audply_pen_event_on_object = AUDPLY_PEN_NONE;
static mmi_pen_point_struct LSK_points[4];
static mmi_pen_point_struct RSK_points[4];
static mmi_pen_polygon_area_struct LSK_area;
static mmi_pen_polygon_area_struct RSK_area;
/* MTK Leo end */
#endif /* __MMI_TOUCH_SCREEN__ */
#ifdef __MMI_AUDIO_SPECTRUM_DISPLAY__
spectrum_struct g_aud_ply_spectrum;
extern BOOL g_audply_spectrum_valid ;
extern BOOL g_audply_spectrum_blocked;
extern BOOL mmi_gpio_is_lcd_sleep(void);
#ifdef __MMI_SUBLCD__
spectrum_struct g_aud_ply_spectrum_sub_lcd;
#endif
#endif /* __MMI_AUDIO_SPECTRUM_DISPLAY__ */
#ifdef __MMI_AUDIO_PLAYER_LYRIC_DISPLAY__
extern audply_lyric_struct audply_lyric;
extern BOOL lyric_reEntry;
audply_lyric_printing_struct audply_lyric_print;
scrolling_text audply_scrolling_lyric1;
scrolling_text *audply_scrolling_lyric_p1 = NULL;
extern BOOL g_audply_lyrics_valid;
#ifndef __MMI_SUBLCD__
extern bitmap *current_LCD_device_bitmap; /* defined in wgui.c */
extern bitmap main_LCD_device_bitmap; /* defined in wingui.c */
extern bitmap sub_LCD_device_bitmap; /* defined in wingui.c */
#endif /* __MMI_SUBLCD__ */
//scrolling_text audply_scrolling_lyric2;
//scrolling_text* audply_scrolling_lyric_p2 = NULL;
#endif /* __MMI_AUDIO_PLAYER_LYRIC_DISPLAY__ */
#if defined(__MMI_AUDIO_SPECTRUM_DISPLAY__) && defined(__MMI_AUDIO_PLAYER_LYRIC_DISPLAY__)
U8 audply_spectrum_lyrics_exclusive ; /* to check if spectrum and lyrics are mutually
exclusive on settings and main screen*/
#endif
/*****************************************************************************
* FUNCTION
* mmi_audply_init_main_screen_images
* DESCRIPTION
* init audio player main screen images
* PARAMETERS
* skin [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_audply_init_main_screen_images(S8 skin)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
const audply_skin_struct *skin_p = &g_audply_skins[skin];
S32 i, w, h;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* bg */
audply_main_bg_img = (PU8) GetImage(skin_p->bg_image_id);
//wangbei add start 20071010
#ifdef __NEW_AUDIO_SKIN_UI_STYLE__
audply_buttons_dsound_bg_img = (PU8) GetImage(IMG_ID_AUDPLY_BUTTONS_DSOUND_BG);
#endif
//wangbei add end
/* text_border_color, text fg, bg color */
text_border_color = gui_color(skin_p->text_border_color_r, skin_p->text_border_color_g, skin_p->text_border_color_b);
text_fg_color = gui_color(skin_p->text_fg_color_r, skin_p->text_fg_color_g, skin_p->text_fg_color_b);
#ifdef __GDI_MEMORY_PROFILE_2__
text_bg_color = GDI_COLOR_TRANSPARENT ; /* transparent */
#else
text_bg_color = gdi_act_color_from_rgb(255,skin_p->text_bg_color_r, skin_p->text_bg_color_g, skin_p->text_bg_color_b);
#endif
/* title */
audply_main_title.x = skin_p->title_x;
audply_main_title.y = skin_p->title_y;
audply_main_title.w = skin_p->title_w;
audply_main_title.h = skin_p->title_h;
/* time */
audply_main_time.x = skin_p->time_x;
audply_main_time.y = skin_p->time_y;
audply_main_time.w = skin_p->time_w;
audply_main_time.h = skin_p->time_h;
/* file index */
audply_main_file_index.x = skin_p->file_index_x;
audply_main_file_index.y = skin_p->file_index_y;
audply_main_file_index.w = skin_p->file_index_w;
audply_main_file_index.h = skin_p->file_index_h;
//wangbei del start 20071010
#ifndef __NEW_AUDIO_SKIN_UI_STYLE__
/* play list icon */
audply_main_playlisticon.x = skin_p->playlisticon_x;
audply_main_playlisticon.y = skin_p->playlisticon_y;
audply_main_playlisticon.list_icon[LIST_FROM_PHONE] =
(PU8) GetImage(skin_p->playlisticon_images_id[LIST_FROM_PHONE]);
audply_main_playlisticon.list_icon[LIST_FROM_CARD] = (PU8) GetImage(skin_p->playlisticon_images_id[LIST_FROM_CARD]);
gui_measure_image(audply_main_playlisticon.list_icon[LIST_FROM_PHONE], &w, &h);
audply_main_playlisticon.w = (S16) w;
audply_main_playlisticon.h = (S16) h;
/* volume */
audply_main_volumebar.x = skin_p->volumebar_x;
audply_main_volumebar.y = skin_p->volumebar_y;
audply_main_volumebar.ind_len = skin_p->volumebar_ind_len;
audply_main_volumebar.bar_direction = skin_p->volumebar_direction;
// wangbei modify start 20070529
#ifdef __NEW_STYLE_MP3PLAYER_VOLUME__
audply_main_volumebar.ind_img0 = (PU8) GetImage(skin_p->volumebar0_image_id);
audply_main_volumebar.ind_img1 = (PU8) GetImage(skin_p->volumebar1_image_id);
audply_main_volumebar.ind_img2 = (PU8) GetImage(skin_p->volumebar2_image_id);
audply_main_volumebar.ind_img3 = (PU8) GetImage(skin_p->volumebar3_image_id);
audply_main_volumebar.ind_img4 = (PU8) GetImage(skin_p->volumebar4_image_id);
audply_main_volumebar.ind_img5 = (PU8) GetImage(skin_p->volumebar5_image_id);
audply_main_volumebar.ind_img6 = (PU8) GetImage(skin_p->volumebar6_image_id);
gui_measure_image( audply_main_volumebar.ind_img0, &w, &h );
#else
audply_main_volumebar.ind_img = (PU8) GetImage(skin_p->volumebar_ind_image_id);
gui_measure_image(audply_main_volumebar.ind_img, &w, &h);
#endif
//wangbei modify end
audply_main_volumebar.w = (S16) w;
audply_main_volumebar.h = (S16) h;
#endif
//wangbei del end
/* progress bar */
audply_main_progressbar.x = skin_p->progressbar_x;
audply_main_progressbar.y = skin_p->progressbar_y;
audply_main_progressbar.img = (PU8) GetImage(skin_p->progressbar_image_id);
audply_main_progressbar.img_fail = (PU8) GetImage(skin_p->progressbar_fail_image_id);
gui_measure_image(audply_main_progressbar.img, &w, &h);
audply_main_progressbar.w = (S16) w;
audply_main_progressbar.h = (S16) h;
//wangbei del start 20071010
#ifndef __NEW_AUDIO_SKIN_UI_STYLE__
#ifdef __MMI_TOUCH_SCREEN__
/* volume inc & dec control */
audply_main_volume_inc.x = skin_p->volume_inc_x;
audply_main_volume_inc.y = skin_p->volume_inc_y;
audply_main_volume_inc.up_img = (PU8) GetImage(skin_p->volume_inc_up_image_id);
audply_main_volume_inc.down_img = (PU8) GetImage(skin_p->volume_inc_down_image_id);
gui_measure_image(audply_main_volume_inc.up_img, &w, &h);
audply_main_volume_inc.w = (S16) w;
audply_main_volume_inc.h = (S16) h;
audply_main_volume_inc.down = FALSE;
audply_main_volume_dec.x = skin_p->volume_dec_x;
audply_main_volume_dec.y = skin_p->volume_dec_y;
audply_main_volume_dec.up_img = (PU8) GetImage(skin_p->volume_dec_up_image_id);
audply_main_volume_dec.down_img = (PU8) GetImage(skin_p->volume_dec_down_image_id);
gui_measure_image(audply_main_volume_dec.up_img, &w, &h);
audply_main_volume_dec.w = (S16) w;
audply_main_volume_dec.h = (S16) h;
audply_main_volume_dec.down = FALSE;
/* setting icon */
audply_main_setting.x = skin_p->setting_x;
audply_main_setting.y = skin_p->setting_y;
audply_main_setting.up_img = (PU8) GetImage(skin_p->setting_up_image_id);
audply_main_setting.down_img = (PU8) GetImage(skin_p->setting_down_image_id);
gui_measure_image(audply_main_setting.up_img, &w, &h);
audply_main_setting.w = (S16) w;
audply_main_setting.h = (S16) h;
audply_main_setting.down = FALSE;
#endif /* __MMI_TOUCH_SCREEN__ */
#endif
//wangbei del end
/* play, pause, stop, prev, next buttons */
audply_main_buttons[AUDPLY_MAIN_PREV].x = skin_p->prev_button_x;
audply_main_buttons[AUDPLY_MAIN_PREV].y = skin_p->prev_button_y;
audply_main_buttons[AUDPLY_MAIN_PREV].on_img = (PU8) GetImage(skin_p->prev_button_on_image_id);
audply_main_buttons[AUDPLY_MAIN_PREV].off_img = (PU8) GetImage(skin_p->prev_button_off_image_id);
audply_main_buttons[AUDPLY_MAIN_PREV].disabled_img = (PU8) GetImage(skin_p->prev_button_disabled_image_id);
audply_main_buttons[AUDPLY_MAIN_PREV].down_img = (PU8) GetImage(skin_p->prev_button_down_image_id);
audply_main_buttons[AUDPLY_MAIN_NEXT].x = skin_p->next_button_x;
audply_main_buttons[AUDPLY_MAIN_NEXT].y = skin_p->next_button_y;
audply_main_buttons[AUDPLY_MAIN_NEXT].on_img = (PU8) GetImage(skin_p->next_button_on_image_id);
audply_main_buttons[AUDPLY_MAIN_NEXT].off_img = (PU8) GetImage(skin_p->next_button_off_image_id);
audply_main_buttons[AUDPLY_MAIN_NEXT].disabled_img = (PU8) GetImage(skin_p->next_button_disabled_image_id);
audply_main_buttons[AUDPLY_MAIN_NEXT].down_img = (PU8) GetImage(skin_p->next_button_down_image_id);
audply_main_buttons[AUDPLY_MAIN_PLAY].x = skin_p->play_button_x;
audply_main_buttons[AUDPLY_MAIN_PLAY].y = skin_p->play_button_y;
audply_main_buttons[AUDPLY_MAIN_PLAY].on_img = (PU8) GetImage(skin_p->play_button_on_image_id);
audply_main_buttons[AUDPLY_MAIN_PLAY].off_img = (PU8) GetImage(skin_p->play_button_off_image_id);
audply_main_buttons[AUDPLY_MAIN_PLAY].disabled_img = (PU8) GetImage(skin_p->play_button_disabled_image_id);
audply_main_buttons[AUDPLY_MAIN_PLAY].down_img = (PU8) GetImage(skin_p->play_button_down_image_id);
audply_main_pause_on_img = (PU8) GetImage(skin_p->pause_button_on_image_id);
audply_main_pause_down_img = (PU8) GetImage(skin_p->pause_button_down_image_id);
audply_main_buttons[AUDPLY_MAIN_STOP].x = skin_p->stop_button_x;
audply_main_buttons[AUDPLY_MAIN_STOP].y = skin_p->stop_button_y;
audply_main_buttons[AUDPLY_MAIN_STOP].on_img = (PU8) GetImage(skin_p->stop_button_on_image_id);
audply_main_buttons[AUDPLY_MAIN_STOP].off_img = (PU8) GetImage(skin_p->stop_button_off_image_id);
audply_main_buttons[AUDPLY_MAIN_STOP].disabled_img = (PU8) GetImage(skin_p->stop_button_disabled_image_id);
audply_main_buttons[AUDPLY_MAIN_STOP].down_img = (PU8) GetImage(skin_p->stop_button_down_image_id);
/* calculate buttons boundary */
gui_measure_image(audply_main_buttons[0].on_img, &w, &h);
audply_main_buttons[0].w = (S16) w;
audply_main_buttons[0].h = (S16) h;
audply_main_buttons_x1 = audply_main_buttons[0].x;
audply_main_buttons_y1 = audply_main_buttons[0].y;
audply_main_buttons_x2 = audply_main_buttons[0].x + w - 1;
audply_main_buttons_y2 = audply_main_buttons[0].y + h - 1;
for (i = 1; i < NO_OF_AUDPLY_MAIN_BUTTONS; i++)
{
gui_measure_image(audply_main_buttons[i].on_img, &w, &h);
audply_main_buttons[i].w = (S16) w;
audply_main_buttons[i].h = (S16) h;
if (audply_main_buttons[i].x < audply_main_buttons_x1)
{
audply_main_buttons_x1 = audply_main_buttons[i].x;
}
if (audply_main_buttons[i].y < audply_main_buttons_y1)
{
audply_main_buttons_y1 = audply_main_buttons[i].y;
}
if (audply_main_buttons[i].x + w - 1 > audply_main_buttons_x2)
{
audply_main_buttons_x2 = audply_main_buttons[i].x + w - 1;
}
if (audply_main_buttons[i].y + h - 1 > audply_main_buttons_y2)
{
audply_main_buttons_y2 = audply_main_buttons[i].y + h - 1;
}
}
#ifdef __MMI_AUDIO_PLAYER_ANIMATION__
/* animation */
audply_main_animation.x = skin_p->animation_x;
audply_main_animation.y = skin_p->animation_y;
audply_main_animation.animation_img = (PU8) GetImage(skin_p->animation_image_id);
gui_measure_image(audply_main_animation.animation_img, &w, &h);
audply_main_animation.w = (S16) w;
audply_main_animation.h = (S16) h;
//lrj add begin 2060829
#ifdef _LYRIC_SYNCHRONIZE_DISPLAY_
lyric_init(audply_main_animation.x,audply_main_animation.y,w,h) ;
#endif
//lrj add end
#endif /* __MMI_AUDIO_PLAYER_ANIMATION__ */
#ifdef __MMI_AUDIO_PLAYER_SKIN_SHOW_REPEAT_SHUFFLE__
/* repeat */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -