---
name: "XmConvertUnits"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmConvertUnits"
---

# XmConvertUnits(3)

A function that converts a value in one unit type to another unit type

## NAME

**XmConvertUnits** — A function that converts a value in one unit type to another unit type

## SYNOPSIS

```
#include <Xm/Xm.h>
int XmConvertUnits(
Widget widget,
int orientation,
int from_unit_type,
int from_value,
int to_unit_type);
```

## DESCRIPTION

**XmConvertUnits** converts the value and returns it as the return value from the function. For resources of type, dimension, or position, you can specify units using the syntax described in the **XmNunitType** resource of the **XmPrimitive** reference page.

- *widget*

  Specifies the widget for which the data is to be converted.

- *orientation*

  Specifies whether the converter uses the horizontal or vertical screen resolution when performing the conversions. The *orientation* parameter can have values of **XmHORIZONTAL** or **XmVERTICAL**.

- *from\_unit\_type*

  Specifies the current unit type of the supplied value

- *from\_value*

  Specifies the value to be converted

- *to\_unit\_type*

  Converts the value to the unit type specified

The parameters *from\_unit\_type* and *to\_unit\_type* can have the following values:

- **XmPIXELS**

  All values provided to the widget are treated as pixel values. This is the default for the resource.

- **XmMILLIMETERS**

  All values provided to the widget are treated as millimeter values.

- **Xm100TH\_MILLIMETERS**

  All values provided to the widget are treated as 1/100 of a millimeter.

- **XmCENTIMETERS**

  All values provided to the widget are treated as centimeter values.

- **XmINCHES**

  All values provided to the widget are treated as inch values.

- **Xm1000TH\_INCHES**

  All values provided to the widget are treated as 1/1000 of an inch.

- **XmPOINTS**

  All values provided to the widget are treated as point values. A point is a unit used in text processing applications and is defined as 1/72 of an inch.

- **Xm100TH\_POINTS**

  All values provided to the widget are treated as 1/100 of a point. A point is a unit typically used in text processing applications and is defined as 1/72 of an inch.

- **XmFONT\_UNITS**

  All values provided to the widget are treated as normal font units. A font unit has horizontal and vertical components. These are the values of the XmScreen resources **XmNhorizontalFontUnit** and **XmNverticalFontUnit**.

- **Xm100TH\_FONT\_UNITS**

  All values provided to the widget are treated as 1/100 of a font unit. A font unit has horizontal and vertical components. These are the values of the XmScreen resources **XmNhorizontalFontUnit** and **XmNverticalFontUnit**.

## RETURN

Returns the converted value. If a NULL widget, incorrect *orientation*, or incorrect *unit\_type* is supplied as parameter data, 0 (zero) is returned.

## RELATED

**XmPrimitive**, [**XmSetFontUnits**(3)](/XmSetFontUnits/3.md), and [**XmScreen**(3)](/XmScreen/3.md).
