用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.5 KiB

5 months ago
#pragma once
#include "SLayoutSize.h"
#define POSFLAG_REFCENTER '|' //参考父窗口中心
#define POSFLAG_REFPREV_NEAR '[' //参考前一个兄弟窗口与自己近的边
#define POSFLAG_REFNEXT_NEAR ']' //参考下一个兄弟窗口与自己近的边
#define POSFLAG_REFPREV_FAR '{' //参考前一个兄弟窗口与自己远的边
#define POSFLAG_REFNEXT_FAR '}' //参考下一个兄弟窗口与自己远的边
#define POSFLAG_PERCENT '%' //采用在父窗口的百分比定义坐标
#define POSFLAG_SIZE '@' //在pos属性中定义窗口的size,只在在定义x2,y2时有效
namespace SOUI{
//坐标类型
enum PIT{
PIT_NULL=0, //无效定义
PIT_NORMAL, //锚点坐标
PIT_CENTER, //参考父窗口中心点,以"|"开始
PIT_PERCENT, //指定在父窗口坐标的中的百分比,以"%"开始
PIT_PREV_NEAR, //参考前一个兄弟窗口与自己近的边,以"["开始
PIT_NEXT_NEAR, //参考下一个兄弟窗口与自己近的边,以"]"开始
PIT_PREV_FAR, //参考前一个兄弟窗口与自己远的边,以"{"开始
PIT_NEXT_FAR, //参考下一个兄弟窗口与自己远的边,以"}"开始
PIT_SIZE, //指定窗口的宽或者高,以"@"开始
PIT_SIB_LEFT=10, //兄弟结点的left,用于X
PIT_SIB_TOP=10, //兄弟结点的top,与left相同,用于Y
PIT_SIB_RIGHT=11, //兄弟结点的right,用于X
PIT_SIB_BOTTOM=11, //兄弟结点的bottom,与right相同,用于Y
};
struct POS_INFO
{
PIT pit; /**<坐标类型 */
int nRefID; /**<根据ID引用兄弟窗口时使用的ID,-1代表不参考特定ID的兄弟,使用ID引用的格式为"sib.left@200:10"类似的格式 */
char cMinus; /**<定义的值包含"-", 由于-0不能直接做nPos表示,需要一个单独的标志位 */
SLayoutSize nPos; /**<坐标值*/
};
struct SouiLayoutParamStruct
{
int nCount; /**< 定义的坐标个数 */
POS_INFO posLeft,posRight; /**< 由pos属性定义的值, nCount >0 时有效*/
POS_INFO posTop,posBottom; /**< 由pos属性定义的值, nCount >0 时有效*/
float fOffsetX,fOffsetY; /**< 窗口坐标偏移量, x += fOffsetX * width, y += fOffsetY * height */
SLayoutSize width; /**<使用width属性定义的宽 nCount==0 时有效*/
SLayoutSize height; /**<使用height属性定义的高 nCount==0 时有效*/
};
}