Gorgon Game Engine
basic_MaskedObjectProvider< A_ > Class Template Reference

This object creates a masked object from two graphics object. More...

Public Types

using AnimationType = typename A_::AnimationType
 

Public Member Functions

 basic_MaskedObjectProvider ()=default
 Empty constructor. More...
 
 basic_MaskedObjectProvider (A_ &&base, A_ &&mask)
 
 basic_MaskedObjectProvider (A_ &base, A_ &mask)
 Filling constructor. More...
 
 basic_MaskedObjectProvider (A_ *base, A_ *mask)
 Filling constructor, nullptr is allowed but not recommended. More...
 
 basic_MaskedObjectProvider (basic_MaskedObjectProvider &&other)
 
 ~basic_MaskedObjectProvider ()
 
basic_MaskedObject< A_ > & CreateAnimation (bool create=true) const override
 
basic_MaskedObject< A_ > & CreateAnimation (Gorgon::Animation::ControllerBase &timer) const override
 
RectangularAnimationCreateBase () const override
 Creates a base animation without controller. More...
 
RectangularAnimationCreateMask () const override
 Creates a mask animation without controller. More...
 
A_ * GetBase () const
 Returns the base component. Could return nullptr. More...
 
A_ * GetMask () const
 Returns the mask component. Could return nullptr. More...
 
Geometry::Size GetSize () const override
 
virtual auto MoveOutProvider () -> decltype(*this) override
 
void OwnProviders ()
 Assumes the ownership of the providers. More...
 
void Prepare ()
 Prepares the providers. More...
 
void SetBase (A_ *value)
 Sets the base provider, ownership semantics will not be changed. More...
 
void SetMask (A_ *value)
 Sets the mask provider, ownership semantics will not be changed. More...
 
void SetProviders (A_ &base, A_ &mask)
 Sets the providers in this object. More...
 

Detailed Description

template<class A_>
class Gorgon::Graphics::basic_MaskedObjectProvider< A_ >

This object creates a masked object from two graphics object.

Member Typedef Documentation

◆ AnimationType

using AnimationType = typename A_::AnimationType

Constructor & Destructor Documentation

◆ basic_MaskedObjectProvider() [1/5]

Empty constructor.

◆ basic_MaskedObjectProvider() [2/5]

basic_MaskedObjectProvider ( A_ &  base,
A_ &  mask 
)

Filling constructor.

◆ basic_MaskedObjectProvider() [3/5]

basic_MaskedObjectProvider ( A_ *  base,
A_ *  mask 
)

Filling constructor, nullptr is allowed but not recommended.

◆ basic_MaskedObjectProvider() [4/5]

basic_MaskedObjectProvider ( A_ &&  base,
A_ &&  mask 
)

◆ basic_MaskedObjectProvider() [5/5]

◆ ~basic_MaskedObjectProvider()

Member Function Documentation

◆ CreateAnimation() [1/2]

basic_MaskedObject<A_>& CreateAnimation ( bool  create = true) const
override

◆ CreateAnimation() [2/2]

basic_MaskedObject<A_>& CreateAnimation ( Gorgon::Animation::ControllerBase timer) const
override

◆ CreateBase()

RectangularAnimation& CreateBase ( ) const
override

Creates a base animation without controller.

References EmptyImage::Instance().

◆ CreateMask()

RectangularAnimation& CreateMask ( ) const
override

Creates a mask animation without controller.

References EmptyImage::Instance().

◆ GetBase()

A_* GetBase ( ) const

Returns the base component. Could return nullptr.

◆ GetMask()

A_* GetMask ( ) const

Returns the mask component. Could return nullptr.

◆ GetSize()

Geometry::Size GetSize ( ) const
override

◆ MoveOutProvider()

virtual auto MoveOutProvider ( ) -> decltype(*this)
overridevirtual

◆ OwnProviders()

void OwnProviders ( )

Assumes the ownership of the providers.

◆ Prepare()

void Prepare ( )

Prepares the providers.

Provider type should support this operation, otherwise this function will cause a compile time error.

◆ SetBase()

void SetBase ( A_ *  value)

Sets the base provider, ownership semantics will not be changed.

◆ SetMask()

void SetMask ( A_ *  value)

Sets the mask provider, ownership semantics will not be changed.

◆ SetProviders()

void SetProviders ( A_ &  base,
A_ &  mask 
)

Sets the providers in this object.


The documentation for this class was generated from the following file: