首页 > 代码库 > 【Cocos2d-x】源码分析之 2d/ui/UILayoutDefine.h

【Cocos2d-x】源码分析之 2d/ui/UILayoutDefine.h

#ifndef __UILAYOUTDEFINE_H__
#define __UILAYOUTDEFINE_H__

#include "cocos2d.h"

NS_CC_BEGIN

namespace ui {
/**
*控件 距离四周的间隙
*设置间隙之后 相当于控件的大小扩大了
*不会和周围控件紧挨着 有一定间距
*
*/
class Margin
{
public:
    float left;
    float top;
    float right;
    float bottom;
    
public:
    Margin();
    Margin(float l, float t, float r, float b);
    Margin(const Margin& other);
    Margin& operator= (const Margin& other);
    void setMargin(float l, float t, float r, float b);
    bool equals(const Margin& target) const;
};

const Margin MarginZero = Margin();

typedef enum
{
    LINEAR_GRAVITY_NONE,
    LINEAR_GRAVITY_LEFT,//左
    LINEAR_GRAVITY_TOP,//上
    LINEAR_GRAVITY_RIGHT,//右
    LINEAR_GRAVITY_BOTTOM,//下
    LINEAR_GRAVITY_CENTER_VERTICAL,//垂直
    LINEAR_GRAVITY_CENTER_HORIZONTAL//水平
}LinearGravity;//线性重力

typedef enum
{
    /**相对父节点对齐的 9个位置 枚举*/
    RELATIVE_ALIGN_NONE,
    RELATIVE_ALIGN_PARENT_TOP_LEFT,// 左上
    RELATIVE_ALIGN_PARENT_TOP_CENTER_HORIZONTAL,//水平 上边中部
    RELATIVE_ALIGN_PARENT_TOP_RIGHT,//右上
    RELATIVE_ALIGN_PARENT_LEFT_CENTER_VERTICAL,//垂直 左边中部
    RELATIVE_CENTER_IN_PARENT,//中心
    RELATIVE_ALIGN_PARENT_RIGHT_CENTER_VERTICAL,//垂直 右边中心
    RELATIVE_ALIGN_PARENT_LEFT_BOTTOM,//左下
    RELATIVE_ALIGN_PARENT_BOTTOM_CENTER_HORIZONTAL,//水平 底部中心
    RELATIVE_ALIGN_PARENT_RIGHT_BOTTOM,//右下
    
    /**相对兄弟节点四周对齐的 9个位置 枚举*/
    RELATIVE_LOCATION_ABOVE_LEFTALIGN,//上面 左
    RELATIVE_LOCATION_ABOVE_CENTER,//上面 中
    RELATIVE_LOCATION_ABOVE_RIGHTALIGN,//上面 右
    
    RELATIVE_LOCATION_LEFT_OF_TOPALIGN,// 左边 上
    RELATIVE_LOCATION_LEFT_OF_CENTER,//左边 中
    RELATIVE_LOCATION_LEFT_OF_BOTTOMALIGN,//左边 下
    
    RELATIVE_LOCATION_RIGHT_OF_TOPALIGN,//右边 上
    RELATIVE_LOCATION_RIGHT_OF_CENTER,//右边 中
    RELATIVE_LOCATION_RIGHT_OF_BOTTOMALIGN,// 右边 下
    
    RELATIVE_LOCATION_BELOW_LEFTALIGN,//底部 左
    RELATIVE_LOCATION_BELOW_CENTER,//底部 中
    RELATIVE_LOCATION_BELOW_RIGHTALIGN//底部 右
}RelativeAlign;//相对 对齐

}
NS_CC_END
#endif /* defined(__UILayoutDefine__) */