ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Member Functions | Static Public Member Functions | List of all members
TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType > Class Template Reference

The TLayerFolder class provides a class to store a folder of layers in a layer stack for painting applications.

Inheritance diagram for TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >:

Public Member Functions

 TLayerFolder (BlockType *iBlock, const FString &iName="Untitled Folder", bool iLocked=false, bool iVisible=true, const FColor &iPrettyColor=FColor::Transparent, eBlendMode iBlendMode=eBlendMode::Blend_Normal, eAlphaMode iAlphaMode=eAlphaMode::Alpha_Normal, ufloat iOpacity=1.f, bool iCollapsed=false, const TRoot< ILayer > *iParent=nullptr, const FOnNameChanged &iOnNameChanged=FOnNameChanged(), const FOnBoolChanged &iOnLockChanged=FOnBoolChanged(), const FOnBoolChanged &iOnVisibleChanged=FOnBoolChanged(), const FOnColorChanged &iOnColorChanged=FOnColorChanged(), const FOnUserDataAdded &iOnUserDataAdded=FOnUserDataAdded(), const FOnUserDataChanged &iOnUserDataChanged=FOnUserDataChanged(), const FOnUserDataRemoved &iOnUserDataRemoved=FOnUserDataRemoved(), const FOnParentChanged &iOnParentChanged=FOnParentChanged(), const FOnSelfChanged &iOnSelfChanged=FOnSelfChanged(), const FOnNodeAdded &iOnLayerAdded=FOnNodeAdded(), const FOnNodeRemoved &iOnLayerRemoved=FOnNodeRemoved(), const TOnBlockChanged< BlockType > &iOnBlockChanged=TOnBlockChanged< BlockType >(), const FOnBlendInfoChanged &iOnBlendInfoChanged=FOnBlendInfoChanged(), const FOnBoolChanged &iOnCollapseChanged=FOnBoolChanged())
 
 TLayerFolder (const FString &iName="Untitled Folder", bool iLocked=false, bool iVisible=true, const FColor &iPrettyColor=FColor::Transparent, uint16 iWidth=0, uint16 iHeight=0, eFormat iFormat=Format_RGBA8, const FColorSpace *iColorSpace=nullptr, eBlendMode iBlendMode=eBlendMode::Blend_Normal, eAlphaMode iAlphaMode=eAlphaMode::Alpha_Normal, ufloat iOpacity=1.f, bool iCollapsed=false, const TRoot< ILayer > *iParent=nullptr, const FOnNameChanged &iOnNameChanged=FOnNameChanged(), const FOnBoolChanged &iOnLockChanged=FOnBoolChanged(), const FOnBoolChanged &iOnVisibleChanged=FOnBoolChanged(), const FOnColorChanged &iOnColorChanged=FOnColorChanged(), const FOnUserDataAdded &iOnUserDataAdded=FOnUserDataAdded(), const FOnUserDataChanged &iOnUserDataChanged=FOnUserDataChanged(), const FOnUserDataRemoved &iOnUserDataRemoved=FOnUserDataRemoved(), const FOnParentChanged &iOnParentChanged=FOnParentChanged(), const FOnSelfChanged &iOnSelfChanged=FOnSelfChanged(), const FOnNodeAdded &iOnLayerAdded=FOnNodeAdded(), const FOnNodeRemoved &iOnLayerRemoved=FOnNodeRemoved(), const TOnBlockChanged< BlockType > &iOnBlockChanged=TOnBlockChanged< BlockType >(), const FOnBlendInfoChanged &iOnBlendInfoChanged=FOnBlendInfoChanged(), const FOnBoolChanged &iOnCollapseChanged=FOnBoolChanged())
 
 TLayerFolder (const TLayerFolder &)=delete
 
virtual ~TLayerFolder () override
 
TLayerFolderoperator= (const TLayerFolder &)=delete
 
tSiblingImageRasterize (FContext &iCtx, FEvent *oEvent=nullptr) override
 
FEvent RenderImage (FContext &iCtx, BlockType &ioBlock, const FRectI &iRect=FRectI::Auto, const FVec2I &iPos=FVec2I(0), const FSchedulePolicy &iPolicy=FSchedulePolicy(), uint32 iNumWait=0, const FEvent *iWaitList=nullptr) override
 
FEvent RenderImageCache (FContext &iCtx) override
 
virtual const FString Type () const override
 
virtual const uint32 TypeID () const override
 
- Public Member Functions inherited from TAbstractLayerDrawable< BlockType >
virtual ~TAbstractLayerDrawable () override=0
 
 ILayer (const FString &iName="Untitled", bool iLocked=false, bool iVisible=true, const FColor &iPrettyColor=FColor::Transparent, const TRoot< ILayer > *iParent=nullptr, const FOnNameChanged &iOnNameChanged=FOnNameChanged(), const FOnBoolChanged &iOnLockChanged=FOnBoolChanged(), const FOnBoolChanged &iOnVisibleChanged=FOnBoolChanged(), const FOnColorChanged &iOnColorChanged=FOnColorChanged(), const FOnUserDataAdded &iOnUserDataAdded=FOnUserDataAdded(), const FOnUserDataChanged &iOnUserDataChanged=FOnUserDataChanged(), const FOnUserDataRemoved &iOnUserDataRemoved=FOnUserDataRemoved(), const FOnParentChanged &iOnParentChanged=FOnParentChanged(), const FOnSelfChanged &iOnSelfChanged=FOnSelfChanged())
 
void OnChangeNotifiedInternal () override
 
- Public Member Functions inherited from ILayer
 ILayer (const FString &iName="Untitled", bool iLocked=false, bool iVisible=true, const FColor &iPrettyColor=FColor::Transparent, const TRoot< ILayer > *iParent=nullptr, const FOnNameChanged &iOnNameChanged=FOnNameChanged(), const FOnBoolChanged &iOnLockChanged=FOnBoolChanged(), const FOnBoolChanged &iOnVisibleChanged=FOnBoolChanged(), const FOnColorChanged &iOnColorChanged=FOnColorChanged(), const FOnUserDataAdded &iOnUserDataAdded=FOnUserDataAdded(), const FOnUserDataChanged &iOnUserDataChanged=FOnUserDataChanged(), const FOnUserDataRemoved &iOnUserDataRemoved=FOnUserDataRemoved(), const FOnParentChanged &iOnParentChanged=FOnParentChanged(), const FOnSelfChanged &iOnSelfChanged=FOnSelfChanged())
 
virtual ~ILayer () override=0
 
- Public Member Functions inherited from TNode< ILayer >
 TNode (const tParent *iParent=nullptr, const TOnParentChanged< ILayer > &iParentChangedDelegate=TOnParentChanged< ILayer >(), const TOnSelfChanged< ILayer > &iSelfChangedDelegate=TOnSelfChanged< ILayer >())
 
virtual ~TNode ()
 
ILayerDef (std::function< void(ILayer &) > iFunc)
 
void NotifyChange () const
 
const tParentParent () const
 
ILayerSelf ()
 
const ILayerSelf () const
 
void SetParent (const tParent *iParent)
 
const tParentTopLevelParent () const
 
- Public Member Functions inherited from TCallbackCapable< DelegateType, _ID >
 TCallbackCapable (const DelegateType &iDelegate=DelegateType())
 
 TCallbackCapable (typename DelegateType::tFptr iDelegateFPTR)
 
const DelegateType & GetDelegate () const
 
template<typename ... Args>
void Invoke (Args ... args) const
 
void SetDelegate (const DelegateType &iDelegate)
 
void SetDelegate (const TCallbackCapable< DelegateType, _ID > &iOther)
 
void SetDelegate (typename DelegateType::tFptr iDelegateFPTR)
 
- Public Member Functions inherited from IHasUserData
void AddOrSetUserData (IUserData *iData)
 
template<class TUserData >
const TUserData * GetUserData () const
 
const IUserDataGetUserData (uint32 iTypeID) const
 
const TArray< IUserData * > & GetUserDataArray () const
 
template<class TUserData >
bool HasUserData () const
 
template<class TUserData >
void RemoveUserData ()
 
void RemoveUserData (uint32 iTypeID)
 
void ResetUserData ()
 
bool UserDataExists (uint32 iTypeID) const
 
- Public Member Functions inherited from IHasName
 IHasName (const FString &iValue, const FOnNameChanged &iDelegate=FOnNameChanged())
 
const FStringName () const
 
void SetName (const FString &iValue)
 
- Public Member Functions inherited from IHasLock
bool IsLocked () const
 
void SetLocked (bool i)
 
- Public Member Functions inherited from IHasVisibility
bool IsVisible () const
 
void SetVisible (bool i)
 
- Public Member Functions inherited from IHasPrettyColor
const FColorPrettyColor () const
 
void SetPrettyColor (const FColor &iValue)
 
- Public Member Functions inherited from TDrawable< BlockType >
virtual void InvalidImageCache ()
 
bool IsImageCacheValid () const
 
- Public Member Functions inherited from TRoot< ILayer >
 TRoot (tParent *iParent=nullptr, const TOnParentChanged< ILayer > &iParentChangedDelegate=TOnParentChanged< ILayer >(), const TOnSelfChanged< ILayer > &iSelfChangedDelegate=TOnSelfChanged< ILayer >(), const TOnNodeAdded< ILayer > &iNodeAddedDelegate=TOnNodeAdded< ILayer >(), const TOnNodeRemoved< ILayer > &iNodeRemovedDelegate=TOnNodeRemoved< ILayer >())
 
virtual ~TRoot () override
 
tSelfAddChild (tNode *iNode, uint64 iIndex=0xFFFFFFFFFFFFFFFF)
 
TArray< tNode * > & Children ()
 
const TArray< tNode * > & Children () const
 
void DeleteChild (int iIndex)
 
ILayeroperator[] (uint64 iIndex)
 
const ILayeroperator[] (uint64 iIndex) const
 
void Reset (tParent *iParent=nullptr, const TOnParentChanged< ILayer > &iParentChangedDelegate=TOnParentChanged< ILayer >(), const TOnNodeAdded< ILayer > &iNodeAddedDelegate=TOnNodeAdded< ILayer >(), const TOnNodeRemoved< ILayer > &iNodeRemovedDelegate=TOnNodeRemoved< ILayer >())
 
- Public Member Functions inherited from TSearchable< TRoot< ILayer > >
 TSearchable ()
 
virtual ~TSearchable ()=0
 
T & Find (const FString &iName)
 
const T & Find (const FString &iName) const
 
InnerType & operator[] (const FString &iStr)
 
const InnerType & operator[] (const FString &iStr) const
 
- Public Member Functions inherited from THasBlock< BlockType, BlockAllocatorType >
BlockType * Block ()
 
const BlockType * Block () const
 
- Public Member Functions inherited from IHasBlendInfo
eAlphaMode AlphaMode () const
 
eBlendMode BlendMode () const
 
ufloat Opacity () const
 
void SetAlphaMode (eAlphaMode iValue)
 
void SetBlendMode (eBlendMode iValue)
 
void SetOpacity (ufloat iValue)
 
- Public Member Functions inherited from IHasCollapse
bool IsCollapsed () const
 
void SetCollapsed (bool i)
 

Static Public Member Functions

constexpr static const char * StaticType ()
 
constexpr static const uint32 StaticTypeID ()
 

Additional Inherited Members

- Public Types inherited from TNode< ILayer >
using InnerType = ILayer
 
- Public Types inherited from TCallbackCapable< DelegateType, _ID >
using Delegate = DelegateType
 
- Public Types inherited from TRoot< ILayer >
using InnerType = ILayer
 
- Protected Member Functions inherited from IHasUserData
 IHasUserData (const FOnUserDataAdded &iDelegateAdd=FOnUserDataAdded(), const FOnUserDataChanged &iDelegateChanged=FOnUserDataChanged(), const FOnUserDataRemoved &iDelegateRemoved=FOnUserDataRemoved())
 
 IHasUserData (const IHasUserData &)=delete
 
 ~IHasUserData ()
 
IHasUserDataoperator= (const IHasUserData &)=delete
 
- Protected Member Functions inherited from IHasLock
 IHasLock (bool i=false, const FOn_bool_Changed &d=FOn_bool_Changed())
 
- Protected Member Functions inherited from IHasVisibility
 IHasVisibility (bool i=true, const FOn_bool_Changed &d=FOn_bool_Changed())
 
- Protected Member Functions inherited from IHasPrettyColor
 IHasPrettyColor (const FColor &iColor=FColor::Transparent, const FOnColorChanged &iDelegate=FOnColorChanged())
 
- Protected Member Functions inherited from TDrawable< BlockType >
 TDrawable ()
 
void ValidateImageCache ()
 
- Protected Member Functions inherited from THasBlock< BlockType, BlockAllocatorType >
 THasBlock (BlockType *iBlock, const TOnBlockChanged< BlockType > &iDelegate=TOnBlockChanged< BlockType >())
 
 THasBlock (uint16 iWidth, uint16 iHeight, eFormat iFormat=eFormat::Format_RGBA8, const FColorSpace *iColorSpace=nullptr, const TOnBlockChanged< BlockType > &iDelegate=TOnBlockChanged< BlockType >())
 
 ~THasBlock ()
 
void Realloc (uint16 iWidth, uint16 iHeight, eFormat iFormat=eFormat::Format_RGBA8, const FColorSpace *iColorSpace=nullptr)
 
void Replace (BlockType *iValue)
 
- Protected Member Functions inherited from IHasBlendInfo
 IHasBlendInfo (eBlendMode iBlendMode=Blend_Normal, eAlphaMode iAlphaMode=Alpha_Normal, ufloat iOpacity=1.f, const FOnBlendInfoChanged &iDelegate=FOnBlendInfoChanged())
 
- Protected Member Functions inherited from IHasCollapse
 IHasCollapse (bool i=false, const FOn_bool_Changed &d=FOn_bool_Changed())
 

Constructor & Destructor Documentation

◆ ~TLayerFolder()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
virtual TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::~TLayerFolder ( )
overridevirtual

◆ TLayerFolder() [1/3]

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TLayerFolder ( const FString iName = "Untitled Folder",
bool  iLocked = false,
bool  iVisible = true,
const FColor iPrettyColor = FColor::Transparent,
uint16  iWidth = 0,
uint16  iHeight = 0,
eFormat  iFormat = Format_RGBA8,
const FColorSpace iColorSpace = nullptr,
eBlendMode  iBlendMode = eBlendMode::Blend_Normal,
eAlphaMode  iAlphaMode = eAlphaMode::Alpha_Normal,
ufloat  iOpacity = 1.f,
bool  iCollapsed = false,
const TRoot< ILayer > *  iParent = nullptr,
const FOnNameChanged iOnNameChanged = FOnNameChanged(),
const FOnBoolChanged iOnLockChanged = FOnBoolChanged(),
const FOnBoolChanged iOnVisibleChanged = FOnBoolChanged(),
const FOnColorChanged iOnColorChanged = FOnColorChanged(),
const FOnUserDataAdded iOnUserDataAdded = FOnUserDataAdded(),
const FOnUserDataChanged iOnUserDataChanged = FOnUserDataChanged(),
const FOnUserDataRemoved iOnUserDataRemoved = FOnUserDataRemoved(),
const FOnParentChanged iOnParentChanged = FOnParentChanged(),
const FOnSelfChanged iOnSelfChanged = FOnSelfChanged(),
const FOnNodeAdded iOnLayerAdded = FOnNodeAdded(),
const FOnNodeRemoved iOnLayerRemoved = FOnNodeRemoved(),
const TOnBlockChanged< BlockType > &  iOnBlockChanged = TOnBlockChanged< BlockType >(),
const FOnBlendInfoChanged iOnBlendInfoChanged = FOnBlendInfoChanged(),
const FOnBoolChanged iOnCollapseChanged = FOnBoolChanged() 
)

◆ TLayerFolder() [2/3]

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TLayerFolder ( BlockType *  iBlock,
const FString iName = "Untitled Folder",
bool  iLocked = false,
bool  iVisible = true,
const FColor iPrettyColor = FColor::Transparent,
eBlendMode  iBlendMode = eBlendMode::Blend_Normal,
eAlphaMode  iAlphaMode = eAlphaMode::Alpha_Normal,
ufloat  iOpacity = 1.f,
bool  iCollapsed = false,
const TRoot< ILayer > *  iParent = nullptr,
const FOnNameChanged iOnNameChanged = FOnNameChanged(),
const FOnBoolChanged iOnLockChanged = FOnBoolChanged(),
const FOnBoolChanged iOnVisibleChanged = FOnBoolChanged(),
const FOnColorChanged iOnColorChanged = FOnColorChanged(),
const FOnUserDataAdded iOnUserDataAdded = FOnUserDataAdded(),
const FOnUserDataChanged iOnUserDataChanged = FOnUserDataChanged(),
const FOnUserDataRemoved iOnUserDataRemoved = FOnUserDataRemoved(),
const FOnParentChanged iOnParentChanged = FOnParentChanged(),
const FOnSelfChanged iOnSelfChanged = FOnSelfChanged(),
const FOnNodeAdded iOnLayerAdded = FOnNodeAdded(),
const FOnNodeRemoved iOnLayerRemoved = FOnNodeRemoved(),
const TOnBlockChanged< BlockType > &  iOnBlockChanged = TOnBlockChanged< BlockType >(),
const FOnBlendInfoChanged iOnBlendInfoChanged = FOnBlendInfoChanged(),
const FOnBoolChanged iOnCollapseChanged = FOnBoolChanged() 
)

◆ TLayerFolder() [3/3]

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TLayerFolder ( const TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType > &  )
delete

Member Function Documentation

◆ operator=()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerFolder& TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::operator= ( const TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType > &  )
delete

◆ Rasterize()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
tSiblingImage* TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::Rasterize ( FContext iCtx,
FEvent oEvent = nullptr 
)
overridevirtual

◆ RenderImage()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
FEvent TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::RenderImage ( FContext iCtx,
BlockType &  ioBlock,
const FRectI iRect = FRectI::Auto,
const FVec2I iPos = FVec2I(0),
const FSchedulePolicy iPolicy = FSchedulePolicy(),
uint32  iNumWait = 0,
const FEvent iWaitList = nullptr 
)
overridevirtual

◆ RenderImageCache()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
FEvent TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::RenderImageCache ( FContext iCtx)
overridevirtual

Reimplemented from TDrawable< BlockType >.

◆ StaticType()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
constexpr static const char* TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::StaticType ( )
inlinestaticconstexpr

◆ StaticTypeID()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
constexpr static const uint32 TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::StaticTypeID ( )
inlinestaticconstexpr

◆ Type()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
virtual const FString TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::Type ( ) const
inlineoverridevirtual

Implements ITypeIdentifiable.

◆ TypeID()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
virtual const uint32 TLayerFolder< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TypeID ( ) const
inlineoverridevirtual

Implements ITypeIdentifiable.