Documentation generated from fossil trunk
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)
Type | Name | Mode |
---|---|---|
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:
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.
centimeters, convert, inches, millimeters, pixels, points, screen units