Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk_GetImage (3tk)

Name

Tk_GetImage - use an image in a widget

Synopsis

#include <tk.h>

Tk_Image
Tk_GetImage(interp, tkwin, name, changeProc, clientData)

Tk_RedrawImage(image, imageX, imageY, width, height, drawable, drawableX, drawableY)

Tk_SizeOfImage(image, widthPtr, heightPtr)

Tk_FreeImage(image)

Description

Tk_GetImage(3tk)             Tk Library Procedures            Tk_GetImage(3tk)



______________________________________________________________________________

NAME
       Tk_GetImage,  Tk_RedrawImage,  Tk_SizeOfImage,  Tk_FreeImage  -  use an
       image in a widget

SYNOPSIS
       #include <tk.h>

       Tk_Image
       Tk_GetImage(interp, tkwin, name, changeProc, clientData)

       Tk_RedrawImage(image, imageX, imageY, width, height, drawable, drawableX, drawableY)

       Tk_SizeOfImage(image, widthPtr, heightPtr)

       Tk_FreeImage(image)

ARGUMENTS
       Tcl_Interp *interp (in)                       Place to leave error mes-
                                                     sage.

       Tk_Window tkwin (in)                          Window   in  which  image
                                                     will be used.

       const char *name (in)                         Name of image.

       Tk_ImageChangedProc *changeProc (in)          Procedure   for   Tk   to
                                                     invoke   whenever   image
                                                     content or size changes.

       ClientData clientData (in)                    One-word value for Tk  to
                                                     pass to changeProc.

       Tk_Image image (in)                           Token for image instance;
                                                     must have  been  returned
                                                     by  a  previous  call  to
                                                     Tk_GetImage.

       int imageX (in)                               X-coordinate  of   upper-
                                                     left  corner of region of
                                                     image to redisplay  (mea-
                                                     sured  in pixels from the
                                                     image's  upper-left  cor-
                                                     ner).

       int imageY (in)                               Y-coordinate   of  upper-
                                                     left corner of region  of
                                                     image  to redisplay (mea-
                                                     sured in pixels from  the
                                                     image's  upper-left  cor-
                                                     ner).

       int width ((in))                              Width of region of  image
                                                     to redisplay.

       int height ((in))                             Height of region of image
                                                     to redisplay.

       Drawable drawable (in)                        Where to  display  image.
                                                     Must   either  be  window
                                                     specified to  Tk_GetImage
                                                     or  a  pixmap  compatible
                                                     with that window.

       int drawableX (in)                            Where to display image in
                                                     drawable:  this is the x-
                                                     coordinate  in   drawable
                                                     where x-coordinate imageX
                                                     of the  image  should  be
                                                     displayed.

       int drawableY (in)                            Where to display image in
                                                     drawable: this is the  y-
                                                     coordinate   in  drawable
                                                     where y-coordinate imageY
                                                     of  the  image  should be
                                                     displayed.

       int widthPtr (out)                            Store width of image  (in
                                                     pixels) here.

       int heightPtr (out)                           Store height of image (in
                                                     pixels) here.
______________________________________________________________________________

DESCRIPTION
       These procedures are invoked by widgets that wish  to  display  images.
       Tk_GetImage  is invoked by a widget when it first decides to display an
       image.  name gives the name of the desired image and  tkwin  identifies
       the window where the image will be displayed.  Tk_GetImage looks up the
       image in the table of existing images and returns a  token  for  a  new
       instance  of  the  image.  If the image does not exist then Tk_GetImage
       returns NULL and  leaves  an  error  message  in  interpreter  interp's
       result.

       When  a  widget  wishes  to  actually  display  an  image  it must call
       Tk_RedrawImage, identifying the image  (image),  a  region  within  the
       image  to redisplay (imageX, imageY, width, and height), and a place to
       display the image (drawable, drawableX, and drawableY).  Tk  will  then
       invoke  the appropriate image manager, which will display the requested
       portion of the image before returning.

       A widget can find out the dimensions of an image  by  calling  Tk_Size-
       OfImage:  the width and height will be stored in the locations given by
       widthPtr and heightPtr, respectively.

       When a widget is finished with an image  (e.g.,  the  widget  is  being
       deleted  or it is going to use a different image instead of the current
       one), it must call Tk_FreeImage to release  the  image  instance.   The
       widget  should  never  again  use  the  image token after passing it to
       Tk_FreeImage.  There must be exactly one call to Tk_FreeImage for  each
       call to Tk_GetImage.

       If the contents or size of an image changes, then any widgets using the
       image will need to find out about the changes so that they  can  redis-
       play  themselves.  The changeProc and clientData arguments to Tk_GetIm-
       age are used for this purpose.  changeProc will be called by  Tk  when-
       ever  a change occurs in the image;  it must match the following proto-
       type:
              typedef void Tk_ImageChangedProc(
                      ClientData clientData,
                      int x,
                      int y,
                      int width,
                      int height,
                      int imageWidth,
                      int imageHeight);
       The clientData argument to changeProc is the  same  as  the  clientData
       argument  to Tk_GetImage.  It is usually a pointer to the widget record
       for the widget or some other data structure managed by the widget.  The
       arguments  x,  y,  width, and height identify a region within the image
       that must be redisplayed; they are specified in  pixels  measured  from
       the  upper-left  corner  of  the  image.   The arguments imageWidth and
       imageHeight give the image's (new) size.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tk-8     |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       Tk_CreateImageType

KEYWORDS
       images, redisplay



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                                    4.0                     Tk_GetImage(3tk)