carta
Tk_GetScreenMM(3tk)

Tk_GetScreenMM3tk

Translate between strings and screen units

Part of Tk_GetPixelsFromObj(3tk).

Usage

int

int

int

int


    


    

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.

Tcl_Obj *objPtr (in/out)

String value specifies a distance on the screen; internal rep will be modified to cache converted distance.

const char *string (in)

Same as objPtr except specification of distance is passed as a string.

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.


    


            

Overview

These procedures take as argument a specification of distance on the screen (objPtr or string) and compute the corresponding distance either in integer pixels or floating-point millimeters. In either case, objPtr or 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_GetPixelsFromObj converts the value of objPtr to the nearest even number of pixels and stores that value at *intPtr. It returns TCL_OK under normal circumstances. If an error occurs (e.g. objPtr contains a number followed by a character that is not one of the ones above) then TCL_ERROR is returned and an error message is left in interp's result if interp is not NULL. Tk_GetPixelsFromObj caches information about the return value in objPtr, which speeds up future calls to Tk_GetPixelsFromObj with the same objPtr.

Tk_GetPixels is identical to Tk_GetPixelsFromObj except that the screen distance is specified with a string instead of an object. This prevents Tk_GetPixels from caching the return value, so Tk_GetPixels is less efficient than Tk_GetPixelsFromObj.

Tk_GetMMFromObj and Tk_GetScreenMM are similar to Tk_GetPixelsFromObj and Tk_GetPixels (respectively) except that they convert the screen distance to millimeters and store a double-precision floating-point result at *doublePtr.

Keywords

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

History

  • Debian 13 (Trixie) to Debian 12 (Bookworm): the text shown here
  • Debian 11 (Bullseye) to Debian 8 (Jessie)
  • Debian 7 (Wheezy)
  • Debian 6.0 (Squeeze) to Debian 5.0 (Lenny)
  • Debian 4.0 (Etch) to Debian 3.1 (Sarge)
  • Debian 3.0 (Woody)
  • Debian 2.2 (Potato)
  • Debian 2.1 (Slink) to Debian 2.0 (Hamm)
  • Debian 1.3 (Bo) to Debian 1.1 (Buzz)

From tk8.6-doc 8.6.16-1 in Debian 13 (Trixie). Also shipped by tk9.0-doc. Parsed by carta from the page's man source.