【C#编程学习笔记】MTK系统MMI的常用函数及宏定义

  【C#编程学习笔记】MTK系统MMI的常用函数及宏定义

MMI的全称是:Man Machine Interface,即人机接口或者人机界面。而人机界面又分为:文字界面(如:DOS)和图形界面(如:windows)。

下面是MMI架构的简图:


GUI的全称是:Graphical User Interface,即:图形用户界面或者图形用户接口。 



MMI 常用函数和宏定义:


一、屏幕常用类:
clear_screen//清屏
entry_full_screen//全屏幕
gui_BLT_double_buffer//重绘

二、图形类:
GDI:
1、颜色格式转换(宏):
GDI_RGB_TO_BUFFER_FORMAT(R,G,B)
GDI_BUFFER_FORMAT_TO_RGB_R(VALUE)
GDI_BUFFER_FORMAT_TO_RGB_G(VALUE)
GDI_BUFFER_FORMAT_TO_RGB_B(VALUE)
eg:
gdi_color blue_color;
blue_color = GDI_RGB_TO_BUFFER_FORMAT(0,0,255);
2、绘制像素点:
gdi_draw_point
3、绘制直线及线条:
gdi_draw_line
gdi_draw_line_style
4、绘制矩形及框
gdi_draw_rect
gdi_draw_solid_rect
void gdi_draw_frame_rect(S32 x1,S32 y1,S32 x2,S32 y2,gdi_color rect_color,gdi_color frame_color,S32 frame_width);//绘制带边框填充矩形
gdi_draw_round_rect
gdi_draw_button_rect
gdi_draw_shadow_rect
gdi_draw_gradient_rect

GUI:
void (*gui_putpixel)(S32 x,S32 y,color c) = NULL;//在x,y处绘制一个GUI颜色c
void (*gui_line)(S32 x1,S32 y1,S32 x2,S32 y2,color c) = NULL;
void (*gui_draw_horizontal_line)(S32 x1,S32 x2,S32 y,color c) = NULL;//绘制水平线
void (*gui_draw_vertical_line)(S32 y1,S32 y2,S32 x,color c) = NULL;//绘制垂直线
void (*gui_draw_rectangle)(S32 x1,S32 y1,S32 x2,S32 y2,color c) = NULL;
void (*gui_fill_rectangle)(S32 x1,S32 y1,S32 x2,S32 y2,color c) = NULL;//实心矩形


三、图像类:
GDI:
绘制相关:
GDI_RESULT gdi_image_draw(S32 offset_x,S32 offset_y,U8 *image_ptr);
eg:gdi_image_draw(10,10,get_image(IMG_ID));
GDI_RESULT gdi_image_draw_id(S32 offset_x,S32 offset_y,U16 image_id);
gdi_image_draw_file
eg: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
eg:gdi_handle my_anim;
gdi_anim_draw_id(50,100,IMG_FIRSTAPP_ANIMATE,&my_anim);
gdi_anim_stop//停止动画播放
eg:gdi_handle my_anim;
gdi_anim_stop(my_anim);
GDI_RESULT gdi_image_get_dimension_id(U16 image_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

GUI:
绘制相关:
void (*gui_show_image)(S32 x,S32 y,PU8 i) = NULL;
eg:gui_show_image(10,10,(PU8) GetImage(IMG_ID));//使用GetImage方式将资源读取出来
剪裁区相关:
void (*gui_push_clip)(void) = NULL;//进入剪切区域
void (*gui_set_clip)(S32 x1,S32 y1,S32 x2,S32 y2) = 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)(S32 x,S32 y) = NULL;//设定绘制文本处屏幕坐标
gui_set_text_color
void (*gui_print_text)(UI_string_type_text) = NULL;//绘制文本
eg: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_type c) = NULL;//在屏幕上输出一个字符
void (*gui_print_bordered_text)(UI_string_type_text) = NULL;//输出一个带边框的文本
void (*gui_measure_string)(UI_string_type text,S32 *width,S32 *height) = NULL;//测量字符串在屏幕上占的像素长度和高度
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值