Tk_GetPixelsFromObj - translate between strings and screen units
#include <tk.h> int Tk_GetPixelsFromObj(interp, tkwin, objPtr, intPtr) int Tk_GetPixels(interp, tkwin, string, intPtr) int Tk_GetMMFromObj(interp, tkwin, objPtr, doublePtr) int Tk_GetScreenMM(interp, tkwin, string, doublePtr)
Tk_GetPixelsFromObj(3tk) Tk Library Procedures Tk_GetPixelsFromObj(3tk)
______________________________________________________________________________
NAME
Tk_GetPixelsFromObj, Tk_GetPixels, Tk_GetMMFromObj, Tk_GetScreenMM -
translate between strings and screen units
SYNOPSIS
#include <tk.h>
int
Tk_GetPixelsFromObj(interp, tkwin, objPtr, intPtr)
int
Tk_GetPixels(interp, tkwin, string, intPtr)
int
Tk_GetMMFromObj(interp, tkwin, objPtr, doublePtr)
int
Tk_GetScreenMM(interp, tkwin, string, doublePtr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error report-
ing.
Tk_Window tkwin (in) Window whose screen geometry deter-
mines the conversion between absolute
units and pixels.
Tcl_Obj *objPtr (in/out) String value specifies a distance on
the screen; internal rep will be mod-
ified 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.
______________________________________________________________________________
DESCRIPTION
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_GetPix-
elsFromObj 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 pre-
vents 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
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | runtime/tk-8 |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from https://source-
forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download.
Further information about this software can be found on the open source
community website at https://www.tcl.tk/.
Tk 8.1 Tk_GetPixelsFromObj(3tk)