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

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

?? tkclipboard.c

?? linux系統下的音頻通信
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * tkClipboard.c -- * * 	This file manages the clipboard for the Tk toolkit, * 	maintaining a collection of data buffers that will be * 	supplied on demand to requesting applications. * * Copyright (c) 1994 The Regents of the University of California. * Copyright (c) 1994-1995 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: @(#) tkClipboard.c 1.15 96/05/03 10:51:08 */#include "tkInt.h"#include "tkPort.h"#include "tkSelect.h"/* * Prototypes for procedures used only in this file: */static int		ClipboardAppHandler _ANSI_ARGS_((ClientData clientData,			    int offset, char *buffer, int maxBytes));static int		ClipboardHandler _ANSI_ARGS_((ClientData clientData,			    int offset, char *buffer, int maxBytes));static int		ClipboardWindowHandler _ANSI_ARGS_((			    ClientData clientData, int offset, char *buffer,			    int maxBytes));static void		ClipboardLostSel _ANSI_ARGS_((ClientData clientData));/* *---------------------------------------------------------------------- * * ClipboardHandler -- * *	This procedure acts as selection handler for the *	clipboard manager.  It extracts the required chunk of *	data from the buffer chain for a given selection target. * * Results: *	The return value is a count of the number of bytes *	actually stored at buffer. * * Side effects: *	None. * *---------------------------------------------------------------------- */static intClipboardHandler(clientData, offset, buffer, maxBytes)    ClientData clientData;	/* Information about data to fetch. */    int offset;			/* Return selection bytes starting at this				 * offset. */    char *buffer;		/* Place to store converted selection. */    int maxBytes;		/* Maximum # of bytes to store at buffer. */{    TkClipboardTarget *targetPtr = (TkClipboardTarget*) clientData;    TkClipboardBuffer *cbPtr;    char *srcPtr, *destPtr;    int count = 0;    int scanned = 0;    size_t length, freeCount;    /*     * Skip to buffer containing offset byte     */    for (cbPtr = targetPtr->firstBufferPtr; ; cbPtr = cbPtr->nextPtr) {	if (cbPtr == NULL) {	    return 0;	}	if (scanned + cbPtr->length > offset) {	    break;	}	scanned += cbPtr->length;    }    /*     * Copy up to maxBytes or end of list, switching buffers as needed.     */    freeCount = maxBytes;    srcPtr = cbPtr->buffer + (offset - scanned);    destPtr = buffer;    length = cbPtr->length - (offset - scanned);    while (1) {	if (length > freeCount) {	    strncpy(destPtr, srcPtr, freeCount);	    return maxBytes;	} else {	    strncpy(destPtr, srcPtr, length);	    destPtr += length;	    count += length;	    freeCount -= length;	}	cbPtr = cbPtr->nextPtr;	if (cbPtr == NULL) {	    break;	}	srcPtr = cbPtr->buffer;	length = cbPtr->length;    }    return count;}/* *---------------------------------------------------------------------- * * ClipboardAppHandler -- * *	This procedure acts as selection handler for retrievals of type *	TK_APPLICATION.  It returns the name of the application that *	owns the clipboard.  Note:  we can't use the default Tk *	selection handler for this selection type, because the clipboard *	window isn't a "real" window and doesn't have the necessary *	information. * * Results: *	The return value is a count of the number of bytes *	actually stored at buffer. * * Side effects: *	None. * *---------------------------------------------------------------------- */static intClipboardAppHandler(clientData, offset, buffer, maxBytes)    ClientData clientData;	/* Pointer to TkDisplay structure. */    int offset;			/* Return selection bytes starting at this				 * offset. */    char *buffer;		/* Place to store converted selection. */    int maxBytes;		/* Maximum # of bytes to store at buffer. */{    TkDisplay *dispPtr = (TkDisplay *) clientData;    size_t length;    char *p;    p = dispPtr->clipboardAppPtr->winPtr->nameUid;    length = strlen(p);    length -= offset;    if (length <= 0) {	return 0;    }    if (length > (size_t) maxBytes) {	length = maxBytes;    }    strncpy(buffer, p, length);    return length;}/* *---------------------------------------------------------------------- * * ClipboardWindowHandler -- * *	This procedure acts as selection handler for retrievals of *	type TK_WINDOW.  Since the clipboard doesn't correspond to *	any particular window, we just return ".".  We can't use Tk's *	default handler for this selection type, because the clipboard *	window isn't a valid window. * * Results: *	The return value is 1, the number of non-null bytes stored *	at buffer. * * Side effects: *	None. * *---------------------------------------------------------------------- */static intClipboardWindowHandler(clientData, offset, buffer, maxBytes)    ClientData clientData;	/* Not used. */    int offset;			/* Return selection bytes starting at this				 * offset. */    char *buffer;		/* Place to store converted selection. */    int maxBytes;		/* Maximum # of bytes to store at buffer. */{    buffer[0] = '.';    buffer[1] = 0;    return 1;}/* *---------------------------------------------------------------------- * * ClipboardLostSel -- * *	This procedure is invoked whenever clipboard ownership is *	claimed by another window.  It just sets a flag so that we *	know the clipboard was taken away. * * Results: *	None. * * Side effects: *	The clipboard is marked as inactive. * *---------------------------------------------------------------------- */static voidClipboardLostSel(clientData)    ClientData clientData;		/* Pointer to TkDisplay structure. */{    TkDisplay *dispPtr = (TkDisplay*) clientData;    dispPtr->clipboardActive = 0;}/* *---------------------------------------------------------------------- * * Tk_ClipboardClear -- * *	Take control of the clipboard and clear out the previous *	contents.  This procedure must be invoked before any *	calls to Tk_AppendToClipboard. * * Results: *	A standard Tcl result.  If an error occurs, an error message is *	left in interp->result. * * Side effects: *	From now on, requests for the CLIPBOARD selection will be *	directed to the clipboard manager routines associated with *	clipWindow for the display of tkwin.  In order to guarantee *	atomicity, no event handling should occur between *	Tk_ClipboardClear and the following Tk_AppendToClipboard *	calls.  This procedure may cause a user-defined LostSel command  * 	to be invoked when the CLIPBOARD is claimed, so any calling *	function should be reentrant at the point Tk_ClipboardClear is *	invoked. * *---------------------------------------------------------------------- */intTk_ClipboardClear(interp, tkwin)    Tcl_Interp *interp;		/* Interpreter to use for error reporting. */    Tk_Window tkwin;		/* Window in application that is clearing				 * clipboard;  identifies application and				 * display. */{    TkWindow *winPtr = (TkWindow *) tkwin;    TkDisplay *dispPtr = winPtr->dispPtr;    TkClipboardTarget *targetPtr, *nextTargetPtr;    TkClipboardBuffer *cbPtr, *nextCbPtr;    if (dispPtr->clipWindow == NULL) {	int result;	result = TkClipInit(interp, dispPtr);	if (result != TCL_OK) {	    return result;	}    }    /*     * Discard any existing clipboard data and delete the selection     * handler(s) associated with that data.     */    for (targetPtr = dispPtr->clipTargetPtr; targetPtr != NULL;	    targetPtr = nextTargetPtr) {	for (cbPtr = targetPtr->firstBufferPtr; cbPtr != NULL;		cbPtr = nextCbPtr) {	    ckfree(cbPtr->buffer);	    nextCbPtr = cbPtr->nextPtr;	    ckfree((char *) cbPtr);	}	nextTargetPtr = targetPtr->nextPtr;	Tk_DeleteSelHandler(dispPtr->clipWindow, dispPtr->clipboardAtom,		targetPtr->type);	ckfree((char *) targetPtr);    }    dispPtr->clipTargetPtr = NULL;    /*     * Reclaim the clipboard selection if we lost it.     */    if (!dispPtr->clipboardActive) {	Tk_OwnSelection(dispPtr->clipWindow, dispPtr->clipboardAtom,		ClipboardLostSel, (ClientData) dispPtr);	dispPtr->clipboardActive = 1;    }    dispPtr->clipboardAppPtr = winPtr->mainPtr;    return TCL_OK;}/* *---------------------------------------------------------------------- * * Tk_ClipboardAppend -- * * 	Append a buffer of data to the clipboard.  The first buffer of

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日韩欧美| 中文字幕一区二区三区精华液| 精品日本一线二线三线不卡| 国产欧美一区视频| 天天影视色香欲综合网老头| 国产不卡视频在线播放| 欧美挠脚心视频网站| 亚洲国产高清aⅴ视频| 视频一区二区不卡| 日本精品一区二区三区高清| 精品国产一区二区三区av性色| 亚洲黄色免费网站| 国产aⅴ综合色| 26uuu亚洲| 青青草国产精品亚洲专区无| 91福利资源站| 亚洲黄色尤物视频| 99视频有精品| 国产欧美一区二区精品仙草咪 | 91官网在线免费观看| 日本一区二区免费在线观看视频| 日韩成人午夜精品| 欧美日韩黄色影视| 一区二区三区**美女毛片| 成人av综合在线| 欧美激情综合五月色丁香小说| 久久精品国产第一区二区三区| 欧美日韩另类国产亚洲欧美一级| 亚洲激情成人在线| 91福利国产精品| 亚洲欧美日韩一区| 一本大道久久a久久精品综合| 中文无字幕一区二区三区| 国产一区欧美二区| 国产亚洲午夜高清国产拍精品| 久久精品国产免费| 亚洲精品一区在线观看| 精品在线观看免费| 国产亚洲欧洲一区高清在线观看| 国产一区二区三区观看| 久久午夜老司机| 大白屁股一区二区视频| 国产精品入口麻豆九色| 99久久99久久精品免费看蜜桃| 中文字幕一区二区三区在线观看| 97精品国产97久久久久久久久久久久| 国产精品久久99| 色综合 综合色| 天天综合色天天| 久久嫩草精品久久久久| 丁香婷婷综合五月| 一区二区三区中文字幕| 欧美高清视频一二三区 | 亚洲激情六月丁香| 欧美精品一二三四| 美日韩一区二区| 国产免费成人在线视频| 99视频超级精品| 亚洲成人中文在线| 久久久久一区二区三区四区| 色综合中文综合网| 亚洲精品中文字幕乱码三区| 51精品久久久久久久蜜臀| 久久精品国产亚洲一区二区三区| 国产精品嫩草99a| 欧美日韩免费观看一区三区| 精品一区二区三区欧美| 亚洲情趣在线观看| 精品欧美乱码久久久久久1区2区| av在线播放成人| 日产欧产美韩系列久久99| 亚洲国产精品黑人久久久| 色婷婷综合久色| 精品无人码麻豆乱码1区2区| 亚洲人成影院在线观看| 精品国产一区二区三区四区四| 91在线观看成人| 美国精品在线观看| 亚洲精品国产第一综合99久久 | 日本三级韩国三级欧美三级| 久久综合九色综合97婷婷| 色国产综合视频| 精品一区二区三区免费观看| 一区二区三区在线看| 久久综合久久综合久久综合| 欧美日本免费一区二区三区| 成人午夜激情片| 国内精品久久久久影院薰衣草| 亚洲欧美日韩国产一区二区三区| 久久一区二区视频| 91麻豆精品国产无毒不卡在线观看| 成人av在线电影| 精品一区二区免费在线观看| 亚洲电影视频在线| 亚洲九九爱视频| 亚洲国产精品成人久久综合一区 | 欧美中文字幕一区| 成人免费黄色大片| 国产一区二区成人久久免费影院 | 亚洲免费观看高清| 久久婷婷成人综合色| 91精品啪在线观看国产60岁| 色婷婷av一区二区三区之一色屋| 国产suv精品一区二区三区| 久久精品国产亚洲一区二区三区| 丝袜亚洲另类欧美| 亚洲成av人片在线观看无码| 亚洲日韩欧美一区二区在线| 国产精品久久久久久久久动漫 | 成人国产视频在线观看| 国产美女视频91| 国产在线精品一区二区| 久久福利资源站| 精久久久久久久久久久| 久久国产欧美日韩精品| 精品一区二区三区视频 | 国产三级三级三级精品8ⅰ区| 欧美videossexotv100| 欧美mv和日韩mv的网站| 7777精品伊人久久久大香线蕉经典版下载 | 久久嫩草精品久久久精品一| 欧美一级艳片视频免费观看| 欧美三片在线视频观看| 一本色道久久加勒比精品| 99久久精品国产麻豆演员表| 成a人片亚洲日本久久| 成人高清免费在线播放| 国产老妇另类xxxxx| 久久99精品一区二区三区 | 91免费观看国产| 欧美在线999| 精品视频一区二区三区免费| 在线亚洲欧美专区二区| 91久久人澡人人添人人爽欧美| 日本免费在线视频不卡一不卡二| 狠狠色狠狠色综合| 国产一区美女在线| 国产精品99久| 成人av网址在线| 国产老肥熟一区二区三区| 91香蕉视频黄| 在线欧美一区二区| 欧美高清一级片在线| 欧美一区二区免费| 欧美综合久久久| 337p日本欧洲亚洲大胆色噜噜| 26uuu久久天堂性欧美| 久久久www免费人成精品| 中文字幕免费观看一区| 久久精品一区四区| 亚洲高清视频中文字幕| 久久99久久久久久久久久久| 国产精品1024久久| 一本大道久久a久久精二百| 色婷婷亚洲一区二区三区| 欧美一级欧美一级在线播放| 精品国内二区三区| 国产精品成人免费| 三级不卡在线观看| 久久精品国产一区二区| 欧洲一区二区三区在线| 4438x成人网最大色成网站| 精品日产卡一卡二卡麻豆| 国产精品久久午夜夜伦鲁鲁| 亚洲激情av在线| 高清shemale亚洲人妖| 欧美性视频一区二区三区| 日韩女优视频免费观看| 亚洲素人一区二区| 丝袜美腿成人在线| 高清不卡在线观看av| 欧美日韩国产一二三| 欧美精品一区二区三区很污很色的 | 丝袜国产日韩另类美女| 国产老妇另类xxxxx| av午夜精品一区二区三区| 久久久精品tv| 亚洲成人动漫在线观看| 国产91精品一区二区麻豆亚洲| 91国内精品野花午夜精品| 国产精品久久久久三级| 日本视频中文字幕一区二区三区| 成+人+亚洲+综合天堂| 欧美一区二区精品在线| 国产天堂亚洲国产碰碰| 久久精品国产精品亚洲综合| 在线观看一区日韩| 国产无一区二区| 另类小说图片综合网| 欧美一卡2卡3卡4卡| 亚洲一区二区偷拍精品| 成人午夜视频在线观看| 日韩欧美中文一区二区| 亚洲一区二区三区四区不卡| 国产91精品欧美| 亚洲精品在线免费播放| 天天色综合天天| 91麻豆.com| 亚洲天堂av一区| 成人99免费视频|