Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk_GetPixelsFromObj (3tk)

Name

Tk_GetPixelsFromObj - 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)

Description

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)