用于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.
 
 
 
 
 
 

44 lines
1.3 KiB

/*
SOUI窗口布局接口
*/
#pragma once
#include <sobject/sobject-i.h>
namespace SOUI{
class SWindow;
class SLayoutSize;
enum ORIENTATION{
Horz,Vert,Any,Both,
};
enum{
SIZE_UNDEF = -3,
SIZE_WRAP_CONTENT=-1,
SIZE_MATCH_PARENT=-2,
SIZE_SPEC = 0,
};
struct ILayoutParam :IObjRef, IObject
{
virtual void Clear() = 0;
virtual bool IsMatchParent(ORIENTATION orientation) const = 0;
virtual bool IsWrapContent(ORIENTATION orientation) const = 0;
virtual bool IsSpecifiedSize(ORIENTATION orientation) const = 0;
virtual SLayoutSize GetSpecifiedSize(ORIENTATION orientation) const = 0;
virtual void SetMatchParent(ORIENTATION orientation) = 0;
virtual void SetWrapContent(ORIENTATION orientation) = 0;
virtual void SetSpecifiedSize(ORIENTATION orientation, const SLayoutSize& layoutSize) = 0;
virtual void * GetRawData() = 0;
virtual ILayoutParam * Clone() const = 0;
};
struct SOUI_EXP ILayout : IObject , IObjRef{
virtual bool IsParamAcceptable(ILayoutParam *pLayoutParam) const = 0;
virtual void LayoutChildren(SWindow * pParent) = 0;
virtual ILayoutParam * CreateLayoutParam() const = 0;
virtual CSize MeasureChildren(const SWindow * pParent,int nWidth,int nHeight) const =0;
};
}