提供一个简单的滑动菜单的数据结构

经过两个多星期的努力,历经了各个UI设计不停变动痛苦,终于完成了滑动菜单和菜单子模块的设计,简单介绍一下滑动菜单的数据结构。

typedef void (*pFun)(MM_point_struct pos);
typedef void (*pMoveFun)(S32 x, S32 y);

typedef struct MoveMenuStruct
{
 U16 menu_id;  //标志菜单,在移动时通过ID调用相应座标和函数
 S32 x;        //图片菜单的原始座标x
 S32 y;         //图片菜单的原始座标y
 S32 w;       //图片的宽度
 S32 h;       //图片的高度,原始座标加宽高用于确定触摸区域
 S32 m_x;   //移动后功能图片的座标X
 S32 m_y;   //移动后功能图片的座标Y
 S32 m_w;  //移动后功能图片的宽
 S32 m_h;  //移动后功能图片的高
 U16 img_id;    //菜单图的ID
 U16 ani_img_id;   //功能菜单的图片
 BOOL isMoving;      //是否正在移动,用于区分触摸动作是移动还是单击
 BOOL isMoved;      //菜单是否已经被移动,重画功能区时有用
 S16 z_index;      //功能菜单会重叠显示,使用该变量来区分哪个菜单被优先选中
 pMoveFun move_fun;   //移动时菜单的SHOW函数
 pFun Entry_fun;       //单击时触摸的执行函数
}MM;

typedef mmi_pen_point_struct MM_point_struct;
typedef mmi_pen_polygon_area_struct MM_AREA;

触笔的位置座标
typedef struct MoveMenuMouseStruct
{
 S16 mouse_down_x;
 S16 mouse_down_y;
 S16 mouse_move_x;
 S16 mouse_move_y;
 S16 mouse_up_x;
 S16 mouse_up_y;
 S16 mouse_op_x;
 S16 mouse_op_y;

}MMM_Pos;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值