Home › Tk Library Procedures Tk
Tk_GetPixelsFromObj C API
Translate between strings and screen units
Also documents Tk_GetPixels, Tk_GetMMFromObj, Tk_GetScreenMM, Tk_GetDoublePixelsFromObj
literal type exactly as shown
argument replace with your value
?optional? may be omitted
Synopsis#
#include <tk.h>
int Tk_GetPixelsFromObj(interp, tkwin, objPtr, intPtr)#
int Tk_GetDoublePixelsFromObj(interp, tkwin, objPtr, doublePtr)#
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 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.
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_GetPixelsFromObjconverts the value of objPtr to the nearest even number of pixels and stores that value at *intPtr. It returnsTCL_OKunder normal circumstances. If an error occurs (e.g. objPtr contains a number followed by a character that is not one of the ones above) thenTCL_ERRORis returned and an error message is left in interp's result if interp is not NULL.Tk_GetPixelsFromObjcaches information about the return value in objPtr, which speeds up future calls toTk_GetPixelsFromObjwith the same objPtr.Tk_GetDoublePixelsFromObjis identical toTk_GetPixelsFromObjexcept it returns a double not rounded to the nearest integer.Tk_GetPixelsis identical toTk_GetPixelsFromObjexcept that the screen distance is specified with a string instead of an object. This preventsTk_GetPixelsfrom caching the return value, soTk_GetPixelsis less efficient thanTk_GetPixelsFromObj.Tk_GetMMFromObjandTk_GetScreenMMare similar toTk_GetPixelsFromObjandTk_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
Copyright#
- Copyright © 1990 The Regents of the University of California
- Copyright © 1994-1998 Sun Microsystems, Inc