+ struct Transform
+ {
+ /**
+ * Default constructor ensures the visual fills the control
+ */
+ Transform();
+
+ /**
+ * Use the property map to set zero or more of the transform
+ * attributes, and sets the remaining attributes to their default
+ * values.
+ */
+ void SetPropertyMap(const Property::Map& map);
+
+ /**
+ * Add the transform attributes to the map (using integer keys)
+ */
+ void GetPropertyMap(Property::Map& map) const;
+
+ /**
+ * Update zero or more attributes from the property map.
+ */
+ void UpdatePropertyMap(const Property::Map& map);
+
+ /**
+ * Set the uniform properties onto the renderer
+ */
+ void SetUniforms(VisualRenderer renderer, Toolkit::Direction::Type direction);
+
+ /**
+ * Convert the control size and the transform attributes into the actual
+ * size of the visual.
+ */
+ Vector2 GetVisualSize(const Vector2& controlSize);
+
+ Vector2 mOffset;
+ Vector2 mSize;
+ Vector2 mExtraSize;
+ Vector4 mOffsetSizeMode;
+ Toolkit::Align::Type mOrigin;
+ Toolkit::Align::Type mAnchorPoint;
+ };