Skip to main content
IDCompositionTransform interface

Represents a 2D transformation that can be used to modify the coordinate space of a visual subtree.

When to implement

Client applications do not implement IDCompositionTransform; custom implementations are not supported.


The IDCompositionTransform interface inherits from the IUnknown interface but does not have additional members.


The IDCompositionTransform interface is an abstract interface that represents a 2D affine transformation. Transformations affect the entire visual subtree that is rooted at the visual that the transform is associated with. A transform object can be associated with multiple visuals. When a transform object is modified, all affected visuals are recomposed to reflect the change.

Transforms operate by modifying the coordinate system for all rendering operations on a visual. For example, ordinarily a bitmap that is associated with a visual draws at position (0,0) and extends the full width and height of the bitmap. If a translation transform is applied, the bitmap draws at a position that is offset by that transform. If a scale transform is applied, the extent covered by the bitmap is affected by the scale transform. More than one transform can be simultaneously applied to a visual by using the IDCompositionDevice::CreateTransformGroup interface.


Minimum supported client

Windows 8 [desktop apps only]

Minimum supported server

Windows Server 2012 [desktop apps only]







See also