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

经过两个多星期的努力,历经了各个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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值