The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#  Copyright (c) 1990 The Regents of the University of California.
#  Copyright (c) 1994-1996 Sun Microsystems, Inc.
#  See the file "license.terms" for information on usage and redistribution
#  of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
#

=head1 NAME

Tk::pTk::GetPixels, Tk::pTk::GetScreenMM - translate between strings and screen units

=for category C Programming

=head1 SYNOPSIS

B<#include E<lt>tk.hE<gt>>

int
B<Tk_GetPixels(>I<interp, tkwin, string, intPtr>B<)>

int
B<Tk_GetScreenMM(>I<interp, tkwin, string, doublePtr>B<)>

=head1 ARGUMENTS

=over 4

=item Tcl_Interp *interp (in)

Interpreter to use for error reporting.

=item Tk_Window tkwin (in)

Window whose screen geometry determines the conversion between absolute
units and pixels.

=item char *string (in)

String that specifies a distance on the screen.

=item int *intPtr (out)

Pointer to location in which to store converted distance in pixels.

=item double *doublePtr (out)

Pointer to location in which to store converted distance in millimeters.

=back

=head1 DESCRIPTION

These two procedures take as argument a specification of distance on
the screen (I<string>) and compute the corresponding distance
either in integer pixels or floating-point millimeters.
In either case, I<string> specifies a screen distance as a
floating-point number followed by one of the following characters
that indicates units:

=over 4

=item E<lt>noneE<gt>

The number specifies a distance in pixels.

=item B<c>

The number specifies a distance in centimeters on the screen.

=item B<i>

The number specifies a distance in inches on the screen.

=item B<m>

The number specifies a distance in millimeters on the screen.

=item B<p>

The number specifies a distance in printer's points (1/72 inch)
on the screen.

B<Tk_GetPixels> converts I<string> to the nearest even
number of pixels and stores that value at I<*intPtr>.
B<Tk_GetScreenMM> converts I<string> to millimeters and
stores the double-precision floating-point result at I<*doublePtr>.

Both procedures return B<TCL_OK> under normal circumstances.
If an error occurs (e.g. I<string> contains a number followed
by a character that isn't one of the ones above) then
B<TCL_ERROR> is returned and an error message is left
in I<interp-E<gt>result>.

=back

=head1 KEYWORDS

centimeters, convert, inches, millimeters, pixels, points, screen units