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

The TLayerImage class provides a class to store an image in a layer stack for painting applications.

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

Public Member Functions

 TLayerImage (BlockType *iBlock, const FString &iName="Untitled Image", 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 iAlphaLocked=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 TOnBlockChanged< BlockType > &iOnBlockChanged=TOnBlockChanged< BlockType >(), const FOnBlendInfoChanged &iOnBlendInfoChanged=FOnBlendInfoChanged(), const FOnBoolChanged &iOnPaintLockChanged=FOnBoolChanged())
 
 TLayerImage (const FString &iName="Untitled Image", 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 iAlphaLocked=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 TOnBlockChanged< BlockType > &iOnBlockChanged=TOnBlockChanged< BlockType >(), const FOnBlendInfoChanged &iOnBlendInfoChanged=FOnBlendInfoChanged(), const FOnBoolChanged &iOnPaintLockChanged=FOnBoolChanged())
 
 TLayerImage (const TLayerImage &)=delete
 
virtual ~TLayerImage () override
 
TLayerImageoperator= (const TLayerImage &)=delete
 
tSelfRasterize (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
 
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
 
virtual FEvent RenderImageCache (FContext &iCtx)
 
- 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 IHasPaintLock
bool IsPaintLocked () const
 
void SetPaintLocked (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
 
- 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 IHasPaintLock
 IHasPaintLock (bool i=false, const FOn_bool_Changed &d=FOn_bool_Changed())
 

Constructor & Destructor Documentation

◆ ~TLayerImage()

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

◆ TLayerImage() [1/3]

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerImage< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TLayerImage ( const FString iName = "Untitled Image",
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  iAlphaLocked = 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 TOnBlockChanged< BlockType > &  iOnBlockChanged = TOnBlockChanged< BlockType >(),
const FOnBlendInfoChanged iOnBlendInfoChanged = FOnBlendInfoChanged(),
const FOnBoolChanged iOnPaintLockChanged = FOnBoolChanged() 
)

◆ TLayerImage() [2/3]

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
TLayerImage< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TLayerImage ( BlockType *  iBlock,
const FString iName = "Untitled Image",
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  iAlphaLocked = 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 TOnBlockChanged< BlockType > &  iOnBlockChanged = TOnBlockChanged< BlockType >(),
const FOnBlendInfoChanged iOnBlendInfoChanged = FOnBlendInfoChanged(),
const FOnBoolChanged iOnPaintLockChanged = FOnBoolChanged() 
)

◆ TLayerImage() [3/3]

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

Member Function Documentation

◆ operator=()

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

◆ Rasterize()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
tSelf* TLayerImage< 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 TLayerImage< 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

◆ StaticType()

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

◆ StaticTypeID()

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

◆ Type()

template<class BlockType , class RasterizerType , class RendererType , class BlockAllocatorType , class LayerStackType >
virtual const FString TLayerImage< 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 TLayerImage< BlockType, RasterizerType, RendererType, BlockAllocatorType, LayerStackType >::TypeID ( ) const
inlineoverridevirtual

Implements ITypeIdentifiable.