*
* The following properties are optional
*
- * | %Property Name | Type |
- * |--------------------|------------------|
- * | url | STRING |
- * | fittingMode | STRING |
- * | samplingMode | STRING |
- * | desiredWidth | INT |
- * | desiredHeight | INT |
- * | synchronousLoading | BOOLEAN |
+ * | %Property Name | Type |
+ * |--------------------|-------------------|
+ * | url | STRING |
+ * | fittingMode | INTEGER OR STRING |
+ * | samplingMode | INTEGER OR STRING |
+ * | desiredWidth | INTEGER |
+ * | desiredHeight | INTEGER |
+ * | synchronousLoading | BOOLEAN |
+ * | pixelArea | VECTOR4 |
+ * | wrapModeU | INTEGER OR STRING |
+ * | wrapModeV | INTEGER OR STRING |
+ *
+ * where pixelArea is a rectangular area.
+ * In its Vector4 value, the first two elements indicate the top-left position of the area,
+ * and the last two elements are the area width and height respectively.
+ * If not specified, the default value is [0.0, 0.0, 1.0, 1.0], i.e. the entire area of the image.
+ *
+ * where wrapModeU and wrapModeV separately decide how the texture should be sampled when the u and v coordinate exceeds the range of 0.0 to 1.0.
+ * Its value should be one of the following wrap mode:
+ * "DEFAULT"
+ * "CLAMP_TO_EDGE"
+ * "REPEAT"
+ * "MIRRORED_REPEAT"
*
* where imageFittingMode should be one of the following fitting modes:
* "SHRINK_TO_FIT"
*/
virtual void DoCreatePropertyMap( Property::Map& map ) const;
+ /**
+ * @copydoc Visual::Base::CreateInstancePropertyMap
+ */
+ virtual void DoCreateInstancePropertyMap( Property::Map& map ) const;
+
protected:
/**
void SetTextureRectUniform( const Vector4& textureRect );
/**
- * Clean the renderer from cache, and remove the image from atlas if it is not used anymore
+ * Remove the image from atlas if it is not used anymore.
+ */
+ void RemoveFromAtlas(const std::string& url);
+
+ /**
+ * Helper method to set individual values by index key.
+ * @param[in] index The index key of the value
+ * @param[in] value The value
*/
- void CleanCache(const std::string& url);
+ void DoSetProperty( Property::Index index, const Property::Value& value );
private: