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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tkmacembed.c

?? linux系統(tǒng)下的音頻通信
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/*  * tkMacEmbed.c -- * *	This file contains platform-specific procedures for theMac to provide *	basic operations needed for application embedding (where one *	application can use as its main window an internal window from *	some other application). *	Currently only Toplevel embedding within the same Tk application is *      allowed on the Macintosh. * * Copyright (c) 1996-97 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: @(#) tkMacEmbed.c 1.6 97/10/31 17:20:22 */#include "tkInt.h"#include "tkPort.h"#include "X.h"#include "Xlib.h"#include <stdio.h>#include <Windows.h>#include <QDOffscreen.h>#include "tkMacInt.h"/* * One of the following structures exists for each container in this * application.  It keeps track of the container window and its * associated embedded window. */typedef struct Container {    Window parent;		/* The Mac Drawable for the parent of				 * the pair (the container). */    TkWindow *parentPtr;	/* Tk's information about the container,				 * or NULL if the container isn't				 * in this process. */    Window embedded;		/* The MacDrawable for the embedded				 * window.  Starts off as None, but				 * gets filled in when the window is				 * eventually created. */    TkWindow *embeddedPtr;	/* Tk's information about the embedded				 * window, or NULL if the				 * embedded application isn't in				 * this process. */    struct Container *nextPtr;	/* Next in list of all containers in				 * this process. */} Container;static Container *firstContainerPtr = NULL;					/* First in list of all containers					 * managed by this process.  *//* * Globals defined in this file */TkMacEmbedHandler *gMacEmbedHandler = NULL;/* * Prototypes for static procedures defined in this file: */static void		ContainerEventProc _ANSI_ARGS_((			    ClientData clientData, XEvent *eventPtr));static void		EmbeddedEventProc _ANSI_ARGS_((			    ClientData clientData, XEvent *eventPtr));static void		EmbedActivateProc _ANSI_ARGS_((ClientData clientData,                             XEvent *eventPtr));static void		EmbedFocusProc _ANSI_ARGS_((ClientData clientData,			    XEvent *eventPtr));static void		EmbedGeometryRequest _ANSI_ARGS_((			    Container * containerPtr, int width, int height));static void		EmbedSendConfigure _ANSI_ARGS_((			    Container *containerPtr));static void		EmbedStructureProc _ANSI_ARGS_((ClientData clientData,			    XEvent *eventPtr));static void		EmbedWindowDeleted _ANSI_ARGS_((TkWindow *winPtr));/* *---------------------------------------------------------------------- * * Tk_MacSetEmbedHandler -- * *	Registers a handler for an in process form of embedding, like  *	Netscape plugins, where Tk is loaded into the process, but does *	not control the main window * * Results: *	None * * Side effects: *	The embed handler is set. * *---------------------------------------------------------------------- */voidTk_MacSetEmbedHandler(    Tk_MacEmbedRegisterWinProc *registerWinProc,    Tk_MacEmbedGetGrafPortProc *getPortProc,    Tk_MacEmbedMakeContainerExistProc *containerExistProc,    Tk_MacEmbedGetClipProc *getClipProc,    Tk_MacEmbedGetOffsetInParentProc *getOffsetProc){    if (gMacEmbedHandler == NULL) {    	gMacEmbedHandler = (TkMacEmbedHandler *) ckalloc(sizeof(TkMacEmbedHandler));    }    gMacEmbedHandler->registerWinProc = registerWinProc;    gMacEmbedHandler->getPortProc = getPortProc;    gMacEmbedHandler->containerExistProc = containerExistProc;    gMacEmbedHandler->getClipProc = getClipProc;    gMacEmbedHandler->getOffsetProc = getOffsetProc;    }/* *---------------------------------------------------------------------- * * TkpMakeWindow -- * *	Creates an X Window (Mac subwindow). * * Results: *	The window id is returned. * * Side effects: *	None. * *---------------------------------------------------------------------- */WindowTkpMakeWindow(    TkWindow *winPtr,    Window parent){    MacDrawable *macWin;    XEvent event;    /*     * If this window is marked as embedded then     * the window structure should have already been     * created in the TkpUseWindow function.     */        if (Tk_IsEmbedded(winPtr)) {	return (Window) winPtr->privatePtr;    }        /*     * Allocate sub window     */        macWin = (MacDrawable *) ckalloc(sizeof(MacDrawable));    if (macWin == NULL) {	winPtr->privatePtr = NULL;	return None;    }    macWin->winPtr = winPtr;    winPtr->privatePtr = macWin;    macWin->clipRgn = NewRgn();    macWin->aboveClipRgn = NewRgn();    macWin->referenceCount = 0;    macWin->flags = TK_CLIP_INVALID;    if (Tk_IsTopLevel(macWin->winPtr)) {		/*	 *This will be set when we are mapped.	 */		macWin->portPtr = (GWorldPtr) NULL;  	macWin->toplevel = macWin;	macWin->xOff = 0;	macWin->yOff = 0;    } else {	macWin->portPtr = NULL;	macWin->xOff = winPtr->parentPtr->privatePtr->xOff +	    winPtr->parentPtr->changes.border_width +	    winPtr->changes.x;	macWin->yOff = winPtr->parentPtr->privatePtr->yOff +	    winPtr->parentPtr->changes.border_width +	    winPtr->changes.y;	macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;    }    macWin->toplevel->referenceCount++;        /*      * TODO: need general solution for visibility events.     */    event.xany.serial = Tk_Display(winPtr)->request;    event.xany.send_event = False;    event.xany.display = Tk_Display(winPtr);	    event.xvisibility.type = VisibilityNotify;    event.xvisibility.window = (Window) macWin;;    event.xvisibility.state = VisibilityUnobscured;    Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);    return (Window) macWin;}/* *---------------------------------------------------------------------- * * TkpUseWindow -- * *	This procedure causes a Tk window to use a given X window as *	its parent window, rather than the root window for the screen. *	It is invoked by an embedded application to specify the window *	in which it is embedded. * * Results: *	The return value is normally TCL_OK.  If an error occurs (such *	as string not being a valid window spec), then the return value *	is TCL_ERROR and an error message is left in interp->result if *	interp is non-NULL. * * Side effects: *	None. * *---------------------------------------------------------------------- */intTkpUseWindow(    Tcl_Interp *interp,		/* If not NULL, used for error reporting				 * if string is bogus. */    Tk_Window tkwin,		/* Tk window that does not yet have an				 * associated X window. */    char *string)		/* String identifying an X window to use				 * for tkwin;  must be an integer value. */{    TkWindow *winPtr = (TkWindow *) tkwin;    MacDrawable *parent, *macWin;    Container *containerPtr;    XEvent event;    int result;    if (winPtr->window != None) {	panic("TkpUseWindow: X window already assigned");    }        /*     * Decode the container pointer, and look for it among the      *list of available containers.     *     * N.B. For now, we are limiting the containers to be in the same Tk     * application as tkwin, since otherwise they would not be in our list     * of containers.     *     */         if (Tcl_GetInt(interp, string, &result) != TCL_OK) {	return TCL_ERROR;    }    parent = (MacDrawable *) result;    /*     * Save information about the container and the embedded window     * in a Container structure.  Currently, there must already be an existing     * Container structure, since we only allow the case where both container      * and embedded app. are in the same process.     */    for (containerPtr = firstContainerPtr; containerPtr != NULL;	    containerPtr = containerPtr->nextPtr) {	if (containerPtr->parent == (Window) parent) {	    winPtr->flags |= TK_BOTH_HALVES;	    containerPtr->parentPtr->flags |= TK_BOTH_HALVES;	    break;	}    }        /*     * Make the embedded window.       */    macWin = (MacDrawable *) ckalloc(sizeof(MacDrawable));    if (macWin == NULL) {	winPtr->privatePtr = NULL;	return TCL_ERROR;    }        macWin->winPtr = winPtr;    winPtr->privatePtr = macWin;    /*     * The portPtr will be NULL for a Tk in Tk embedded window.     * It is none of our business what it is for a Tk not in Tk embedded window,     * but we will initialize it to NULL, and let the registerWinProc      * set it.  In any case, you must always use TkMacGetDrawablePort      * to get the portPtr.  It will correctly find the container's port.     */    macWin->portPtr = (GWorldPtr) NULL;    macWin->clipRgn = NewRgn();    macWin->aboveClipRgn = NewRgn();    macWin->referenceCount = 0;    macWin->flags = TK_CLIP_INVALID;    macWin->toplevel = macWin;    macWin->toplevel->referenceCount++;       winPtr->flags |= TK_EMBEDDED;            /*     * Make a copy of the TK_EMBEDDED flag, since sometimes     * we need this to get the port after the TkWindow structure     * has been freed.     */         macWin->flags |= TK_EMBEDDED;        /*     * Now check whether it is embedded in another Tk widget.  If not (the first     * case below) we see if there is an in-process embedding handler registered,     * and if so, let that fill in the rest of the macWin.     */        if (containerPtr == NULL) {	/*	 * If someone has registered an in process embedding handler, then 	 * see if it can handle this window...	 */		if (gMacEmbedHandler == NULL ||		gMacEmbedHandler->registerWinProc(result, (Tk_Window) winPtr) != TCL_OK) {	    Tcl_AppendResult(interp, "The window ID ", string,	            " does not correspond to a valid Tk Window.",		     (char *) NULL);	    return TCL_ERROR;		} else {	    containerPtr = (Container *) ckalloc(sizeof(Container));	    containerPtr->parentPtr = NULL;	    containerPtr->embedded = (Window) macWin;	    containerPtr->embeddedPtr = macWin->winPtr;	    containerPtr->nextPtr = firstContainerPtr;	    firstContainerPtr = containerPtr;	    	}        } else {        	/*          * The window is embedded in another Tk window.         */ 		macWin->xOff = parent->winPtr->privatePtr->xOff +	        parent->winPtr->changes.border_width +	        winPtr->changes.x;	macWin->yOff = parent->winPtr->privatePtr->yOff +	        parent->winPtr->changes.border_width +	        winPtr->changes.y;                /*         * Finish filling up the container structure with the embedded window's          * information.         */     	containerPtr->embedded = (Window) macWin;	containerPtr->embeddedPtr = macWin->winPtr;	/*         * Create an event handler to clean up the Container structure when         * tkwin is eventually deleted.         */        Tk_CreateEventHandler(tkwin, StructureNotifyMask, EmbeddedEventProc,	        (ClientData) winPtr);    }   /*      * TODO: need general solution for visibility events.     */         event.xany.serial = Tk_Display(winPtr)->request;    event.xany.send_event = False;    event.xany.display = Tk_Display(winPtr);	    event.xvisibility.type = VisibilityNotify;    event.xvisibility.window = (Window) macWin;;    event.xvisibility.state = VisibilityUnobscured;    Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);        /*      * TODO: need general solution for visibility events.     */     

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品理论片a级大结局| 99麻豆久久久国产精品免费优播| 中文字幕制服丝袜成人av| 久久尤物电影视频在线观看| 日韩手机在线导航| 中文av一区二区| 中文字幕精品一区二区精品绿巨人| 欧美精品一区二| 精品三级在线观看| 精品国产一二三| 日本一二三不卡| 国产精品网站一区| 亚洲欧美日韩精品久久久久| 亚洲综合丁香婷婷六月香| 亚洲韩国精品一区| 日韩激情一二三区| 另类综合日韩欧美亚洲| 国产毛片一区二区| 丰满放荡岳乱妇91ww| av网站免费线看精品| 色综合色狠狠天天综合色| 欧洲在线/亚洲| 日韩午夜激情免费电影| 国产日产欧美一区二区视频| 国产精品视频线看| 亚洲一区二区五区| 久久国产生活片100| 国产电影一区二区三区| 色综合色狠狠天天综合色| 精品视频在线免费| 精品电影一区二区| 亚洲视频在线一区| 天堂va蜜桃一区二区三区漫画版| 黄色精品一二区| 色综合激情久久| 日韩一卡二卡三卡| 国产精品久久影院| 免费高清在线视频一区·| 国产风韵犹存在线视精品| 91国偷自产一区二区使用方法| 欧美一区二区三区不卡| 国产精品九色蝌蚪自拍| 日本在线不卡一区| www.99精品| 精品国产免费久久 | 97国产精品videossex| 欧美色图片你懂的| 国产日韩成人精品| 日韩成人伦理电影在线观看| 99re在线精品| 久久一日本道色综合| 香蕉影视欧美成人| 91丝袜美女网| 中文字幕第一页久久| 日韩av在线播放中文字幕| 91免费国产在线观看| 久久久国产精华| 日本成人在线不卡视频| 在线日韩av片| 亚洲男女一区二区三区| 成人高清伦理免费影院在线观看| 欧美大片在线观看一区二区| 洋洋av久久久久久久一区| 99久久免费精品| 国产女人18毛片水真多成人如厕 | 日韩午夜中文字幕| 亚洲一区二区三区四区在线观看| 成人av集中营| 国产欧美一区二区三区沐欲| 精品一区二区三区在线观看| 欧美一级精品在线| 天使萌一区二区三区免费观看| 一本色道久久加勒比精品| 中文字幕一区在线观看| 成人va在线观看| 国产网站一区二区三区| 国产乱码精品1区2区3区| 日韩女同互慰一区二区| 日韩 欧美一区二区三区| 欧美曰成人黄网| 亚洲韩国一区二区三区| 欧美日韩国产色站一区二区三区| 亚洲视频在线一区观看| 色综合久久中文综合久久牛| 亚洲精选一二三| 欧美亚洲国产bt| 亚洲国产日韩综合久久精品| 欧美日韩色综合| 性做久久久久久免费观看| 欧美一区在线视频| 奇米四色…亚洲| 精品成人一区二区| 国产成人av资源| 国产精品系列在线| 一本色道久久综合狠狠躁的推荐| 一区二区不卡在线视频 午夜欧美不卡在| av电影一区二区| 一区二区三区日本| 亚洲va欧美va国产va天堂影院| **性色生活片久久毛片| 欧美无人高清视频在线观看| 视频一区二区三区中文字幕| 欧美不卡一区二区三区四区| 国产91精品一区二区麻豆网站| 最新日韩在线视频| 欧美日韩视频在线一区二区| 久久av中文字幕片| 中文字幕在线免费不卡| 欧美色图一区二区三区| 九九视频精品免费| 综合久久久久久久| 4438x亚洲最大成人网| 国产精品99久久久久久久女警| 成人免费一区二区三区视频| 制服视频三区第一页精品| 国产精品主播直播| 一区2区3区在线看| 久久麻豆一区二区| 91精品1区2区| 国产精品夜夜爽| 亚洲成人精品一区| 国产欧美日韩亚州综合| 欧美日韩国产中文| 国产成人精品在线看| 亚洲国产欧美在线| 国产午夜精品久久久久久免费视 | 成人免费在线视频观看| 欧美一区二区二区| 91在线观看视频| 国模一区二区三区白浆| 亚洲精品第1页| 中文字幕国产一区二区| 欧美大片拔萝卜| 91九色02白丝porn| 岛国av在线一区| 免费成人在线视频观看| 依依成人精品视频| 国产日韩欧美麻豆| 欧美电影免费提供在线观看| 在线观看日韩精品| 国产成人在线视频免费播放| 久久精品72免费观看| 亚洲国产精品精华液网站| 国产精品不卡一区| 国产女主播视频一区二区| 精品国产自在久精品国产| 欧美精品乱码久久久久久| 欧美在线播放高清精品| 国产九九视频一区二区三区| 欧美曰成人黄网| 99re66热这里只有精品3直播| 国产乱码精品一区二区三区五月婷| 同产精品九九九| 夜夜精品视频一区二区| 亚洲少妇30p| 中文字幕在线不卡视频| 波多野结衣欧美| 香港成人在线视频| 亚洲国产另类av| 亚洲激情图片小说视频| 亚洲一区免费观看| 亚洲激情欧美激情| 亚洲午夜久久久久久久久电影网| 亚洲美女免费视频| 亚洲视频一区二区在线| 一区二区三区蜜桃| 一区二区三区波多野结衣在线观看| 亚洲人成网站色在线观看| 亚洲视频一区在线观看| 亚洲伊人伊色伊影伊综合网| 亚洲一区在线看| 日韩在线观看一区二区| 麻豆精品一区二区三区| 激情六月婷婷综合| 成人中文字幕在线| 91啪九色porn原创视频在线观看| 日本久久电影网| 9191成人精品久久| 久久丝袜美腿综合| 亚洲少妇中出一区| 丝袜国产日韩另类美女| 黄网站免费久久| 97久久超碰国产精品| 欧美精三区欧美精三区| 欧美精品一区二区三区在线 | 精品成人免费观看| 国产精品视频免费| 亚洲国产视频一区二区| 久久99国产精品麻豆| 丁香天五香天堂综合| 欧美在线视频你懂得| 日韩视频在线你懂得| 国产精品久久久久久久久免费丝袜| 日韩国产一区二| 丁香六月综合激情| 欧美日韩久久一区二区| 久久久www免费人成精品| 亚洲综合区在线| 风间由美性色一区二区三区| 7777女厕盗摄久久久|