6#ifndef _ZFI_ZFProtocolZFUIView_h_
7#define _ZFI_ZFProtocolZFUIView_h_
40 ,
ZF_IN void *nativeView
72 ,
ZF_IN void *nativeImplViewOld
196 ,
ZF_IN void *nativeView
225 uiEvent->_ZFP_ZFUIEvent_eventOnApplyScaleReversely(view->UIScaleFixed());
226 view->viewEventSend(uiEvent);
#define zffinal
dummy macro shows that a method or class is designed must not to be overrided
Definition ZFCoreTypeDef_ClassType.h:63
#define zfpurevirtual
dummy macro shows that a method is pure virtual method
Definition ZFCoreTypeDef_ClassType.h:68
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_OUT
dummy macro that shows the param used as required output
Definition ZFCoreTypeDef_ClassType.h:188
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
_zft_zffloat zffloat
same as float, see zfindex
Definition ZFCoreTypeDef_CoreType.h:183
#define zffalse
bool false type
Definition ZFCoreTypeDef_CoreType.h:111
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
protocol definitions for ZFFramework
#define ZFPROTOCOL_INTERFACE_END(ModuleName)
for more information, please refer to ZFPROTOCOL_INTERFACE_BEGIN
Definition ZFProtocol.h:414
#define ZFPROTOCOL_INTERFACE_BEGIN(ZFLIB_, ModuleName)
declare a protocol interface for ZFFramework
Definition ZFProtocol.h:408
#define ZFLIB_ZFUIKit
used to export symbols
Definition ZFUIKitDef.h:16
_zft_ZFUIColor ZFUIColor
color with AARRGGBB format
Definition ZFUITypeDef.h:1184
ZFUIRect ZFUIRectApplyScaleReversely(const ZFUIRect &rect, zffloat scale)
return a scaled rect reversely
Definition ZFUITypeDef.h:859
base class of all UI views
v_ZFUIViewChildLayer::ZFEnumType ZFUIViewChildLayer
see v_ZFUIViewChildLayer
Definition ZFUIViewType.h:511
virtual void viewUIEnable(ZFUIView *view, zfbool viewUIEnable)=0
see ZFUIView
virtual void nativeImplViewFrame(ZFUIView *view, const ZFUIRect &rect)=0
see ZFUIView::nativeImplViewMarginUpdate
void notifyUIEvent(ZFUIView *view, ZFUIEvent *uiEvent)
implementation must notify when UI event occurred
Definition ZFProtocolZFUIView.h:221
void notifyLayoutView(ZFUIView *view, const ZFUIRect &rect)
implementations must notify when need layout if view's parent isn't ZFUIView
Definition ZFProtocolZFUIView.h:208
virtual void nativeViewCacheOnRestore(ZFUIView *view, void *nativeView)
see nativeViewCacheOnSave
Definition ZFProtocolZFUIView.h:38
virtual void bgColor(ZFUIView *view, const ZFUIColor &bgColor)=0
see ZFUIView
virtual void visible(ZFUIView *view, zfbool visible)=0
see ZFUIView
virtual void layoutRequest(ZFUIView *view)=0
called by ZFUIView to notify the implementation that the view needs layout
virtual zffloat UIScaleForPixel(void *nativeView)=0
get proper scale for physical pixel
virtual void viewFrame(ZFUIView *view, const ZFUIRect &rect)=0
set view's frame, no need to worry about layout param or auto resizing
virtual void childRemoveAllForDealloc(ZFUIView *parent)=0
called to remove all children during parent dealloc for performance
virtual void nativeViewDestroy(void *nativeView)=0
called when a ZFUIView destroyed, the internal nativeView could be accessed by ZFUIView....
virtual void alpha(ZFUIView *view, zffloat alpha)=0
see ZFUIView
virtual void childRemove(ZFUIView *parent, ZFUIView *child, zfindex virtualIndex, ZFUIViewChildLayer childLayer, zfindex childLayerIndex)=0
remove view, no need to worry about layout param or ZFUIView's internal views
virtual zfbool nativeViewCacheOnSave(void *nativeView)
called to save native view cache
Definition ZFProtocolZFUIView.h:32
virtual void viewUIEnableTree(ZFUIView *view, zfbool viewUIEnableTree)=0
see ZFUIView
virtual zffloat UIScaleForImpl(void *nativeView)=0
get proper scale for the view
virtual void measureNativeView(ZFUISize &ret, void *nativeView, const ZFUISize &sizeHint)=0
measure a native view, only called by ZFUINativeViewWrapper
virtual void child(ZFUIView *parent, ZFUIView *child, zfindex virtualIndex, ZFUIViewChildLayer childLayer, zfindex childLayerIndex)=0
add view, no need to worry about layout param or internal views
virtual void mouseHoverEnable(ZFUIView *view, zfbool mouseHoverEnable)
see ZFUIView
Definition ZFProtocolZFUIView.h:120
virtual void * nativeViewCreate(ZFUIView *view)=0
called when a ZFUIView created, to register native view to ZFUIView
virtual void nativeImplView(ZFUIView *view, void *nativeImplViewOld, void *nativeImplView, zfindex virtualIndex, zfbool nativeImplViewRequireVirtualIndex)=0
attach a native view to this view, see ZFUINativeViewWrapper
base class of all ui event
Definition ZFUIEvent.h:15
2D rectangle
Definition ZFUITypeDef.h:636
2D size
Definition ZFUITypeDef.h:397
base class of all UI views
Definition ZFUIView.h:93