Provided by: tk8.4-doc_8.4.19-4_all
Tk_GetPixelsFromObj, Tk_GetPixels, Tk_GetMMFromObj, Tk_GetScreenMM - 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)
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. _________________________________________________________________
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 isn't one of the ones │ above) then TCL_ERROR is returned and an error message is left in interp's result if │ interp isn't 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_GetAnchor 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.
centimeters, convert, inches, millimeters, pixels, points, screen units