|
按如下方法在idle创建一新层,显示一张图片。可是图显示不出来。将该图放在base layer上时可正常显示。
在函数wgui_cat033_redraw中调用mmi_slide_shortcut_entry.
高人指点。谢谢!
void mmi_slide_shortcut_entry(void)
{
GDI_HANDLE temp_layer;
PU8 temp_buffer;
temp_buffer =(PU8) mmi_frm_scrmem_alloc_framebuffer(MMI_SLIDE_SHORTCUT_LAYER_BUFFER_SIZE);
MMI_ASSERT(temp_buffer !=NULL);
gdi_layer_create_using_outside_memory(
0,
0,
MMI_SLIDE_SHORTCUT_ITEM_WIDTH*MMI_SLIDE_SHORTCUT_ITEM_TOTAL,
MMI_SLIDE_SHORTCUT_BG_HEIGHT,
&temp_layer,
(PU8)temp_buffer,
(S32)MMI_SLIDE_SHORTCUT_LAYER_BUFFER_SIZE);
ASSERT( temp_layer != GDI_NULL_HANDLE && temp_layer != GDI_ERROR_HANDLE );
gdi_layer_push_and_set_active(temp_layer);
gdi_layer_set_position(0,UI_DEVICE_HEIGHT -MMI_SLIDE_SHORTCUT_BG_HEIGHT);
gdi_layer_clear(GDI_COLOR_TRANSPARENT);
gdi_layer_set_source_key(FALSE, GDI_COLOR_TRANSPARENT);
gdi_layer_pop_and_restore_active();
gdi_layer_push_and_set_active(temp_layer);
gdi_layer_set_position(0,200 );
gdi_layer_push_clip();
gdi_layer_set_clip(0,UI_DEVICE_HEIGHT -MMI_SLIDE_SHORTCUT_BG_HEIGHT,UI_DEVICE_WIDTH,UI_DEVICE_HEIGHT);
gui_show_image(0,0,(PU8)GetImage(IMG_EN_IDLE_SHORTCUT_QQ));
gdi_layer_pop_clip();
gdi_layer_pop_and_restore_active();
gdi_layer_set_blt_layer(dm_get_layer_handle(0), dm_get_layer_handle(1), g_mmi_slide_shortcut.slide_shortcut_handle, 0);
gdi_layer_blt_previous(0,0,UI_DEVICE_WIDTH,UI_DEVICE_HEIGHT);
} |
|