|
我要加入一个新的模板时出了问题
const U8 category16_GBMMI[] =
{
6,
DM_NEW_LAYER_START,
DM_CATEGORY_CONTROLLED_AREA2, //
DM_CATEGORY_CONTROLLED_AREA, //这两个对调的话在area2指定区域就画不出
DM_BASE_LAYER_START,
DM_DIALER_INPUT_BOX1,
DM_BUTTON_BAR1
};
const S16 coordinate_set16_GBMMI[] =
{
DM_FULL_SCREEN_COORDINATE_FLAG,
0, 324, 240,60, DM_NO_FLAGS,
0, 87, 240,237, DM_NO_FLAGS,
0, 0, MMI_DIALING_KEYPAD_LAYER_WIDTH, MMI_DIALING_KEYPAD_LAYER_HEIGHT, DM_NO_FLAGS,
MMI_DIALING_KEYPAD_LAYER_X, MMI_DIALING_KEYPAD_LAYER_Y - MMI_DIALING_BOX_HEIGHT, MMI_DIALING_KEYPAD_LAYER_WIDTH,
MMI_DIALING_BOX_HEIGHT, DM_NO_FLAGS,
DM_DEFAULT_BUTTON_BAR_FLAG, MMI_SOFTKEY_WIDTH
};
下面数组的坐标和上面的元素应该是一一对应的啊!!可是,为什么上面area和area2相互对调会出问题。
另外就是按照这样的排布,当我在area2对应的区域画图和文字时(通过函数DrawCate16CategoryControlArea2),总
是不显示
gdi_layer_push_clip();
gdi_layer_reset_clip();
gui_reset_text_clip();
gui_draw_rectangle(30, 0 ,30,30,UI_COLOR_BLACK);//这句改尺寸为(30,0,100,100)就显示,为啥?
gui_set_text_color(UI_COLOR_BLACK);
gui_print_character((UI_character_type)'1');//死活没显示,改gui_move_text_cursor(0,0)也没用。
gdi_layer_pop_clip();
gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);
还是了不同的修改就是不显示,为啥啊?这个坐标怎么跟计算好的不一样[em03]
好心的大侠们,帮我看看吧!!5555555555555555~~~~~~~~~
还有,DM_NEW_LAYER_START所对应坐标为DM_FULL_SCREEN_COORDINATE_FLAG,会导致下面的元素坐标错位,郁闷,因为函数dm_get_cat_scr_coordinates修改了指针UICtrlAccessPtr_p,使得下面DM_NEW_LAYER_START进行dm_setup_new_layer(&UICtrlAccessPtr_p)处理时,获取的是下面一个元素的坐标。然后之后的元素都是获取下一个元素的坐标。 |
|