SetWorldTransform function

The SetWorldTransform function sets a two-dimensional linear transformation between world space and page space for the specified device context. This transformation can be used to scale, rotate, shear, or translate graphics output.

Syntax

BOOL SetWorldTransform(
  HDC         hdc,
  CONST XFORM *lpxf
);

Parameters

hdc

A handle to the device context.

lpxf

A pointer to an XFORM structure that contains the transformation data.

Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

Remarks

For any coordinates (x, y) in world space, the transformed coordinates in page space (x', y') can be determined by the following algorithm:

x' = x * eM11 + y * eM21 + eDx, 
y' = x * eM12 + y * eM22 + eDy, 

where the transformation matrix is represented by the following:

| eM11 eM12 0 | 
| eM21 eM22 0 | 
| eDx  eDy  1 | 

This function uses logical units.

The world transformation is usually used to scale or rotate logical images in a device-independent way.

The default world transformation is the identity matrix with zero offset.

The SetWorldTransform function will fail unless the graphics mode for the given device context has been set to GM_ADVANCED by previously calling the SetGraphicsMode function. Likewise, it will not be possible to reset the graphics mode for the device context to the default GM_COMPATIBLE mode, unless the world transformation has first been reset to the default identity transformation by calling SetWorldTransform or ModifyWorldTransform.

Examples

For an example, see Using Coordinate Spaces and Transformations.

Requirements

   
Windows version Windows 2000 Professional [desktop apps only] Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wingdi.h (include Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

See Also

Coordinate Space and Transformation Functions

Coordinate Spaces and Transformations Overview

GetWorldTransform

ModifyWorldTransform

SetGraphicsMode

SetMapMode

SetViewportExtEx

SetViewportOrgEx

SetWindowExtEx

SetWindowOrgEx

XFORM