移植中国象棋到展讯6530平台(3)-----c目录中相关文件的源码
来源:互联网 发布:算法竞赛入门经典txt 编辑:程序博客网 时间:2024/04/28 17:43
其中 c 目录中就一个文件mmishopping_chess_wintab.c,其中部分代码如下(对外接口是函数MMISHOPPING_OpenChessWin):
LOCAL MMI_RESULT_E HandleShoppingChessWin( MMI_WIN_ID_T win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param);WINDOW_TABLE( MAINMENU_SHOPPING_CHESS_WIN_TAB ) = { WIN_FUNC( (uint32)HandleShoppingChessWin ), WIN_ID( MMISHOPPING_CHESS_WIN_ID ), END_WIN};PUBLIC BOOLEAN MMISHOPPING_OpenChessWin(void){ return (MMK_CreateWin((uint32*)MAINMENU_SHOPPING_CHESS_WIN_TAB,PNULL));}LOCAL MMI_RESULT_E HandleShoppingChessWin( MMI_WIN_ID_T win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param){ LOCAL GUI_POINT_T point[8] = {0}; MMI_RESULT_E recode = MMI_RESULT_TRUE; GUI_LCD_DEV_INFO lcd_dev_info = {GUI_MAIN_LCD_ID,GUI_BLOCK_MAIN}; GUI_RECT_T full_rect = MMITHEME_GetFullScreenRect(); LOCAL BOOLEAN is_first_move = FALSE; switch(msg_id) { case MSG_OPEN_WINDOW: //CreateShoppingChesswinLayer(&Shopping_Chesswin_Bg_Layer,TRUE,TRUE); //CreateShoppingChesswinLayer(&Shopping_Chesswin_Fg_Layer,FALSE,FALSE); //CreateShoppingChesswinLayer(&Shopping_Chesswin_TpMove_Layer,FALSE,FALSE); Shopping_Chesswin_Bg_Layer = CreateShoppingChesswinBgLayer(); Shopping_Chesswin_Fg_Layer = CreateShoppingChesswinFgLayer(); Shopping_Chesswin_TpMove_Layer = CreateShoppingChesswinTpMoveLayer(); ShoppingChesswinAppendLayer(&Shopping_Chesswin_Bg_Layer,UILAYER_LEVEL_NORMAL); ShoppingChesswinAppendLayer(&Shopping_Chesswin_Fg_Layer,UILAYER_LEVEL_NORMAL); ShoppingChesswinAppendLayer(&Shopping_Chesswin_TpMove_Layer,UILAYER_LEVEL_NORMAL); UILAYER_BltLayerToLayer(&lcd_dev_info,&Shopping_Chesswin_Bg_Layer,&full_rect,TRUE); UILAYER_BltLayerToLayer(&lcd_dev_info,&Shopping_Chesswin_Fg_Layer,&full_rect,TRUE); UILAYER_BltLayerToLayer(&lcd_dev_info,&Shopping_Chesswin_TpMove_Layer,&full_rect,TRUE); DisplayShoppingChesswinBgLayer(); ShoppingChessEveluationInit(); ShoppingChesswinInit(win_id); //人开局走棋 ShoppingChessDisplayInfo(TXT_MAN_GO_NOW); break; case MSG_TP_PRESS_DOWN: HandleShoppingChessTpDownMSG(win_id,param); is_first_move = TRUE; //此参数用来清掉move时选中处的显示区域 break; case MSG_TP_PRESS_MOVE: HandleShoppingChessTpMoveMSG(win_id,param,is_first_move); is_first_move = FALSE; break; case MSG_TP_PRESS_UP: HandleShoppingChessTpUpMSG(win_id,param); if(is_man_go_done) { is_man_go_done = FALSE; if(ShoppingChessWhoIsWin(&Chessman.m_ChessBoard) == MAN_WIN) { ShoppingChessDisplayInfo(TXT_MAN_WIN); } else { //对话框显示"现在计算机在走" ShoppingChessDisplayInfo(TXT_COM_GO_NOW); MMK_PostMsg(win_id,SHOPPING_CHESS_COM_MOVE_MSG,PNULL,PNULL); } } break; case SHOPPING_CHESS_MAN_MOVE_MSG: //对话框显示"现在该你走" if(ShoppingChessWhoIsWin(&Chessman.m_ChessBoard) == COM_WIN) { ShoppingChessDisplayInfo(TXT_MAN_LOSE); } else { ShoppingChessDisplayInfo(TXT_MAN_GO_NOW); } break; case SHOPPING_CHESS_COM_MOVE_MSG: //这里计算机走子;需考虑算法等...... ShoppingChessSearchAGoodMove(&Chessman.m_ChessBoard); RefreshShoppingChesswinFgLayer(win_id); MMK_PostMsg(win_id,SHOPPING_CHESS_MAN_MOVE_MSG,PNULL,PNULL); break; case MSG_GET_FOCUS: ShoppingChesswinAppendLayer(&Shopping_Chesswin_Fg_Layer,UILAYER_LEVEL_NORMAL); ShoppingChesswinAppendLayer(&Shopping_Chesswin_TpMove_Layer,UILAYER_LEVEL_NORMAL); UILAYER_BltLayerToLayer(&lcd_dev_info,&Shopping_Chesswin_Fg_Layer,&full_rect,TRUE); UILAYER_BltLayerToLayer(&lcd_dev_info,&Shopping_Chesswin_TpMove_Layer,&full_rect,TRUE); RefreshShoppingChesswinFgLayer(win_id); break; case MSG_CTL_PENOK: case MSG_CTL_MIDSK: case MSG_APP_WEB: case MSG_CTL_OK: case MSG_APP_OK: break; case MSG_TIMER: break; case MSG_APP_CANCEL: case MSG_CTL_CANCEL: MMK_CloseWin(win_id); break; default: recode = MMI_RESULT_FALSE; break; } return recode;}
这里就不贴源码了 需要的同学可以留言留下邮箱我把整个文件打包发给大家
- 移植中国象棋到展讯6530平台(3)-----c目录中相关文件的源码
- 移植中国象棋到展讯6530平台(2)-----h目录中相关文件的源码
- 移植中国象棋到展讯6530平台(1)-----总体概述
- asp中DLL文件的平台移植
- 中国象棋源码
- eclipse中建立源码存在的文件目录
- 中国象棋中隐藏的秘密
- 分享网上找到的一个中国象棋源码
- 【原创】linux内核移植的相关文件
- alsa音频相关文件的移植
- alsa音频相关文件的移植
- Qt中与文件目录相关操作
- Qt中与文件目录相关操作
- U-boot移植 (v2012.04.1 S3C2440平台) (一) 平台相关文件修改
- Objective C在目录中查找指定的文件
- 【C#】C#中遍历文件夹下的目录文件
- Android 中Goolgle 相关服务的移植
- [C/C++标准库]_[初级]_[获取文件的所在目录跨平台实现]
- oradebug简单练习
- JAVA NIO 简介
- java中paint方法与draw方法有什么不同
- iis7/iis7.5二级域名配置最新最简单方法
- openfire-spark 添加联系人默认组修改为中文
- 移植中国象棋到展讯6530平台(3)-----c目录中相关文件的源码
- C++读写ini配置文件
- android WIFI定位和基站定位实现
- iOS伪亮度调节/控制
- linux 等待队列
- /boot/grub2/grub.cfg
- 关得紧紧的 FreeEIM飞鸽传书
- 推荐一个前端效果的网站,国外的
- 和菜鸟一起学android4.0.3源码之wifi direct的简单分析