⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canvtkwin.3

📁 linux系统下的音频通信
💻 3
字号:
'\"'\" 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.'\" '\" SCCS: @(#) CanvTkwin.3 1.8 96/08/27 13:21:54'\" .so man.macros.TH Tk_CanvasTkwin 3 4.1 Tk "Tk Library Procedures".BS.SH NAMETk_CanvasTkwin, Tk_CanvasGetCoord, Tk_CanvasDrawableCoords, Tk_CanvasSetStippleOrigin, Tk_CanvasWindowCoords, Tk_CanvasEventuallyRedraw, Tk_CanvasTagsOption \- utility procedures for canvas type managers.SH SYNOPSIS.nf\fB#include <tk.h>\fR.spTk_Window\fBTk_CanvasTkwin\fR(\fIcanvas\fR).spint\fBTk_CanvasGetCoord\fR(\fIinterp, canvas, string, doublePtr\fR).sp\fBTk_CanvasDrawableCoords\fR(\fIcanvas, x, y, drawableXPtr, drawableYPtr\fR).sp\fBTk_CanvasSetStippleOrigin\fR(\fIcanvas, gc\fR).sp\fBTk_CanvasWindowCoords\fR(\fIcanvas, x, y, screenXPtr, screenYPtr\fR).sp\fBTk_CanvasEventuallyRedraw\fR(\fIcanvas, x1, y1, x2, y2\fR).spTk_OptionParseProc *\fBTk_CanvasTagsParseProc\fR;.spTk_OptionPrintProc *\fBTk_CanvasTagsPrintProc\fR;.SH ARGUMENTS.AS Tk_ItemType *drawableXPtr.AP Tk_Canvas canvas inA token that identifies a canvas widget..AP Tcl_Interp *interp in/outInterpreter to use for error reporting..AP char *string inTextual description of a canvas coordinate..AP double *doublePtr outPoints to place to store a converted coordinate..AP double x inAn x coordinate in the space of the canvas..AP double y inA y coordinate in the space of the canvas..AP short *drawableXPtr outPointer to a location in which to store an x coordinate in the spaceof the drawable currently being used to redisplay the canvas..AP short *drawableYPtr outPointer to a location in which to store a y coordinate in the spaceof the drawable currently being used to redisplay the canvas..AP GC gc outGraphics context to modify..AP short *screenXPtr outPoints to a location in which to store the screen coordinate in thecanvas window that corresponds to \fIx\fR..AP short *screenYPtr outPoints to a location in which to store the screen coordinate in thecanvas window that corresponds to \fIy\fR..AP int x1 inLeft edge of the region that needs redisplay.  Only pixels at or tothe right of this coordinate need to be redisplayed..AP int y1 inTop edge of the region that needs redisplay.  Only pixels at or belowthis coordinate need to be redisplayed..AP int x2 inRight edge of the region that needs redisplay.  Only pixels tothe left of this coordinate need to be redisplayed..AP int y2 inBottom edge of the region that needs redisplay.  Only pixels abovethis coordinate need to be redisplayed..BE.SH DESCRIPTION.PPThese procedures are called by canvas type managers to perform variousutility functions..PP\fBTk_CanvasTkwin\fR returns the Tk_Window associated with a particularcanvas..PP\fBTk_CanvasGetCoord\fR translates a string specification of acoordinate (such as \fB2p\fR or \fB1.6c\fR) into a double-precisioncanvas coordinate.If \fIstring\fR is a valid coordinate description then \fBTk_CanvasGetCoord\fRstores the corresponding canvas coordinate at *\fIdoublePtr\fRand returns TCL_OK.Otherwise it stores an error message in \fIinterp->result\fR andreturns TCL_ERROR..PP\fBTk_CanvasDrawableCoords\fR is called by type managers duringredisplay to compute where to draw things.Given \fIx\fR and \fIy\fR coordinates in the space of thecanvas, \fBTk_CanvasDrawableCoords\fR computes the correspondingpixel in the drawable that is currently being used for redisplay;it returns those coordinates in *\fIdrawableXPtr\fR and *\fIdrawableYPtr\fR.This procedure should not be invoked except during redisplay..PP\fBTk_CanvasSetStippleOrigin\fR is also used during redisplay.It sets the stipple origin in \fIgc\fR so that stipples drawnwith \fIgc\fR in the current offscreen pixmap will line upwith stipples drawn with origin (0,0) in the canvas's actualwindow.\fBTk_CanvasSetStippleOrigin\fR is needed in order to guaranteethat stipple patterns line up properly when the canvas isredisplayed in small pieces.Redisplays are carried out in double-buffered fashion where apiece of the canvas is redrawn in an offscreen pixmap and thencopied back onto the screen.In this approach the stipple origins in graphics contexts need tobe adjusted during each redisplay to compensate for the positionof the off-screen pixmap relative to the window.If an item is being drawn with stipples, its type manager typicallycalls \fBTk_CanvasSetStippleOrigin\fR just before using \fIgc\fRto draw something;  after it is finished drawing, the type managercalls \fBXSetTSOrigin\fR to restore the origin in \fIgc\fR back to (0,0)(the restore is needed because graphics contexts are shared, sothey cannot be modified permanently)..PP\fBTk_CanvasWindowCoords\fR is similar to \fBTk_CanvasDrawableCoords\fRexcept that it returns coordinates in the canvas's window on thescreen, instead of coordinates in an off-screen pixmap..PP\fBTk_CanvasEventuallyRedraw\fR may be invoked by a type managerto inform Tk that a portion of a canvas needs to be redrawn.The \fIx1\fR, \fIy1\fR, \fIx2\fR, and \fIy2\fR argumentsspecify the region that needs to be redrawn, in canvas coordinates.Type managers rarely need to invoke \fBTk_CanvasEventuallyRedraw\fR,since Tk can normally figure out when an item has changed and makethe redisplay request on its behalf (this happens, for examplewhenever Tk calls a \fIconfigureProc\fR or \fIscaleProc\fR).The only time that a type manager needs to call\fBTk_CanvasEventuallyRedraw\fR is if an item has changed on its ownwithout being invoked through one of the procedures in its Tk_ItemType;this could happen, for example, in an image item if the image ismodified using image commands..PP\fBTk_CanvasTagsParseProc\fR and \fBTk_CanvasTagsPrintProc\fR areprocedures that handle the \fB\-tags\fR option for canvas items.The code of a canvas type manager won't call these proceduresdirectly, but will use their addresses to create a \fBTk_CustomOption\fRstructure for the \fB\-tags\fR option.   The code typically lookslike this:.CSstatic Tk_CustomOption tagsOption = {Tk_CanvasTagsParseProc,	Tk_CanvasTagsPrintProc, (ClientData) NULL};static Tk_ConfigSpec configSpecs[] = {	...	{TK_CONFIG_CUSTOM, "\-tags", (char *) NULL, (char *) NULL,		(char *) NULL, 0, TK_CONFIG_NULL_OK, &tagsOption},	...};.CE.SH KEYWORDScanvas, focus, item type, redisplay, selection, type manager

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -