SetMapMode

SetMapMode function

The SetMapMode function sets the mapping mode of the specified device context. The mapping mode defines the unit of measure used to transform page-space units into device-space units, and also defines the orientation of the device's x and y axes.

Syntax


int SetMapMode(
  _In_ HDC hdc,
  _In_ int fnMapMode
);

Parameters

hdc [in]

A handle to the device context.

fnMapMode [in]

The new mapping mode. This parameter can be one of the following values.

ValueMeaning
MM_ANISOTROPIC

Logical units are mapped to arbitrary units with arbitrarily scaled axes. Use the SetWindowExtEx and SetViewportExtEx functions to specify the units, orientation, and scaling.

MM_HIENGLISH

Each logical unit is mapped to 0.001 inch. Positive x is to the right; positive y is up.

MM_HIMETRIC

Each logical unit is mapped to 0.01 millimeter. Positive x is to the right; positive y is up.

MM_ISOTROPIC

Logical units are mapped to arbitrary units with equally scaled axes; that is, one unit along the x-axis is equal to one unit along the y-axis. Use the SetWindowExtEx and SetViewportExtEx functions to specify the units and the orientation of the axes. Graphics device interface (GDI) makes adjustments as necessary to ensure the x and y units remain the same size (When the window extent is set, the viewport will be adjusted to keep the units isotropic).

MM_LOENGLISH

Each logical unit is mapped to 0.01 inch. Positive x is to the right; positive y is up.

MM_LOMETRIC

Each logical unit is mapped to 0.1 millimeter. Positive x is to the right; positive y is up.

MM_TEXT

Each logical unit is mapped to one device pixel. Positive x is to the right; positive y is down.

MM_TWIPS

Each logical unit is mapped to one twentieth of a printer's point (1/1440 inch, also called a twip). Positive x is to the right; positive y is up.

 

Return value

If the function succeeds, the return value identifies the previous mapping mode.

If the function fails, the return value is zero.

Remarks

The MM_TEXT mode allows applications to work in device pixels, whose size varies from device to device.

The MM_HIENGLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC, and MM_TWIPS modes are useful for applications drawing in physically meaningful units (such as inches or millimeters).

The MM_ISOTROPIC mode ensures a 1:1 aspect ratio.

The MM_ANISOTROPIC mode allows the x-coordinates and y-coordinates to be adjusted independently.

Examples

For an example, see Using Coordinate Spaces and Transformations.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Wingdi.h (include Windows.h)

Library

Gdi32.lib

DLL

Gdi32.dll

See also

Coordinate Spaces and Transformations Overview
Coordinate Space and Transformation Functions
GetMapMode
SetViewportExtEx
SetViewportOrgEx
SetWindowExtEx
SetWindowOrgEx

 

 

Community Additions

ADD
Show:
© 2016 Microsoft