亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tktextwind.c

?? linux系統下的音頻通信
?? C
?? 第 1 頁 / 共 3 頁
字號:
	    Tk_CreateEventHandler(ewPtr->body.ew.tkwin, StructureNotifyMask,		    EmbWinStructureProc, (ClientData) ewPtr);	    /*	     * Special trick!  Must enter into the hash table *after*	     * calling Tk_ManageGeometry:  if the window was already managed	     * elsewhere in this text, the Tk_ManageGeometry call will cause	     * the entry to be removed, which could potentially lose the new	     * entry.	     */	    hPtr = Tcl_CreateHashEntry(&textPtr->windowTable,		    Tk_PathName(ewPtr->body.ew.tkwin), &new);	    Tcl_SetHashValue(hPtr, ewPtr);	}    }    return TCL_OK;}/* *-------------------------------------------------------------- * * AlignParseProc -- * *	This procedure is invoked by Tk_ConfigureWidget during *	option processing to handle "-align" options for embedded *	windows. * * Results: *	A standard Tcl return value. * * Side effects: *	The alignment for the embedded window may change. * *-------------------------------------------------------------- */	/* ARGSUSED */static intAlignParseProc(clientData, interp, tkwin, value, widgRec, offset)    ClientData clientData;		/* Not used.*/    Tcl_Interp *interp;			/* Used for reporting errors. */    Tk_Window tkwin;			/* Window for text widget. */    char *value;			/* Value of option. */    char *widgRec;			/* Pointer to TkTextEmbWindow					 * structure. */    int offset;				/* Offset into item (ignored). */{    register TkTextEmbWindow *embPtr = (TkTextEmbWindow *) widgRec;    if (strcmp(value, "baseline") == 0) {	embPtr->align = ALIGN_BASELINE;    } else if (strcmp(value, "bottom") == 0) {	embPtr->align = ALIGN_BOTTOM;    } else if (strcmp(value, "center") == 0) {	embPtr->align = ALIGN_CENTER;    } else if (strcmp(value, "top") == 0) {	embPtr->align = ALIGN_TOP;    } else {	Tcl_AppendResult(interp, "bad alignment \"", value,		"\": must be baseline, bottom, center, or top",		(char *) NULL);	return TCL_ERROR;    }    return TCL_OK;}/* *-------------------------------------------------------------- * * AlignPrintProc -- * *	This procedure is invoked by the Tk configuration code *	to produce a printable string for the "-align" configuration *	option for embedded windows. * * Results: *	The return value is a string describing the embedded *	window's current alignment. * * Side effects: *	None. * *-------------------------------------------------------------- */	/* ARGSUSED */static char *AlignPrintProc(clientData, tkwin, widgRec, offset, freeProcPtr)    ClientData clientData;		/* Ignored. */    Tk_Window tkwin;			/* Window for text widget. */    char *widgRec;			/* Pointer to TkTextEmbWindow					 * structure. */    int offset;				/* Ignored. */    Tcl_FreeProc **freeProcPtr;		/* Pointer to variable to fill in with					 * information about how to reclaim					 * storage for return string. */{    switch (((TkTextEmbWindow *) widgRec)->align) {	case ALIGN_BASELINE:	    return "baseline";	case ALIGN_BOTTOM:	    return "bottom";	case ALIGN_CENTER:	    return "center";	case ALIGN_TOP:	    return "top";	default:	    return "??";    }}/* *-------------------------------------------------------------- * * EmbWinStructureProc -- * *	This procedure is invoked by the Tk event loop whenever *	StructureNotify events occur for a window that's embedded *	in a text widget.  This procedure's only purpose is to *	clean up when windows are deleted. * * Results: *	None. * * Side effects: *	The window is disassociated from the window segment, and *	the portion of the text is redisplayed. * *-------------------------------------------------------------- */static voidEmbWinStructureProc(clientData, eventPtr)    ClientData clientData;	/* Pointer to record describing window item. */    XEvent *eventPtr;		/* Describes what just happened. */{    register TkTextSegment *ewPtr = (TkTextSegment *) clientData;    TkTextIndex index;    if (eventPtr->type != DestroyNotify) {	return;    }    Tcl_DeleteHashEntry(Tcl_FindHashEntry(&ewPtr->body.ew.textPtr->windowTable,	    Tk_PathName(ewPtr->body.ew.tkwin)));    ewPtr->body.ew.tkwin = NULL;    index.tree = ewPtr->body.ew.textPtr->tree;    index.linePtr = ewPtr->body.ew.linePtr;    index.charIndex = TkTextSegToOffset(ewPtr, ewPtr->body.ew.linePtr);    TkTextChanged(ewPtr->body.ew.textPtr, &index, &index);}/* *-------------------------------------------------------------- * * EmbWinRequestProc -- * *	This procedure is invoked whenever a window that's associated *	with a window canvas item changes its requested dimensions. * * Results: *	None. * * Side effects: *	The size and location on the screen of the window may change, *	depending on the options specified for the window item. * *-------------------------------------------------------------- */	/* ARGSUSED */static voidEmbWinRequestProc(clientData, tkwin)    ClientData clientData;		/* Pointer to record for window item. */    Tk_Window tkwin;			/* Window that changed its desired					 * size. */{    TkTextSegment *ewPtr = (TkTextSegment *) clientData;    TkTextIndex index;    index.tree = ewPtr->body.ew.textPtr->tree;    index.linePtr = ewPtr->body.ew.linePtr;    index.charIndex = TkTextSegToOffset(ewPtr, ewPtr->body.ew.linePtr);    TkTextChanged(ewPtr->body.ew.textPtr, &index, &index);}/* *-------------------------------------------------------------- * * EmbWinLostSlaveProc -- * *	This procedure is invoked by the Tk geometry manager when *	a slave window managed by a text widget is claimed away *	by another geometry manager. * * Results: *	None. * * Side effects: *	The window is disassociated from the window segment, and *	the portion of the text is redisplayed. * *-------------------------------------------------------------- */static voidEmbWinLostSlaveProc(clientData, tkwin)    ClientData clientData;	/* Pointer to record describing window item. */    Tk_Window tkwin;		/* Window that was claimed away by another				 * geometry manager. */{    register TkTextSegment *ewPtr = (TkTextSegment *) clientData;    TkTextIndex index;    Tk_DeleteEventHandler(ewPtr->body.ew.tkwin, StructureNotifyMask,	    EmbWinStructureProc, (ClientData) ewPtr);    Tcl_CancelIdleCall(EmbWinDelayedUnmap, (ClientData) ewPtr);    if (ewPtr->body.ew.textPtr->tkwin != Tk_Parent(tkwin)) {	Tk_UnmaintainGeometry(tkwin, ewPtr->body.ew.textPtr->tkwin);    } else {	Tk_UnmapWindow(tkwin);    }    Tcl_DeleteHashEntry(Tcl_FindHashEntry(&ewPtr->body.ew.textPtr->windowTable,	    Tk_PathName(ewPtr->body.ew.tkwin)));    ewPtr->body.ew.tkwin = NULL;    index.tree = ewPtr->body.ew.textPtr->tree;    index.linePtr = ewPtr->body.ew.linePtr;    index.charIndex = TkTextSegToOffset(ewPtr, ewPtr->body.ew.linePtr);    TkTextChanged(ewPtr->body.ew.textPtr, &index, &index);}/* *-------------------------------------------------------------- * * EmbWinDeleteProc -- * *	This procedure is invoked by the text B-tree code whenever *	an embedded window lies in a range of characters being deleted. * * Results: *	Returns 0 to indicate that the deletion has been accepted. * * Side effects: *	The embedded window is deleted, if it exists, and any resources *	associated with it are released. * *-------------------------------------------------------------- */	/* ARGSUSED */static intEmbWinDeleteProc(ewPtr, linePtr, treeGone)    TkTextSegment *ewPtr;		/* Segment being deleted. */    TkTextLine *linePtr;		/* Line containing segment. */    int treeGone;			/* Non-zero means the entire tree is					 * being deleted, so everything must					 * get cleaned up. */{    Tcl_HashEntry *hPtr;    if (ewPtr->body.ew.tkwin != NULL) {	hPtr = Tcl_FindHashEntry(&ewPtr->body.ew.textPtr->windowTable,		Tk_PathName(ewPtr->body.ew.tkwin));	if (hPtr != NULL) {	    /*	     * (It's possible for there to be no hash table entry for this	     * window, if an error occurred while creating the window segment	     * but before the window got added to the table)	     */	    Tcl_DeleteHashEntry(hPtr);	}	/*	 * Delete the event handler for the window before destroying	 * the window, so that EmbWinStructureProc doesn't get called	 * (we'll already do everything that it would have done, and	 * it will just get confused).	 */	Tk_DeleteEventHandler(ewPtr->body.ew.tkwin, StructureNotifyMask,		EmbWinStructureProc, (ClientData) ewPtr);	Tk_DestroyWindow(ewPtr->body.ew.tkwin);    }    Tcl_CancelIdleCall(EmbWinDelayedUnmap, (ClientData) ewPtr);    Tk_FreeOptions(configSpecs, (char *) &ewPtr->body.ew,	    ewPtr->body.ew.textPtr->display, 0);    ckfree((char *) ewPtr);    return 0;}/* *-------------------------------------------------------------- * * EmbWinCleanupProc -- * *	This procedure is invoked by the B-tree code whenever a *	segment containing an embedded window is moved from one *	line to another. * * Results: *	None. * * Side effects: *	The linePtr field of the segment gets updated. * *-------------------------------------------------------------- */static TkTextSegment *EmbWinCleanupProc(ewPtr, linePtr)    TkTextSegment *ewPtr;		/* Mark segment that's being moved. */    TkTextLine *linePtr;		/* Line that now contains segment. */{    ewPtr->body.ew.linePtr = linePtr;    return ewPtr;}/* *-------------------------------------------------------------- * * EmbWinLayoutProc -- * *	This procedure is the "layoutProc" for embedded window *	segments. * * Results: *	1 is returned to indicate that the segment should be *	displayed.  The chunkPtr structure is filled in. * * Side effects: *	None, except for filling in chunkPtr. * *-------------------------------------------------------------- */	/*ARGSUSED*/static intEmbWinLayoutProc(textPtr, indexPtr, ewPtr, offset, maxX, maxChars,	noCharsYet, wrapMode, chunkPtr)    TkText *textPtr;		/* Text widget being layed out. */    TkTextIndex *indexPtr;	/* Identifies first character in chunk. */    TkTextSegment *ewPtr;	/* Segment corresponding to indexPtr. */    int offset;			/* Offset within segPtr corresponding to				 * indexPtr (always 0). */    int maxX;			/* Chunk must not occupy pixels at this				 * position or higher. */    int maxChars;		/* Chunk must not include more than this				 * many characters. */    int noCharsYet;		/* Non-zero means no characters have been				 * assigned to this line yet. */    Tk_Uid wrapMode;		/* Wrap mode to use for line: tkTextCharUid,				 * tkTextNoneUid, or tkTextWordUid. */    register TkTextDispChunk *chunkPtr;				/* Structure to fill in with information				 * about this chunk.  The x field has already				 * been set by the caller. */{    int width, height;    if (offset != 0) {	panic("Non-zero offset in EmbWinLayoutProc");    }    if ((ewPtr->body.ew.tkwin == NULL) && (ewPtr->body.ew.create != NULL)) {	int code, new;	Tcl_DString name;	Tk_Window ancestor;	Tcl_HashEntry *hPtr;	/*	 * The window doesn't currently exist.  Create it by evaluating	 * the creation script.  The script must return the window's	 * path name:  look up that name to get back to the window	 * token.  Then register ourselves as the geometry manager for	 * the window.	 */	code = Tcl_GlobalEval(textPtr->interp, ewPtr->body.ew.create);	if (code != TCL_OK) {	    createError:	    Tcl_BackgroundError(textPtr->interp);	    goto gotWindow;	}	Tcl_DStringInit(&name);	Tcl_DStringAppend(&name, textPtr->interp->result, -1);	Tcl_ResetResult(textPtr->interp);	ewPtr->body.ew.tkwin = Tk_NameToWindow(textPtr->interp,		Tcl_DStringValue(&name), textPtr->tkwin);	if (ewPtr->body.ew.tkwin == NULL) {	    goto createError;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久综合精品| 色婷婷国产精品| 亚洲一区二区精品久久av| 国产视频一区不卡| 2014亚洲片线观看视频免费| 日韩三级在线观看| 538在线一区二区精品国产| 欧美视频在线观看一区| 欧美日韩中文字幕一区二区| 欧美精品99久久久**| 欧美性色综合网| 制服丝袜亚洲网站| 精品国产精品一区二区夜夜嗨| 欧美一区二区三区四区视频 | 最近日韩中文字幕| 亚洲卡通欧美制服中文| 亚洲一线二线三线视频| 香蕉加勒比综合久久| 免费看欧美女人艹b| 精品一区二区三区免费毛片爱| 久久 天天综合| 成人激情开心网| 色综合久久88色综合天天| 在线播放91灌醉迷j高跟美女| 6080国产精品一区二区| 欧美国产日韩在线观看| 亚洲一区二区三区爽爽爽爽爽 | 欧美一级欧美一级在线播放| 欧美videofree性高清杂交| 国产亚洲欧美日韩日本| 亚洲精品午夜久久久| 日本不卡123| 成人免费视频caoporn| 欧美日韩国产小视频在线观看| 日韩欧美久久一区| 亚洲天堂免费看| 人人超碰91尤物精品国产| 国产v综合v亚洲欧| 欧美四级电影网| 国产精品久久久久久久久晋中 | 国产婷婷色一区二区三区四区| 日韩美女视频一区二区 | 国产综合色产在线精品| 高清beeg欧美| 欧美三级电影网站| 日本一区二区三区视频视频| 青青草97国产精品免费观看 | 亚洲人亚洲人成电影网站色| 日韩国产精品久久久| 波多野结衣一区二区三区 | 国产精品污www在线观看| 亚洲福利视频一区| 国产98色在线|日韩| 欧美丰满少妇xxxxx高潮对白| 国产精品久久午夜| 久久爱www久久做| 欧美日韩精品系列| 亚洲视频资源在线| 国产 欧美在线| 欧美v国产在线一区二区三区| 亚洲第一在线综合网站| 91在线观看美女| 中文av字幕一区| 国产精品一区二区三区四区| 日韩欧美综合一区| 天天影视网天天综合色在线播放| av不卡免费电影| 国产精品婷婷午夜在线观看| 精品一区二区免费| 欧美一级搡bbbb搡bbbb| 日本在线观看不卡视频| 欧美一区二区在线免费观看| 一个色妞综合视频在线观看| 99热在这里有精品免费| 国产精品久久久爽爽爽麻豆色哟哟 | 久久精品国产成人一区二区三区| 欧美视频中文一区二区三区在线观看| 亚洲日本va午夜在线影院| 播五月开心婷婷综合| 久久精品人人做人人综合 | 亚洲黄色免费网站| 91蜜桃视频在线| 1024国产精品| 色婷婷久久久久swag精品| 中文字幕一区二区三区在线播放 | 亚洲欧美一区二区三区孕妇| 成人精品免费网站| 中文字幕欧美国产| av网站免费线看精品| 亚洲欧美国产三级| 欧美色网一区二区| 午夜精品久久久久影视| 日韩视频在线你懂得| 久久99国产精品免费网站| 久久久久久久av麻豆果冻| 国产成人自拍高清视频在线免费播放| 欧美国产激情二区三区| 91视频91自| 日韩电影网1区2区| 国产精品视频看| 在线观看不卡视频| 久久精品国产第一区二区三区| 亚洲精品在线免费播放| 99精品视频在线免费观看| 亚洲高清免费观看| 久久精品人人爽人人爽| 一本到不卡免费一区二区| 日韩av一区二区三区| 欧美精品一区二区三区在线| 99re这里只有精品首页| 奇米888四色在线精品| 久久久国产精品午夜一区ai换脸| 北岛玲一区二区三区四区| 午夜精品久久久久久| 精品国产成人在线影院| 91国偷自产一区二区开放时间| 日本三级亚洲精品| 国产精品国产三级国产aⅴ无密码| 欧美性xxxxx极品少妇| 国内一区二区视频| 一区二区三区国产精华| 久久综合丝袜日本网| 欧美日韩精品免费观看视频| 国产精品一区一区三区| 婷婷久久综合九色综合绿巨人| 国产亚洲午夜高清国产拍精品 | 日韩电影在线一区二区三区| 中文字幕乱码一区二区免费| 欧美精品九九99久久| 一本色道综合亚洲| 岛国av在线一区| 久久精品99久久久| 日韩二区在线观看| 一区二区三区在线视频观看| 国产日产精品1区| 精品久久久久一区| 欧美一区二区久久久| 在线欧美日韩国产| 91香蕉视频污| av不卡在线播放| 不卡电影一区二区三区| 国产成人在线网站| 国产高清精品网站| 国产一区二区三区黄视频 | 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产在线精品一区在线观看麻豆| 午夜视频一区二区三区| 亚洲激情五月婷婷| 亚洲视频1区2区| 亚洲人吸女人奶水| 亚洲精品视频在线看| 亚洲欧美日韩中文字幕一区二区三区 | 久久人人97超碰com| 日韩精品综合一本久道在线视频| 欧美男同性恋视频网站| 欧美三级在线播放| 欧美一区二区三区婷婷月色| 8v天堂国产在线一区二区| 欧美日韩成人激情| 欧美一区二区三区的| 91精品国产一区二区三区香蕉| 欧美日韩高清一区二区不卡| 欧美日本在线观看| 日韩区在线观看| 久久久久久久久久久久久久久99 | 日韩激情中文字幕| 日韩精品五月天| 久久 天天综合| 国产98色在线|日韩| 色综合久久综合中文综合网| 91久久线看在观草草青青| 欧美日韩色综合| 日韩欧美精品在线| 欧美激情一区二区三区蜜桃视频| 中文字幕一区免费在线观看| 亚洲精品videosex极品| 丝袜诱惑制服诱惑色一区在线观看| 男女男精品视频| 国产99久久久久久免费看农村| 91偷拍与自偷拍精品| 91精品国产一区二区三区蜜臀| 精品国产乱码91久久久久久网站| 中文字幕av一区二区三区免费看 | 蜜桃久久av一区| 成人小视频在线| 4438成人网| 中文字幕二三区不卡| 午夜精品久久久久久久蜜桃app| 精油按摩中文字幕久久| av成人动漫在线观看| 日韩一区二区精品葵司在线| 国产精品污污网站在线观看| 天使萌一区二区三区免费观看| 成人自拍视频在线观看| 欧美日韩国产一级| 亚洲欧洲一区二区三区| 蜜桃精品视频在线| 91久久精品一区二区三区| 久久免费精品国产久精品久久久久| 一色屋精品亚洲香蕉网站|