#define DALI_TOOLKIT_INTERNAL_IMAGE_VISUAL_H
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
// EXTERNAL INCLUDES
+#include <memory>
+
#include <dali/public-api/common/intrusive-ptr.h>
#include <dali/public-api/images/image.h>
#include <dali/public-api/images/image-operations.h>
* To avoid rendering garbage pixels, renderer should be added to actor after the resources are ready.
* This callback is the place to add the renderer as it would be called once the loading is finished.
*/
- virtual void UploadComplete( bool success, TextureSet textureSet, bool usingAtlas, const Vector4& atlasRectangle );
+ virtual void UploadComplete( bool success, int32_t textureId, TextureSet textureSet, bool usingAtlas, const Vector4& atlasRectangle );
private:
/**
+ * Allocate the mask data when a masking property is defined in the property map
+ */
+ void AllocateMaskData();
+
+ /**
* @brief Applies the image to the texture set used for this renderer
*
* @param[in] image The Image to apply to the texture set used for this renderer
bool IsSynchronousResourceLoading() const;
/**
- * @brief Load the resource synchronously
- */
- void LoadResourceSynchronously();
-
- /**
* Creates the texture set and adds the texture to it
* @param[out] textureRect The texture area of the texture in the atlas.
* @param[in] url The URL of the image resource to use.
private:
Image mImage;
- PixelData mPixels;
Vector4 mPixelArea;
WeakHandle<Actor> mPlacementActor;
VisualUrl mImageUrl;
- VisualUrl mAlphaMaskUrl;
+ TextureManager::MaskingDataPointer mMaskingData;
Dali::ImageDimensions mDesiredSize;
TextureManager::TextureId mTextureId;
- TextureManager::TextureId mAlphaMaskId;
Dali::FittingMode::Type mFittingMode:3;
Dali::SamplingMode::Type mSamplingMode:4;
Dali::WrapMode::Type mWrapModeU:3;
Dali::WrapMode::Type mWrapModeV:3;
- bool mAttemptAtlasing:1; ///< If true will attempt atlasing, otherwise create unique texture
- bool mTextureLoading:1; ///< True if the texture is being loaded asynchronously, or false when it has loaded.
+ bool mAttemptAtlasing; ///< If true will attempt atlasing, otherwise create unique texture
+ bool mLoadingStatus; ///< True if the texture is being loaded asynchronously, or false when it has loaded.
};
+
+
} // namespace Internal
} // namespace Toolkit