MTK编程起步Word下载.docx

上传人:b****3 文档编号:7281202 上传时间:2023-05-08 格式:DOCX 页数:18 大小:24.33KB
下载 相关 举报
MTK编程起步Word下载.docx_第1页
第1页 / 共18页
MTK编程起步Word下载.docx_第2页
第2页 / 共18页
MTK编程起步Word下载.docx_第3页
第3页 / 共18页
MTK编程起步Word下载.docx_第4页
第4页 / 共18页
MTK编程起步Word下载.docx_第5页
第5页 / 共18页
MTK编程起步Word下载.docx_第6页
第6页 / 共18页
MTK编程起步Word下载.docx_第7页
第7页 / 共18页
MTK编程起步Word下载.docx_第8页
第8页 / 共18页
MTK编程起步Word下载.docx_第9页
第9页 / 共18页
MTK编程起步Word下载.docx_第10页
第10页 / 共18页
MTK编程起步Word下载.docx_第11页
第11页 / 共18页
MTK编程起步Word下载.docx_第12页
第12页 / 共18页
MTK编程起步Word下载.docx_第13页
第13页 / 共18页
MTK编程起步Word下载.docx_第14页
第14页 / 共18页
MTK编程起步Word下载.docx_第15页
第15页 / 共18页
MTK编程起步Word下载.docx_第16页
第16页 / 共18页
MTK编程起步Word下载.docx_第17页
第17页 / 共18页
MTK编程起步Word下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MTK编程起步Word下载.docx

《MTK编程起步Word下载.docx》由会员分享,可在线阅读,更多相关《MTK编程起步Word下载.docx(18页珍藏版)》请在冰点文库上搜索。

MTK编程起步Word下载.docx

void(*gui_line)(S32x1,S32y1,S32x2,S32y2,colorc)=NULL;

void(*gui_draw_horizontal_line)(S32x1,S32x2,S32y,colorc)=NULL;

//绘制水平线

void(*gui_draw_vertical_line)(S32y1,S32y2,S32x,colorc)=NULL;

//绘制垂直线

void(*gui_draw_rectangle)(S32x1,S32y1,S32x2,S32y2,colorc)=NULL;

void(*gui_fill_rectangle)(S32x1,S32y1,S32x2,S32y2,colorc)=NULL;

//实心矩形

三、图像类:

绘制相关:

GDI_RESULTgdi_image_draw(S32offset_x,S32offset_y,U8*image_ptr);

gdi_image_draw(10,10,get_image(IMG_ID));

GDI_RESULTgdi_image_draw_id(S32offset_x,S32offset_y,U16image_id);

gdi_image_draw_file

gdi_image_draw_file(10,10,(S8*)L"

E:

\\MTK6226\plutommi\mmi\firstapp\new_icon.gif"

);

gdi_image_draw_resized

gdi_image_draw_animation

gdi_image_draw_animation_once

gdi_image_draw_animation_frames

gdi_image_draw_animation_single_frame

gdi_image_get_dimension

gdi_image_stop_animation

gdi_image_stop_animation_all

gdi_anim_draw_id//通过ID绘制动态图片,6226版用gdi_image_draw_animation_id

gdi_handlemy_anim;

gdi_anim_draw_id(50,100,IMG_FIRSTAPP_ANIMATE,&

my_anim);

gdi_anim_stop//停止动画播放

gdi_anim_stop(my_anim);

GDI_RESULTgdi_image_get_dimension_id(U16image_id,S32*width,S32*height);

//测量图片所占宽高像素

解码器相关:

gdi_image_decoder_create

gdi_image_decoder_free

gdi_image_decoder_decode_file

gdi_image_decoder_decode_file_with_output_clipping

gdi_image_decoder_get_dimension_file

gdi_image_decoder_stop

gdi_image_decoder_stop_all

void(*gui_show_image)(S32x,S32y,PU8i)=NULL;

gui_show_image(10,10,(PU8)GetImage(IMG_ID));

//使用GetImage方式将资源读取出来

剪裁区相关:

void(*gui_push_clip)(void)=NULL;

//进入剪切区域

void(*gui_set_clip)(S32x1,S32y1,S32x2,S32y2)=NULL;

//设置剪切区域范围

void(*gui_pop_clip)(void)=NULL;

//恢复本来的剪切区域

void(*gui_get_clip)(S32*x1,S32*y1,S32*x2,S32*y2)=NULL;

//获得当前激活的剪裁区的大小

void(*gui_reset_clip)(void)=NULL;

//重置图像剪切区到默认范围即屏幕大小

四、文本类:

void(*gui_move_text_cursor)(S32x,S32y)=NULL;

//设定绘制文本处屏幕坐标

gui_set_text_color

void(*gui_print_text)(UI_string_type_text)=NULL;

//绘制文本

gui_print_text(L"

Hello"

//只用于模拟器调试,真机不支持

gui_print_text((UI_string_type)GetString(STR_ID));

//推荐使用,支持多语言

gui_print_text((UI_string_type)Str);

//传递S8(char)类型字符数字指针

void(*gui_print_character)(UI_character_typec)=NULL;

//在屏幕上输出一个字符

void(*gui_print_bordered_text)(UI_string_type_text)=NULL;

//输出一个带边框的文本

void(*gui_measure_string)(UI_string_typetext,S32*width,S32*height)=NULL;

//测量字符串在屏幕上占的像素长度和高度

UI_string_type(*gui_itoa)(S32value,UI_string_types,S32radix)=NULL;

//将整形数据转换为字符串,radix是进制,gui_atoi作用相反

五、字体类:

1、字体封装结构体:

typedefstructstFontAttribute

{

U8bold;

 

//粗体,0正常,1粗体,下同

U8italic;

//斜体

U8underline;

//下划线

U8size;

//字号:

SMALL_FONT,MEDIUM_FONT,LARGE_FONT,SUBLCD_FONT(副屏字体),DIALER_FONT(拨号字体),VIRTUAL_KEYBOARD_FONT(虚拟键盘字体)

U8color;

//颜色,暂无效,使用gui_set_text_color实现

U8type;

//字体,暂无效

U8oblique;

//倾斜,比italic斜度小

U8smallCaps;

//小写锁定,暂无效

}

stFontAttributenewfont={0,0,0,MEDIUM_FONT,0,0};

gui_set_font(&

newfont);

注意:

该设置只对英文起作用,汉字大小由字库文件决定。

六、颜色类:

1、常用颜色常量:

UI_COLOR_LIGHT_GREY

UI_COLOR_WHITE

UI_COLOR_DARK_GREY

UI_COLOR_BLACK

UI_COLOR_NONE

UI_COLOR_RED

UI_COLOR_3D_FILLER

UI_COLOR_GREY

UI_COLOR_GREEN

GDI_COLOR_WHITE

GDI_COLOR_BLACK

GDI_COLOR_GRAY

GDI_COLOR_RED

GDI_COLOR_BLUE

GDI_COLOR_GREEN

可利用下面的方式设定需要的颜色:

colormy_color={20,20,60,100};

gdi_colormy_gdi_color=gdi_act_color_from_rgb(255,255,103,102);

my_color中第四个参数100和my_gdi_color第一个参数255表示透明度。

七、背景类:

1、填充结构体:

typedefstruct_UI_filled_area

U32flags;

//控制背景具体类型的标志

PU8b;

//背景图片

gradient_color*gc;

//渐进颜色

colorc;

//背景色

colorac;

//用于绘制交叉填充图形的替换色

colorborder_color;

//边框颜色

colorshadow_color;

//阴影颜色

UI_transparent_color_typetransparent_color;

//透明色

}UI_filled_area;

flags组合公式:

flags=类型标志|边框标志|阴影标志(可以是任意个数,不一定非得是3个一样一个)

对应类型如下:

12个类型标志:

#defineUI_FILLED_AREA_TYPE_COLOR 

//颜色

#defineUI_FILLED_AREA_TYPE_GRADIENT_COLOR 

//渐进色

#defineUI_FILLED_AREA_TYPE_TEXTURE 

//纹理

#defineUI_FILLED_AREA_TYPE_BITMAP 

//位图

#defineUI_FILLED_AREA_TYPE_HATCH_COLOR 

//百叶窗(背景色c与原始底色交替)

#defineUI_FILLED_AREA_TYPE_ALTERNATE_HATCH_COLOR 

//交叉百叶窗(背景色c与替换色ac交替)

#defineUI_FILLED_AREA_TYPE_CROSS_HATCH_COLOR 

//十字图纹(背景色c与原始底色交替)

#defineUI_FILLED_AREA_TYPE_ALTERNATE_CROSS_HATCH_COLOR 

//交叉十字纹(背景色c与替换色ac交替)

#defineUI_FILLED_AREA_TYPE_NO_BACKGROUND 

//无背景

#defineUI_FILLED_AREA_TYPE_CUSTOM_FILL_TYPE1 

//自定义背景1

#defineUI_FILLEDAREA_TYPE_CUSTOM_FILL_TYPE2 

//自定义背景2

#defineUI_FILLED_AREA_TYPE_3D_BORDER 

//3D边框

8个边框标志:

#defineUI_FILLED_AREA_BORDER 

//单边框(一个像素宽)

#defineUI_FILLED_AREA_SINGLE_BORDER 

//单边框,同上

#defineUI_FILLED_AREA_DOUBLE_BORDER 

//双边框(两个像素宽)

#defineUI_FILLED_AREA_ROUNDED_BORDER 

//圆角边框

#defineUI_FILLED_AREA_3D_DEPRESSED_BORDER 

//下陷边框(类似按钮下陷效果)

#defineUI_FILLED_AREA_DEPRESSED_BORDER 

//突起边框(类似按钮弹起效果)

#defineUI_FILLED_AREA_LEFT_ROUNDED_BORDER 

//左圆角边框

#defineUI_FILLED_AREA_RIGHT_ROUNDED_BORDER 

//右圆角边框

2个阴影标志:

#defineUI_FILLED_AREA_SHADOW 

//单阴影(一个像素宽)

#defineUI_FILLED_AREA_SHADOW_DOUBLE_LINE 

//双阴影(两个像素宽)

2、渐进色结构体:

typedefstruct_gradient_color

color*c;

//总共多少种颜色进行渐进

U8*p;

//每种颜色所占比例

U8n;

//总共颜色数量

}gradient_color;

colorg_colors[3]={{255,0,0},{0,255,0},{255,0,255}};

U8perc[2]={40,60};

gradient_colorgc={g_colors,perc,3};

……

filler.gc=&

gc;

系统定义的3种渐进效果标志:

UI_FILLED_AREA_HORIZONTAL_FILL 

//水平渐进,默认

UI_FILLED_AREA_VERTICAL_FILL 

//垂直渐进,从上到下

UI_FILLED_AREA_FLIP_FILL 

//反转显示

3、常用UI_filled_area结构体对象:

MMI_down_button_filler

MMI_up_button_filler

MMI_disabled_button_filler

MMI_focussed_button_filler

MMI_clicked_button_filler

MMI_multitap_filler

MMI_inputbox_normal_filler

MMI_inputbox_selected_filler

MMI_inputbox_disabled_filler

MMI_scrollcontrol_up_button_filler

MMI_scrollcontrol_down_button_filler

MMI_scrollcontrol_disabled_button_filler

MMI_scrollcontrol_focussed_button_filler

MMI_scroll_up_button_filler

MMI_scroll_down_button_filler

MMI_scroll_disabled_button_filler

MMI_scroll_focussed_button_filler

MMI_scrollbar_normal_filler

MMI_scrollbar_disabled_filler

MMI_scrollbar_focussed_filler

八、层类:

1、层句柄:

主屏幕层句柄:

GDI_LAYER_MAIN_BASE_LAYER_HANDLE

副屏幕层句柄:

GDI_LAYER_SUB_BASE_LAYER_HANDLE

2、层函数:

#definegdi_layer_create(OFFSET_X,OFFSET_Y,WIDTH,HEIGHT,HANDLE_PTR)\

gdi_layer_create_cf(GDI_LCD->

cf,OFFSET_X,OFFSET_Y,WIDTH,HEIGHT,HANDLE_PTR)//创建新层

/*参数含义:

OFFSET_X:

新层的起始x坐标

OFFSET_Y:

新层的起始y坐标

WIDTH:

新层的宽度

HEIGHT:

新层的高度

HANDLE_PTR:

新层的句柄地址*/

gdi_layer_multi_layer_enable//用于创建新图层之前,开启多层支持

gdi_layer_multi_layer_disable//退出屏幕时在退出函数中调用关闭多层

voidgdi_layer_set_active(gdi_handlehandle)//激活层

gdi_layer_push_and_set_active(gdi_handlehandle)//层入激活栈

gdi_layer_push_and_set_active()

gdi_layer_pop_and_restore_active()//层出激活栈,恢复之前层显示,与入栈函数成对使用

gdi_push_and_set_alpha_blending_source_layer(active_layer)//该对函数实现png图片透明效果

gdi_pop_and_restore_alpha_blending_source_layer()

gdi_layer_set_blt_layer(gdi_handlebase_layer,gdi_handlehandle,gdi_handlehandle,gdi_handlehandle)//申明要合并的图层

,最多4个,没有时为NULL,第一个层在最下面

gdi_layer_blt(gdi_handlebase_layer,gdi_handlehandle,gdi_handlehandle,gdi_handlehandle,S32offset_x1,S32

offset_y1,S32offset_x2,S32offset_y2)//和上面的函数意义一样,可以省去重绘函数gui_BLT_double_buffer

GDI_RESULTgdi_layer_clear(gdi_colorbg_color)//将新建层颜色刷成bg_color

gdi_layer_get_base_handle(&

base_handle)//获取基础层句柄

GDI_RESULTgdi_layer_set_source_key(BOOLsource_key_enable,gdi_colorsource_key_value)//实现通透函数,参数一判断通透是否打开,参数二不需要显示的颜色值

voidgdi_layer_set_clip(S32x1,S32y1,S32x2,S32y2)//设置层剪切区域

gdi_layer_reset_clip//重置剪切区域

GDI_RESULTgdi_layer_set_opacity(BOOLopacity_enable,U8opacity_value)//设置透明,第一个参数判断是否启用,第二个参数透明度0~255

gdi_layer_free//用于退出时释放图层资源

#definegdi_layer_create_using_outside_memory(X,Y,WIDTH,HEIGHT,HANDLE_PTR,OUTMEM_PTR,OUTMEM_SIZE)\

gdi_layer_create_cf_using_outside_memory(GDI_LCD-

>

cf,X,Y,WIDTH,HEIGHT,HANDLE_PTR,OUTMEM_PTR,OUTMEM_SIZE)//用于当前资源不够创建新图层时使用此函数分配更多内存用于新建图层

X,Y:

新图层起始坐标

WIDTH,HEIGHT:

新图层的宽度和高度

新图层句柄地址

OUTMEM_PTR:

新分配内存地址

OUTMEM_SIZE:

内存容量

gdi_handlenew_layer;

voidEntryFirstAppScreen(void)

U8*outside_mem=NULL;

gdi_layer_multi_layer_enable();

EntryNewScreen(SCR_FIRSTAPP_MAIN,ExitFirstAppScreen,NULL,NULL);

outside_mem=(U8*)mmi_frm_scrmem_alloc(((GDI_LCD_WIDTH*GDI_LCD_HEIGHT*GDI_MAINLCD_BIT_PER_PIXEL)>

3));

gdi_layer_create_using_outside_memory(10,10,150,150,&

new_layer,outside_mem,

((GDI_LCD_WIDTH*GDI_LCD_HEIGHT*GDI_MAINLCD_BIT_PER_PIXEL)>

#));

mmi_frm_scrmem_free(outside_mem);

SetKeyHandler(GoBackHistory,KEY_RSK,KEY_EVENT_UP);

*/

#definemmi_frm_scrmem_alloc_framebuffer(mem_size)\

mmi_frm_scrmem_alloc_framebuffer_int(mem_size,__LINE__)

//使用多媒体内存

gdi_layer_lock_frame_buff

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2