Gets a value that indicates the type of coordinate system that is used because of a transformation.
HRESULT ISVGGradientElement::get_gradientUnits(ISVGAnimatedEnumeration **p);
- The type of coordinate system that is used when a gradient is calculated.
userSpaceOnUse (0x01) The coordinate system that results from applying the transform that the ISVGGradientElement::gradientTransform property specifies to the coordinate system that is in place for gradients that are used with fill or stroke properties when it is called. objectBoundingBox (0x02) The coordinate system that results from applying the transform that the ISVGGradientElement::gradientTransform property specifies to the bounding box of the object that the gradient is applied to.
Returns S_OK if successful, or an error value otherwise.
When p is
objectBoundingBoxand the ISVGGradientElement::gradientTransform property is the identity matrix, the normal of the linear gradient is perpendicular to the gradient vector in object bounding box space. When the object's bounding box is not square, the gradient normal (which is initially perpendicular to the gradient vector within object bounding box space) might render non-perpendicular relative to the gradient vector in user space. If the gradient vector is parallel to one of the axes of the bounding box, the gradient normal remains perpendicular. This transformation occurs because of the non-uniform scaling transformation from bounding box space to user space.