GetImage.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1994 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: GetImage.3,v 1.5 2002/08/05 04:30:38 dgp Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tk_GetImage 3 4.0 Tk "Tk Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tk_GetImage, Tk_RedrawImage, Tk_SizeOfImage, Tk_FreeImage - use an image in a widget
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tk.h>fR
  18. .sp
  19. Tk_Image
  20. fBTk_GetImagefR(fIinterp, tkwin, name, changeProc, clientDatafR)
  21. .sp
  22. fBTk_RedrawImagefR(fIimage, imageX, imageY, width, height, drawable, drawableX, drawableYfR)
  23. .sp
  24. fBTk_SizeOfImagefR(fIimage, widthPtr, heightPtrfR)
  25. .sp
  26. fBTk_FreeImagefR(fIimagefR)
  27. .SH ARGUMENTS
  28. .AS Tk_ImageChangedProc *changeProc
  29. .AP Tcl_Interp *interp in
  30. Place to leave error message.
  31. .AP Tk_Window tkwin in
  32. Window in which image will be used.
  33. .AP "CONST char" *name in
  34. Name of image.
  35. .AP Tk_ImageChangedProc *changeProc in
  36. Procedure for Tk to invoke whenever image content or size changes.
  37. .AP ClientData clientData in
  38. One-word value for Tk to pass to fIchangeProcfR.
  39. .AP Tk_Image image in
  40. Token for image instance;  must have been returned by a previous
  41. call to fBTk_GetImagefR.
  42. .AP int imageX in
  43. X-coordinate of upper-left corner of region of image to redisplay
  44. (measured in pixels from the image's upper-left corner).
  45. .AP int imageY in
  46. Y-coordinate of upper-left corner of region of image to redisplay
  47. (measured in pixels from the image's upper-left corner).
  48. .AP "int" width (in)
  49. Width of region of image to redisplay.
  50. .AP "int" height (in)
  51. Height of region of image to redisplay.
  52. .AP Drawable drawable in
  53. Where to display image.  Must either be window specified to
  54. fBTk_GetImagefR or a pixmap compatible with that window.
  55. .AP int drawableX in
  56. Where to display image in fIdrawablefR: this is the x-coordinate
  57. in fIdrawablefR where x-coordinate fIimageXfR of the image
  58. should be displayed.
  59. .AP int drawableY in
  60. Where to display image in fIdrawablefR: this is the y-coordinate
  61. in fIdrawablefR where y-coordinate fIimageYfR of the image
  62. should be displayed.
  63. .AP "int" widthPtr out
  64. Store width of fIimagefR (in pixels) here.
  65. .AP "int" heightPtr out
  66. Store height of fIimagefR (in pixels) here.
  67. .BE
  68. .SH DESCRIPTION
  69. .PP
  70. These procedures are invoked by widgets that wish to display images.
  71. fBTk_GetImagefR is invoked by a widget when it first decides to
  72. display an image.
  73. fInamefR gives the name of the desired image and fItkwinfR
  74. identifies the window where the image will be displayed.
  75. fBTk_GetImagefR looks up the image in the table of existing
  76. images and returns a token for a new instance of the image.
  77. If the image doesn't exist then fBTk_GetImagefR returns NULL
  78. and leaves an error message in fIinterp->resultfR.
  79. .PP
  80. When a widget wishes to actually display an image it must
  81. call fBTk_RedrawImagefR, identifying the image (fIimagefR),
  82. a region within the image to redisplay (fIimageXfR, fIimageYfR,
  83. fIwidthfR, and fIheightfR), and a place to display the
  84. image (fIdrawablefR, fIdrawableXfR, and fIdrawableYfR).
  85. Tk will then invoke the appropriate image manager, which will
  86. display the requested portion of the image before returning.
  87. .PP
  88. A widget can find out the dimensions of an image by calling
  89. fBTk_SizeOfImagefR:  the width and height will be stored
  90. in the locations given by fIwidthPtrfR and fIheightPtrfR,
  91. respectively.
  92. .PP
  93. When a widget is finished with an image (e.g., the widget is
  94. being deleted or it is going to use a different image instead
  95. of the current one), it must call fBTk_FreeImagefR to
  96. release the image instance.
  97. The widget should never again use the image token after passing
  98. it to fBTk_FreeImagefR.
  99. There must be exactly one call to fBTk_FreeImagefR for each
  100. call to fBTk_GetImagefR.
  101. .PP
  102. If the contents or size of an image changes, then any widgets
  103. using the image will need to find out about the changes so that
  104. they can redisplay themselves.
  105. The fIchangeProcfR and fIclientDatafR arguments to
  106. fBTk_GetImagefR are used for this purpose.
  107. fIchangeProcfR will be called by Tk whenever a change occurs
  108. in the image;  it must match the following prototype:
  109. .CS
  110. typedef void Tk_ImageChangedProc(
  111. ClientData fIclientDatafR,
  112. int fIxfR,
  113. int fIyfR,
  114. int fIwidthfR,
  115. int fIheightfR,
  116. int fIimageWidthfR,
  117. int fIimageHeightfR);
  118. .CE
  119. The fIclientDatafR argument to fIchangeProcfR is the same as the
  120. fIclientDatafR argument to fBTk_GetImagefR.
  121. It is usually a pointer to the widget record for the widget or
  122. some other data structure managed by the widget.
  123. The arguments fIxfR, fIyfR, fIwidthfR, and fIheightfR
  124. identify a region within the image that must be redisplayed;
  125. they are specified in pixels measured from the upper-left
  126. corner of the image.
  127. The arguments fIimageWidthfR and fIimageHeightfR give
  128. the image's (new) size.
  129. .SH "SEE ALSO"
  130. Tk_CreateImageType
  131. .SH KEYWORDS
  132. images, redisplay