## NAME

Tk_GetPixels, Tk_GetScreenMM - translate between strings and screen units

## SYNOPSIS

#include <tk.h>

int Tk_GetPixels(interp, tkwin, string, intPtr)

int Tk_GetScreenMM(interp, tkwin, string, doublePtr)

## ARGUMENTS

`Tcl_Interp *interp` (in)
  Interpreter to use for error reporting.
`Tk_Window tkwin` (in)
  Window whose screen geometry determines the conversion between absolute units and pixels.
`char *string` (in)
  String that specifies a distance on the screen.
`int *intPtr` (out)
  Pointer to location in which to store converted distance in pixels.
`double *doublePtr` (out)
  Pointer to location in which to store converted distance in millimeters.

## DESCRIPTION

These two procedures take as argument a specification of distance on the screen (string) and compute the corresponding distance either in integer pixels or floating-point millimeters. In either case, string specifies a screen distance as a floating-point number followed by one of the following characters that indicates units:

<none>
  The number specifies a distance in pixels.
c
  The number specifies a distance in centimeters on the screen.
i
  The number specifies a distance in inches on the screen.
m
  The number specifies a distance in millimeters on the screen.
p
  The number specifies a distance in printer's points (1/72 inch) on the screen.

Tk_GetPixels converts string to the nearest even number of pixels and stores that value at *intPtr. Tk_GetScreenMM converts string to millimeters and stores the double-precision floating-point result at *doublePtr.

Both procedures return TCL_OK under normal circumstances. If an error occurs (e.g. string contains a number followed by a character that isn't one of the ones above) then TCL_ERROR is returned and an error message is left in interp->result.

## KEYWORDS

centimeters, convert, inches, millimeters, pixels, points, screen units