Tizen Native API
5.5
|
The AsyncImageLoader is used to load pixel data from a URL asynchronously. More...
Public Types | |
typedef Signal< void(uint32_t, PixelData) > | ImageLoadedSignalType |
Image loaded signal type. | |
Public Member Functions | |
AsyncImageLoader () | |
Constructor which creates an empty AsyncImageLoader handle. | |
~AsyncImageLoader () | |
Destructor. | |
AsyncImageLoader (const AsyncImageLoader &handle) | |
This copy constructor is required for (smart) pointer semantics. | |
AsyncImageLoader & | operator= (const AsyncImageLoader &handle) |
This assignment operator is required for (smart) pointer semantics. | |
uint32_t | Load (const std::string &url) |
Starts an image loading task. Note: When using this method, the following defaults will be used: fittingMode = FittingMode::DEFAULT samplingMode = SamplingMode::BOX_THEN_LINEAR orientationCorrection = true. | |
uint32_t | Load (const std::string &url, ImageDimensions dimensions) |
Starts an image loading task. Note: When using this method, the following defaults will be used: fittingMode = FittingMode::DEFAULT samplingMode = SamplingMode::BOX_THEN_LINEAR orientationCorrection = true. | |
uint32_t | Load (const std::string &url, ImageDimensions dimensions, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection) |
Starts an image loading task. | |
bool | Cancel (uint32_t loadingTaskId) |
Cancels an image loading task if it is still queueing in the work thread. | |
void | CancelAll () |
Cancels all the loading tasks in the queue. | |
ImageLoadedSignalType & | ImageLoadedSignal () |
Signal emitted for connected callback functions to get access to the loaded pixel data. | |
Static Public Member Functions | |
static AsyncImageLoader | New () |
Creates a new loader to load the image asynchronously in a worker thread. | |
static AsyncImageLoader | DownCast (BaseHandle handle) |
Downcasts a handle to AsyncImageLoader handle. |
The AsyncImageLoader is used to load pixel data from a URL asynchronously.
The images are loaded in a worker thread to avoid blocking the main event thread.
To keep track of the loading images, each load call is assigned an ID (which is returned by the Load() call). To know when the Load has completed, connect to the ImageLoadedSignal. This signal should be connected before Load is called (in case the signal is emitted immediately).
Load errors can be detected by checking the PixelData object is valid from within the signal handler.
Note: The PixelData object will automatically be destroyed when it leaves its scope.
Example:
class MyClass : public ConnectionTracker { public: MyCallback( uint32_t loadedTaskId, PixelData pixelData ) { // First check if the image loaded correctly. if( pixelData ) { if( loadedTaskId == mId1 ) { // use the loaded pixel data from the first image } else if( loadedTaskId == mId2 ) { // use the loaded pixel data from the second image } } } uint32_t mId1; uint32_t mId2; }; MyClass myObject; AsyncImageLoader imageLoader = AsyncImageLoader::New(); // Connect the signal here. imageLoader.ImageLoadedSignal().Connect( &myObject, &MyClass::MyCallback ); // Invoke the load calls (must do this after connecting the signal to guarantee callbacks occur). myObject.mId1 = imageLoader.Load( "first_image_url.jpg" ); myObject.mId2 = imageLoader.Load( "second_image_url.jpg" );
typedef Signal< void( uint32_t, PixelData ) > Dali::Toolkit::AsyncImageLoader::ImageLoadedSignalType |
Image loaded signal type.
Constructor which creates an empty AsyncImageLoader handle.
Use AsyncImageLoader::New() to create an initialised object.
Destructor.
This is non-virtual since derived Handle types must not contain data or virtual methods.
Dali::Toolkit::AsyncImageLoader::AsyncImageLoader | ( | const AsyncImageLoader & | handle | ) |
This copy constructor is required for (smart) pointer semantics.
[in] | handle | A reference to the copied handle |
bool Dali::Toolkit::AsyncImageLoader::Cancel | ( | uint32_t | loadingTaskId | ) |
Cancels an image loading task if it is still queueing in the work thread.
[in] | loadingTaskId | The task id returned when invoking the load call. |
Cancels all the loading tasks in the queue.
static AsyncImageLoader Dali::Toolkit::AsyncImageLoader::DownCast | ( | BaseHandle | handle | ) | [static] |
Downcasts a handle to AsyncImageLoader handle.
If the handle points to an AsyncImageLoader object, the downcast produces a valid handle. If not, the returned handle is left uninitialized.
[in] | handle | A handle to an object |
Signal emitted for connected callback functions to get access to the loaded pixel data.
A callback of the following type may be connected:
void YourCallbackName( uint32_t id, PixelData pixelData );
uint32_t Dali::Toolkit::AsyncImageLoader::Load | ( | const std::string & | url | ) |
Starts an image loading task. Note: When using this method, the following defaults will be used: fittingMode = FittingMode::DEFAULT samplingMode = SamplingMode::BOX_THEN_LINEAR orientationCorrection = true.
[in] | url | The URL of the image file to load |
uint32_t Dali::Toolkit::AsyncImageLoader::Load | ( | const std::string & | url, |
ImageDimensions | dimensions | ||
) |
Starts an image loading task. Note: When using this method, the following defaults will be used: fittingMode = FittingMode::DEFAULT samplingMode = SamplingMode::BOX_THEN_LINEAR orientationCorrection = true.
[in] | url | The URL of the image file to load |
[in] | dimensions | The width and height to fit the loaded image to |
uint32_t Dali::Toolkit::AsyncImageLoader::Load | ( | const std::string & | url, |
ImageDimensions | dimensions, | ||
FittingMode::Type | fittingMode, | ||
SamplingMode::Type | samplingMode, | ||
bool | orientationCorrection | ||
) |
Starts an image loading task.
[in] | url | The URL of the image file to load |
[in] | dimensions | The width and height to fit the loaded image to |
[in] | fittingMode | The method used to fit the shape of the image before loading to the shape defined by the size parameter |
[in] | samplingMode | The filtering method used when sampling pixels from the input image while fitting it to desired size |
[in] | orientationCorrection | Reorient the image to respect any orientation metadata in its header |
static AsyncImageLoader Dali::Toolkit::AsyncImageLoader::New | ( | ) | [static] |
Creates a new loader to load the image asynchronously in a worker thread.
AsyncImageLoader& Dali::Toolkit::AsyncImageLoader::operator= | ( | const AsyncImageLoader & | handle | ) |
This assignment operator is required for (smart) pointer semantics.
[in] | handle | A reference to the copied handle |