当前位置: 首页 > news >正文

做网站按什么收费多少seo管家

做网站按什么收费多少,seo管家,鄂州市政府官网,网站建设 郑州全志ARM926 Melis2.0系统的开发指引⑧ 编写目的12.5. 应用程序编写12.5.1. 简单应用编写12.5.1.1. 注册应用12.5.1.2. 创建管理窗口12.5.1.3. 实现管理窗口消息处理回调函数12.5.1.4. 创建图层12.5.1.5. 创建 framewin12.5.1.6. 实现 framewin 消息处理回调函数 -. 全志相关工具…

全志ARM926 Melis2.0系统的开发指引⑧

  • 编写目的
    • 12.5. 应用程序编写
      • 12.5.1. 简单应用编写
        • 12.5.1.1. 注册应用
        • 12.5.1.2. 创建管理窗口
        • 12.5.1.3. 实现管理窗口消息处理回调函数
        • 12.5.1.4. 创建图层
        • 12.5.1.5. 创建 framewin
        • 12.5.1.6. 实现 framewin 消息处理回调函数
  • -. 全志相关工具和资源
    • -.1 全志固件镜像修改工具 ImageModify.exe 下载
    • -.2 全志固件USB刷机工具 PhoenixSuit 下载
    • -.3 全志Melis2.0 用户手册.pdf下载
    • -.4 全志melis2.0 sdk源码库下载

编写目的

本文档是全志 Melis2.0 系统的开发指引文档,旨在协助开发者了解和掌握 Melis 系统,快速搭建 Melis系统的开发环境,将 Melis2.0 系统应用到产品开发中。
在这里插入图片描述

12.5. 应用程序编写

12.5.1. 简单应用编写

用户程序编写最基本的 6 个步骤:注册应用、创建管理窗口 manwin 并实现回调函数、创建图层、创建framewin 并实现回调函数。下面进行介绍。

12.5.1.1. 注册应用

新方案中,只有一个主应用,子应用由主应用启动,用户应用程序为子程序。主应用默认启动 home
子应用,并由 home 子应用启动其他子应用。因此 home 子应用定义了要切换的子应用 ID。
ROOT\livedesk\beetles\applets\lib\beetles_app.h 文件中定义了子应用 ID 枚举 root_home_id_t,添加项ID_HOME_TEST_APP。

typedef enum
{ID_HOME_FM = 0, ID_MEDIA_START, ID_HOME_RECORD=ID_MEDIA_START, ID_HOME_MOVIE, ID_MEDIA_END, ID_HOME_SETTING = ID_MEDIA_END, ID_HOME_TEST_APP, ID_MAX_NUM, }  root_home_id_t;

为方便窗口、图层创建,在 ROOT\livedesk\beetles\applets\lib\beetles_app.h 加入定义,窗口或图层创建时使用此名称以进行区分。

#define APP_TEST "app_test"
12.5.1.2. 创建管理窗口

管理窗口是所有应用的入口,负责接收消息。创建管理窗口时,id 参数请使用注册 ID 即 APP_TEST。用户也可以添加自定义结构体用于参数传递,即 create_info.attr 参数。

_s32 app_test_create(root_para_t *para)
{ __gui_manwincreate_para_t create_info;test_app_ctrl_t *test_app_ctrl = NULL; __log("****************************************************************************************\n"); __log("********************************** enter test app ************************************\n"); __log("****************************************************************************************\n");test_app_ctrl = (test_app_ctrl_t)esMEMS_Balloc(sizeof(test_app_ctrl_t));if( test_app_ctrl == NULL ){ __msg("test app esMEMS_Balloc fail\n"); return NULL;}eLIBs_memset(test_app_ctrl, 0, sizeof(test_app_ctrl_t));test_app_ctrl->test_app_font = para->font;test_app_ctrl->root_type = para->root_type; eLIBs_memset(&create_info, 0, sizeof(__gui_manwincreate_para_t)); create_info.name = APP_TEST; create_info.hParent = para->h_parent; create_info.ManWindowProc = (__pGUI_WIN_CB)esKRNL_GetCallBack((__pCBK_t)_app_test_proc); create_info.attr = (void*)test_app_ctrl; create_info.id = APP_TEST; create_info.hHosting = NULL; return(GUI_ManWinCreate(&create_info));
}    
12.5.1.3. 实现管理窗口消息处理回调函数

消息处理函数为管理窗口中设置的回调函数,在发生消息传递时先被调用。主要集中处理
GUI_MSG_CREATE、GUI_MSG_DESTROY、GUI_MSG_CLOSE、GUI_MSG_KEY、GUI_MSG_TOUCH 等系统消息,也可以
处理用户自定义消息。

static __s32 _app_test_proc(__gui_msg_t *msg)
{ __s32 ret; switch( msg->id ){case GUI_MSG_CREATE: /* 创建子窗口*/layer = htouch_layer_create(); /* 创建图层*/GUI_LyrWinSetTop(layer); /* 图层置顶*/htouch_frmwin_create(msg->h_deswin, layer); /* 创建 framewin*/return EPDK_OK;/*释放在 create 中分配的资源,尽量在此回调中释放资源,而不要在退出消息循环后在释放资源*/ case GUI_MSG_DESTROY: GUI_LyrWinDelete(layer); return EPDK_OK;/* 需要支持的桌面消息*/ case DSK_MSG_HOME: /* 回到主界面 */ case DSK_MSG_KILL: /* 强制杀掉该应用程序 */ret = GUI_ManWinDelete(msg->h_deswin); return ret; case GUI_MSG_CLOSE:GUI_ManWinDelete(msg->h_deswin);dsk_load_app("main.app"); /* 回到主界面 */return EPDK_OK; case GUI_MSG_KEY: /* 按键响应 */if( msg->dwAddData1 == GUI_MSG_KEY_ESCAPE ){GUI_ManWinDelete(msg->h_deswin);dsk_load_app("main.app"); return EPDK_OK;}break;default: break;}return GUI_ManWinDefaultProc(msg);/*默认处理流程*/
}        
12.5.1.4. 创建图层

此图层为应用程序显示区域,设置显示矩形区域位置和大小,设置区域格式为 ARGB 或者其他。图层成功创建完毕后将会返回图层句柄。

static H_LYR test_app_32bpp_layer_create(RECT *LayerRect)
{H_LYR layer = NULL;RECT LayerRect;FB fb ={{0, 0}, /* size */{0, 0, 0}, /* buffer */{FB_TYPE_RGB, {PIXEL_COLOR_ARGB8888, 0, (__rgb_seq_t)0}}, /* fmt */};__disp_layer_para_t lstlyr ={DISP_LAYER_WORK_MODE_NORMAL, /* mode */0, /* ck_mode */0, /* alpha_en */0, /* alpha_val */1, /* pipe */0xff, /* prio */{0, 0, 0, 0}, /* screen */{0, 0, 0, 0}, /* source */DISP_LAYER_OUTPUT_CHN_DE_CH1, /* channel */NULL /* fb */};__layerwincreate_para_t lyrcreate_info ={ "APP_TEST", NULL, GUI_LYRWIN_STA_SUSPEND, GUI_LYRWIN_NORMAL};fb.size.width = LayerRect->width;fb.size.height = LayerRect->height;fb.fmt.fmt.rgb.pixelfmt = PIXEL_COLOR_ARGB8888;lstlyr.src_win.x = LayerRect->x;lstlyr.src_win.y = LayerRect->y;lstlyr.src_win.width = LayerRect->width;lstlyr.src_win.height = LayerRect->height;lstlyr.scn_win.x = LayerRect->x;lstlyr.scn_win.y = LayerRect->y;lstlyr.scn_win.width = LayerRect->width;lstlyr.scn_win.height = LayerRect->height;lstlyr.pipe = 1;lstlyr.fb = &fb;lyrcreate_info.lyrpara = &lstlyr;layer = GUI_LyrWinCreate(&lyrcreate_info);if( !layer ){ __err("test app layer create error !\n");}return layer;
}        
12.5.1.5. 创建 framewin

Framewin 需要传入创建的图层句柄,以操作图层。主要工作是绘图,如创建窗口绘图、按键或触摸改变焦点绘图等。这些工作在回调中实现。另外可以传入一些用户自定义结构体数据,即framewin_para.attr参数。

static H_WIN test_app_framewin_create(H_WIN h_parent, setting_general_para_t *para)
{ __gui_framewincreate_para_t framewin_para;setting_general_para_t *general_para;FB fb;GUI_LyrWinGetFB(para->layer, &fb);eLIBs_memset(&framewin_para, 0, sizeof(__gui_framewincreate_para_t));framewin_para.name = "test_app win", framewin_para.dwExStyle = WS_EX_NONE;framewin_para.dwStyle = WS_NONE|WS_VISIBLE;framewin_para.spCaption = NULL;framewin_para.hOwner = NULL;framewin_para.id = GENERAL_MENU_ID;framewin_para.hHosting = h_parent;framewin_para.FrameWinPro= (__pGUI_WIN_CB)esKRNL_GetCallBack((__pCBK_t)htouch_frmwin_cb);framewin_para.rect.x = 0;framewin_para.rect.y = 0;framewin_para.rect.width = fb.size.width;framewin_para.rect.height = fb.size.height;framewin_para.BkColor.alpha = 0;framewin_para.BkColor.red = 0;framewin_para.BkColor.green = 0;framewin_para.BkColor.blue = 0;framewin_para.attr = NULLframewin_para.hLayer = para->layer;return (GUI_FrmWinCreate(&framewin_para));
}
12.5.1.6. 实现 framewin 消息处理回调函数

在此回调中完成图层绘制。可以在 GUI_MSG_CREATE 或 GUI_MSG_PAINT 消息中绘制应用界面,图片、文字的使用和绘制请参考第 5 章中。处理按键消息 GUI_MSG_KEY 或触摸消息 GUI_MSG_TOUCH,更新焦点等。应用程序能处理父窗口发送的 GUI_MSG_COMMAND 自定义命令,并完成相应的绘制或其他响应,此外也能发送响应结果到父窗口或其他目标窗口。

static __s32 htouch_frmwin_cb(__gui_msg_t *msg)
{ switch( msg->id ){ case GUI_MSG_CREATE: {htoutch_frmw_ctr *ctr;button_para_t *para; ctr = esMEMS_Malloc(0, sizeof(htoutch_frmw_ctr));if( !ctr ){ __err(" frmwin malloc fail \n"); return EPDK_FALSE;}eLIBs_memset(ctr, 0, sizeof(htoutch_frmw_ctr));para = &(ctr->para); ctr->focus_size =get_res_them(&(para->focus_bmp), STYLEID,ID_HELLOTOUCH_FOCUS_PIC_BMP); ctr->unfocus_size = get_res_them(&(para->unfocus_bmp), STYLEID,ID_HELLOTOUCH_UNFOCUS_PIC_BMP);para->bmp_pos.x = 0;para->bmp_pos.y = 0;htouch_static_ctl_create(msg->h_deswin, para);GUI_WinSetAddData( msg->h_deswin, (__u32)ctr); return EPDK_OK;}case GUI_MSG_DESTROY: {htoutch_frmw_ctr *ctr = (htoutch_frmw_ctr *)GUI_WinGetAddData(msg->h_deswin);free_res_them(ctr->para.focus_bmp, ctr->focus_size);free_res_them(ctr->para.unfocus_bmp, ctr->unfocus_size); esMEMS_Mfree(0, ctr); return EPDK_OK;}case GUI_MSG_CLOSE: {GUI_FrmWinDelete(msg->h_deswin); return EPDK_OK;}case GUI_MSG_COMMAND: { switch(LOSWORD(msg->dwAddData1)){ case ID_WIDGET_STATIC: { switch( HISWORD(msg->dwAddData1) ){case BN_CLICKED: { __gui_msg_t msgex; eLIBs_memset(&msgex, 0, sizeof(__gui_msg_t)); msgex.id = GUI_MSG_CLOSE; msgex.h_srcwin = 0; msgex.h_deswin = GUI_WinGetManWin(msg->h_deswin);GUI_SendNotifyMessage(&msgex);break;}}break;}}return EPDK_OK;}default: break;}return GUI_FrmWinDefaultProc(msg);
}

-. 全志相关工具和资源

-.1 全志固件镜像修改工具 ImageModify.exe 下载

在这里插入图片描述
下载地址:
固件镜像修改工具 ImageModify.exe下载 ImageModify_20230906.rar

-.2 全志固件USB刷机工具 PhoenixSuit 下载

在这里插入图片描述
下载地址:
USB刷机工具 PhoenixSuit下载 PhoenixSuit_CN_V1.1.1_20230906.rar

-.3 全志Melis2.0 用户手册.pdf下载

下载地址:
全志Melis2.0 用户手册.pdf下载 documents_20230906_melis_v2.0.rar

-.4 全志melis2.0 sdk源码库下载

下载地址:
全志melis2.0 sdk源码库下载 melis2.0-sdk-release_20230906V2.0.rar

http://www.ritt.cn/news/20813.html

相关文章:

  • 道客网站建设推广小程序危机舆情公关公司
  • 网站建设系统公司百度认证
  • 百度站长工具seo查询免费找精准客户软件
  • 手机做任务赚钱的网站有哪些长沙网站到首页排名
  • 网站建设竞争对数分析营销网
  • wordpress关闭文章评论南京seo公司哪家
  • 网站建设到本地重庆做优化的网络公司
  • 贵州软件制作seo关键词推广方式
  • 网站源码下载后怎么布置刷关键词优化排名
  • 上海工厂网站建设关键词推广优化排名如何
  • 门户站模板开鲁网站seo转接
  • 旅游网站优化方案什么是搜索引擎销售
  • 有没有做头像的网站网站链接查询
  • 制作论坛做网站seo整站优化服务教程
  • 大连龙采做网站百度电脑版官网入口
  • 深圳哪个公司做网站好app地推接单平台有哪些
  • 东莞乐从网站建设微营销推广软件
  • 手机商城网站如何找合作项目app平台
  • 做网站赚钱流程2022年适合小学生的新闻
  • 如何建设社交网站b站怎么推广
  • 二级目录 Wordpress怎么做关键词优化排名
  • 单页网站 营销合肥网络推广网络运营
  • 科技时代成都百度seo公司
  • 怎样找网站关键词挖掘机爱站网
  • 网站开发人员需要什么要求贴吧友情链接在哪
  • 只做外贸的公司网站株洲seo快速排名
  • dw做网站怎么连接gif图片营销广告网站
  • 西安网站建设技术外包销售找客户的app
  • 做耳鼻喉医院网站多少钱百度广告位
  • 重庆公司网站建设网址查询注册信息查询