Dali 3D User Interface Engine
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
Dali::Internal::FrameBufferImage Class Reference

FrameBufferImage represents a Open GL ES Frame Buffer Object It contains the result of an 'off screen' render pass of a RenderTask. More...

#include <frame-buffer-image-impl.h>

Inheritance diagram for Dali::Internal::FrameBufferImage:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::FrameBufferImage:
Collaboration graph
[legend]

Public Member Functions

 FrameBufferImage (unsigned int width, unsigned int height, Pixel::Format pixelFormat, RenderBuffer::Format bufferformat)
 Constructor which creates an uninitialized FrameBufferImage object. More...
 
 FrameBufferImage (NativeImageInterface &image)
 Constructor which creates an uninitialized FrameBufferImage object. More...
 
bool IsNativeFbo () const
 
void SetReleasePolicy (Dali::Image::ReleasePolicy releasePolicy)
 Required for backwards compatibility. More...
 
virtual void Connect ()
 Indicates that the image is used. More...
 
virtual void Disconnect ()
 Indicates that the image is not used anymore. More...
 
- Public Member Functions inherited from Dali::Internal::Image
ReleasePolicy GetReleasePolicy () const
 .3 More...
 
Dali::Image::ImageSignalTypeUploadedSignal ()
 This signal is emitted when the image data gets uploaded to GL. More...
 
ResourceId GetResourceId () const
 returns the Id used for lookups More...
 
virtual unsigned int GetWidth () const
 Get the width of the image. More...
 
virtual unsigned int GetHeight () const
 Get the height of the image. More...
 
virtual Vector2 GetNaturalSize () const
 Return the natural size of the image. More...
 
virtual void ResourceLoadingFailed (const ResourceTicket &ticket)
 Called when a resource fails to load. More...
 
virtual void ResourceLoadingSucceeded (const ResourceTicket &ticket)
 Called when a resource loads successfully. More...
 
virtual void ResourceUploaded (const ResourceTicket &ticket)
 Called when a resource is uploaded to graphics memory. More...
 
- Public Member Functions inherited from Dali::BaseObject
template<class T >
bool ConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, const T &functor)
 Connects a void() functor to a specified signal. More...
 
bool DoAction (const std::string &actionName, const Property::Map &attributes)
 Perform action on this object with the given action name and attributes. More...
 
const std::string & GetTypeName () const
 Returns the type name for the Handle. More...
 
bool GetTypeInfo (Dali::TypeInfo &info) const
 Returns the type info for the Handle. More...
 
bool DoConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functorDelegate)
 Not intended for application developers. More...
 
- Public Member Functions inherited from Dali::RefObject
void Reference ()
 Increment the object's reference count. More...
 
void Unreference ()
 Decrement the object's reference count. More...
 
int ReferenceCount ()
 Retrieve the object's reference count. More...
 

Static Public Member Functions

static FrameBufferImagePtr New (unsigned int width, unsigned int height, Pixel::Format pixelFormat, RenderBuffer::Format bufferformat)
  More...
 
static FrameBufferImagePtr New (NativeImageInterface &nativeImage)
 Create a new FrameBufferImage. More...
 
- Static Public Member Functions inherited from Dali::Internal::Image
static bool DoConnectSignal (BaseObject *object, ConnectionTrackerInterface *tracker, const std::string &signalName, FunctorDelegate *functor)
 Connects a callback function with the object's signals. More...
 

Protected Member Functions

virtual ~FrameBufferImage ()
 A reference counted object may only be deleted by calling Unreference() More...
 
- Protected Member Functions inherited from Dali::Internal::Image
virtual ~Image ()
 A reference counted object may only be deleted by calling Unreference() More...
 
 Image (ReleasePolicy releasePol=IMAGE_RELEASE_POLICY_DEFAULT)
 Constructor, with default parameters. More...
 
void Initialize ()
 Second stage initialization. More...
 
- Protected Member Functions inherited from Dali::BaseObject
 BaseObject ()
 Default constructor. More...
 
virtual ~BaseObject ()
 A reference counted object may only be deleted by calling Unreference(). More...
 
void RegisterObject ()
 Registers the object as created with the Object registry. More...
 
void UnregisterObject ()
 Unregisters the object from Object registry. More...
 
- Protected Member Functions inherited from Dali::RefObject
 RefObject ()
 Default constructor. More...
 
virtual ~RefObject ()
 RefObject is intended as a base class. More...
 
 RefObject (const RefObject &rhs)
 Copy constructor. More...
 
RefObjectoperator= (const RefObject &rhs)
 Assignment operator. More...
 

Private Attributes

NativeImageInterfacePtr mNativeImage
 
Pixel::Format mPixelFormat
 
RenderBuffer::Format mBufferFormat
 
bool mIsNativeFbo
 

Additional Inherited Members

- Protected Attributes inherited from Dali::Internal::Image
ResourceTicketPtr mTicket
 smart pointer to the ticket object that gets completed when load finishes More...
 
unsigned int mWidth
 natural width of the image, needs to be mutable for lazy resolving and as the API for GetWidth is const More...
 
unsigned int mHeight
 natural height of the image, needs to be mutable for lazy resolving and as the API for GetHeight is const More...
 
unsigned int mConnectionCount
 number of on-stage objects using this image More...
 
ReleasePolicy mReleasePolicy: 2
 2 bits is enough space More...
 

Detailed Description

FrameBufferImage represents a Open GL ES Frame Buffer Object It contains the result of an 'off screen' render pass of a RenderTask.

The FrameBufferImage can then be used for rendering to the screen. .0

Definition at line 37 of file frame-buffer-image-impl.h.

Constructor & Destructor Documentation

Dali::Internal::FrameBufferImage::FrameBufferImage ( unsigned int  width,
unsigned int  height,
Pixel::Format  pixelFormat,
RenderBuffer::Format  bufferformat 
)

Constructor which creates an uninitialized FrameBufferImage object.

Use Image::New(...) to create an initialised object. .0

Definition at line 55 of file frame-buffer-image-impl.cpp.

References height, Dali::Internal::Image::mHeight, Dali::Internal::Image::mWidth, and width.

Referenced by New().

Here is the caller graph for this function:

Dali::Internal::FrameBufferImage::FrameBufferImage ( NativeImageInterface image)

Constructor which creates an uninitialized FrameBufferImage object.

Use Image::New(...) to create an initialised object. .0

Definition at line 69 of file frame-buffer-image-impl.cpp.

References Dali::NativeImageInterface::GetHeight(), Dali::NativeImageInterface::GetWidth(), Dali::Internal::Image::mHeight, and Dali::Internal::Image::mWidth.

Here is the call graph for this function:

Dali::Internal::FrameBufferImage::~FrameBufferImage ( )
protectedvirtual

A reference counted object may only be deleted by calling Unreference()

Definition at line 131 of file frame-buffer-image-impl.cpp.

Member Function Documentation

void Dali::Internal::FrameBufferImage::Connect ( )
virtual
void Dali::Internal::FrameBufferImage::Disconnect ( )
virtual

Indicates that the image is not used anymore.

Reimplemented from Dali::Internal::Image.

Definition at line 104 of file frame-buffer-image-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::Image::mConnectionCount, Dali::Internal::Image::mReleasePolicy, Dali::Internal::Image::mTicket, Dali::IntrusivePtr< T >::Reset(), and Dali::Image::UNUSED.

Here is the call graph for this function:

bool Dali::Internal::FrameBufferImage::IsNativeFbo ( ) const
Returns
true if this FBO is targeting a NativeImageInterface

Definition at line 121 of file frame-buffer-image-impl.cpp.

References mIsNativeFbo.

Referenced by Dali::Internal::RenderTask::CreateSceneObject(), and Dali::Internal::RenderTask::SetTargetFrameBuffer().

Here is the caller graph for this function:

FrameBufferImagePtr Dali::Internal::FrameBufferImage::New ( unsigned int  width,
unsigned int  height,
Pixel::Format  pixelFormat,
RenderBuffer::Format  bufferformat 
)
static

Definition at line 37 of file frame-buffer-image-impl.cpp.

References FrameBufferImage().

Referenced by Dali::FrameBufferImage::New().

Here is the call graph for this function:

Here is the caller graph for this function:

FrameBufferImagePtr Dali::Internal::FrameBufferImage::New ( NativeImageInterface nativeImage)
static

Create a new FrameBufferImage.

The maximum size of the image is limited by GL_MAX_TEXTURE_SIZE. .0

Parameters
[in]imageThe native image.
Returns
A handle to a new instance of a FrameBufferImage.
Postcondition
When the FrameBufferImage is first used as a render target, an exception may be thrown if the NativeImage cannot be mapped to a texture.

Definition at line 47 of file frame-buffer-image-impl.cpp.

References FrameBufferImage().

Here is the call graph for this function:

void Dali::Internal::FrameBufferImage::SetReleasePolicy ( Dali::Image::ReleasePolicy  releasePolicy)

Required for backwards compatibility.

Value is just stored but not used internally.

Parameters
[in]releasePolicyThe release policy (ignored as not supported).

Definition at line 126 of file frame-buffer-image-impl.cpp.

References Dali::Internal::Image::mReleasePolicy.

Member Data Documentation

RenderBuffer::Format Dali::Internal::FrameBufferImage::mBufferFormat
private

Definition at line 93 of file frame-buffer-image-impl.h.

Referenced by Connect().

bool Dali::Internal::FrameBufferImage::mIsNativeFbo
private

Definition at line 94 of file frame-buffer-image-impl.h.

Referenced by IsNativeFbo().

NativeImageInterfacePtr Dali::Internal::FrameBufferImage::mNativeImage
private

Definition at line 91 of file frame-buffer-image-impl.h.

Referenced by Connect().

Pixel::Format Dali::Internal::FrameBufferImage::mPixelFormat
private

Definition at line 92 of file frame-buffer-image-impl.h.

Referenced by Connect().


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali