4#ifndef __SLAYOUT_I__H__
5#define __SLAYOUT_I__H__
11typedef struct IWindow IWindow;
13typedef enum ORIENTATION
24 SIZE_WRAP_CONTENT = -1,
25 SIZE_MATCH_PARENT = -2,
30#define INTERFACE ILayoutParam
31DECLARE_INTERFACE_(ILayoutParam, IObject)
33 DEF_OBJ_BASE(ILayoutParam, LayoutParam)
34#include <interface/SobjectApi.h>
42 STDMETHOD_(
void, Clear)(THIS) PURE;
49 STDMETHOD_(BOOL, IsMatchParent)(CTHIS_ ORIENTATION orientation) SCONST PURE;
56 STDMETHOD_(BOOL, IsWrapContent)(CTHIS_ ORIENTATION orientation) SCONST PURE;
63 STDMETHOD_(BOOL, IsSpecifiedSize)(CTHIS_ ORIENTATION orientation) SCONST PURE;
70 STDMETHOD_(
SLayoutSize, GetSpecifiedSize)(CTHIS_ ORIENTATION orientation) SCONST PURE;
77 STDMETHOD_(
void, SetMatchParent)(THIS_ ORIENTATION orientation) PURE;
84 STDMETHOD_(
void, SetWrapContent)(THIS_ ORIENTATION orientation) PURE;
92 STDMETHOD_(
void, SetSpecifiedSize)
93 (THIS_ ORIENTATION orientation,
const SLayoutSize &layoutSize) PURE;
99 STDMETHOD_(
void *, GetRawData)(THIS) PURE;
105 STDMETHOD_(ILayoutParam *, Clone)(CTHIS) SCONST PURE;
109#define INTERFACE ILayout
110DECLARE_INTERFACE_(ILayout, IObject)
112 DEF_OBJ_BASE(ILayout, Layout)
113#include <interface/SobjectApi.h>
121 STDMETHOD_(BOOL, IsParamAcceptable)(CTHIS_
const ILayoutParam *pLayoutParam) SCONST PURE;
128 STDMETHOD_(
void, LayoutChildren)(THIS_ IWindow * pParent) PURE;
134 STDMETHOD_(ILayoutParam *, CreateLayoutParam)(CTHIS) SCONST PURE;
143 STDMETHOD_(SIZE, MeasureChildren)
144 (CTHIS_
const IWindow *pParent,
int nWidth,
int nHeight) SCONST PURE;