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

📄 tkmacint.h

📁 linux系统下的音频通信
💻 H
字号:
/* * tkMacInt.h -- * *	Declarations of Macintosh specific shared variables and procedures. * * Copyright (c) 1995-1997 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: @(#) tkMacInt.h 1.67 97/11/20 18:30:38 */#ifndef _TKMACINT#define _TKMACINT#include "tkInt.h"#include "tkPort.h"#ifndef _TKMAC#    include "tkMac.h"#endif /* _TKMAC */#include <AppleEvents.h>#include <Windows.h>#include <QDOffscreen.h>#include <Menus.h>#define TK_MAC_68K_STACK_GROWTH (256*1024)struct TkWindowPrivate {    TkWindow *winPtr;     	/* Ptr to tk window or NULL if Pixmap */    GWorldPtr portPtr;     	/* Either WindowRef or off screen world */    int xOff;	       		/* X offset from toplevel window */    int yOff;		       	/* Y offset from toplevel window */    RgnHandle clipRgn;		/* Visable region of window */    RgnHandle aboveClipRgn;	/* Visable region of window & it's children */    int referenceCount;		/* Don't delete toplevel until children are				 * gone. */    struct TkWindowPrivate *toplevel;	/* Pointer to the toplevel					 * datastruct. */    int flags;			/* Various state see defines below. */};typedef struct TkWindowPrivate MacDrawable;/* * This list is used to keep track of toplevel windows that have a Mac * window attached. This is useful for several things, not the least * of which is maintaining floating windows. */typedef struct TkMacWindowList {    struct TkMacWindowList *nextPtr;	/* The next window in the list. */    TkWindow *winPtr;			/* This window */} TkMacWindowList;/* * Defines use for the flags field of the MacDrawable data structure. */ #define TK_SCROLLBAR_GROW	1#define TK_CLIP_INVALID		2#define TK_HOST_EXISTS		4#define TK_DRAWN_UNDER_MENU	8/* * I am reserving TK_EMBEDDED = 0x100 in the MacDrawable flags * This is defined in tk.h. We need to duplicate the TK_EMBEDDED flag in the * TkWindow structure for the window,  but in the MacWin.  This way we can still tell * what the correct port is after the TKWindow  structure has been freed.  This  * actually happens when you bind destroy of a toplevel to Destroy of a child. *//* * This structure is for handling Netscape-type in process * embedding where Tk does not control the top-level.  It contains * various functions that are needed by Mac specific routines, like * TkMacGetDrawablePort.  The definitions of the function types * are in tclMac.h. */typedef struct {	Tk_MacEmbedRegisterWinProc *registerWinProc;	Tk_MacEmbedGetGrafPortProc *getPortProc;	Tk_MacEmbedMakeContainerExistProc *containerExistProc;	Tk_MacEmbedGetClipProc *getClipProc;	Tk_MacEmbedGetOffsetInParentProc *getOffsetProc;} TkMacEmbedHandler;extern TkMacEmbedHandler *gMacEmbedHandler;/* * Defines used for TkMacInvalidateWindow */ #define TK_WINDOW_ONLY 0#define TK_PARENT_WINDOW 1/* * Accessor for the privatePtr flags field for the TK_HOST_EXISTS field */ #define TkMacHostToplevelExists(tkwin) \    (((TkWindow *) (tkwin))->privatePtr->toplevel->flags & TK_HOST_EXISTS)/* * Defines use for the flags argument to TkGenWMConfigureEvent. */ #define TK_LOCATION_CHANGED	1#define TK_SIZE_CHANGED		2#define TK_BOTH_CHANGED		3/* * Variables shared among various Mac Tk modules but are not * exported to the outside world. */ extern int tkMacAppInFront;/* * Globals shared among Macintosh Tk */ extern MenuHandle tkAppleMenu;		/* Handle to the Apple Menu */extern MenuHandle tkFileMenu;		/* Handles to menus */extern MenuHandle tkEditMenu;		/* Handles to menus */extern RgnHandle tkMenuCascadeRgn;	/* A region to clip with. */extern int tkUseMenuCascadeRgn;		/* If this is 1, clipping code					 * should intersect tkMenuCascadeRgn					 * before drawing occurs.					 * tkMenuCascadeRgn will only					 * be valid when the value of this					 * variable is 1. */extern TkMacWindowList *tkMacWindowListPtr;					/* The list of toplevels *//* * The following types and defines are for MDEF support. */#if STRUCTALIGNMENTSUPPORTED#pragma options align=mac8k#endiftypedef struct TkMenuLowMemGlobals {    long menuDisable;			/* A combination of the menu and the item    					 * that the mouse is currently over. */    short menuTop;			/* Where in global coords the top of the    					 * menu is. */    short menuBottom;			/* Where in global coords the bottom of    					 * the menu is. */    Rect itemRect;			/* This is the rectangle of the currently    					 * selected item. */    short scrollFlag;			/* This is used by the MDEF and the    					 * Menu Manager to control when scrolling    					 * starts. With hierarchicals, an    					 * mChooseMsg can come before an    					 * mDrawMsg, and scrolling should not    					 * occur until after the mDrawMsg.    					 * The mDrawMsg sets this flag;    					 * mChooseMsg checks the flag and    					 * does not scroll if it is set;    					 * and then resets the flag. */} TkMenuLowMemGlobals;#if STRUCTALIGNMENTSUPPORTED#pragma options align=reset#endiftypedef pascal void (*TkMenuDefProcPtr) (short message, MenuHandle theMenu,	Rect *menuRectPtr, Point hitPt, short *whichItemPtr,	TkMenuLowMemGlobals *globalsPtr);enum {    tkUppMenuDefProcInfo = kPascalStackBased	    | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))	    | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(MenuRef)))	    | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Rect*)))	    | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Point)))	    | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(short*)))	    | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(TkMenuLowMemGlobals *)))};#if GENERATINGCFMtypedef UniversalProcPtr TkMenuDefUPP;#elsetypedef TkMenuDefProcPtr TkMenuDefUPP;#endif#if GENERATINGCFM#define TkNewMenuDefProc(userRoutine)	\	(TkMenuDefUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \	tkUppMenuDefProcInfo, GetCurrentArchitecture())#else#define TkNewMenuDefProc(userRoutine) 	\	((TkMenuDefUPP) (userRoutine))#endif#if GENERATINGCFM#define TkCallMenuDefProc(userRoutine, message, theMenu, menuRectPtr, hitPt, \	whichItemPtr, globalsPtr) \	CallUniversalProc((UniversalProcPtr)(userRoutine), TkUppMenuDefProcInfo, \	(message), (theMenu), (menuRectPtr), (hitPt), (whichItemPtr), \	(globalsPtr))#else#define TkCallMenuDefProc(userRoutine, message, theMenu, menuRectPtr, hitPt, \	whichItemPtr, globalsPtr) \	(*(userRoutine))((message), (theMenu), (menuRectPtr), (hitPt), \	(whichItemPtr), (globalsPtr))#endif/* * Internal procedures shared among Macintosh Tk modules but not exported * to the outside world: */extern int		HandleWMEvent _ANSI_ARGS_((EventRecord *theEvent));extern void 		TkAboutDlg _ANSI_ARGS_((void));extern void		TkCreateMacEventSource _ANSI_ARGS_((void));extern void 		TkFontList _ANSI_ARGS_((Tcl_Interp *interp,			    Display *display));extern Window		TkGetTransientMaster _ANSI_ARGS_((TkWindow *winPtr));extern int		TkGenerateButtonEvent _ANSI_ARGS_((int x, int y,			    Window window, unsigned int state));extern int 		TkGetCharPositions _ANSI_ARGS_((			    XFontStruct *font_struct, char *string,			    int count, short *buffer));extern void		TkGenWMDestroyEvent _ANSI_ARGS_((Tk_Window tkwin));extern void		TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin,			    int x, int y, int width, int height, int flags));extern unsigned int	TkMacButtonKeyState _ANSI_ARGS_((void));extern void		TkMacClearMenubarActive _ANSI_ARGS_((void));extern int		TkMacConvertEvent _ANSI_ARGS_((EventRecord *eventPtr));extern int		TkMacDispatchMenuEvent _ANSI_ARGS_((int menuID, 			    int index));extern void		TkMacInstallCursor _ANSI_ARGS_((int resizeOverride));extern int		TkMacConvertTkEvent _ANSI_ARGS_((EventRecord *eventPtr,			    Window window));extern void		TkMacHandleTearoffMenu _ANSI_ARGS_((void));extern void		tkMacInstallMWConsole _ANSI_ARGS_((			    Tcl_Interp *interp));extern void		TkMacInvalClipRgns _ANSI_ARGS_((TkWindow *winPtr));extern void		TkMacDoHLEvent _ANSI_ARGS_((EventRecord *theEvent));extern void 		TkMacFontInfo _ANSI_ARGS_((Font fontId, short *family,			    short *style, short *size));extern Time		TkMacGenerateTime _ANSI_ARGS_(());extern GWorldPtr 	TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable));extern TkWindow * 	TkMacGetScrollbarGrowWindow _ANSI_ARGS_((			    TkWindow *winPtr));extern Window 		TkMacGetXWindow _ANSI_ARGS_((WindowRef macWinPtr));extern int		TkMacGrowToplevel _ANSI_ARGS_((WindowRef whichWindow,			    Point start));extern void 		TkMacHandleMenuSelect _ANSI_ARGS_((long mResult,			    int optionKeyPressed));extern int		TkMacHaveAppearance _ANSI_ARGS_((void));extern void		TkMacInitAppleEvents _ANSI_ARGS_((Tcl_Interp *interp));extern void 		TkMacInitMenus _ANSI_ARGS_((Tcl_Interp 	*interp));extern void		TkMacInvalidateWindow _ANSI_ARGS_((MacDrawable *macWin, int flag));extern int		TkMacIsCharacterMissing _ANSI_ARGS_((Tk_Font tkfont,			    unsigned int searchChar));extern void		TkMacMakeRealWindowExist _ANSI_ARGS_((			    TkWindow *winPtr));extern BitMapPtr	TkMacMakeStippleMap(Drawable, Drawable);extern void		TkMacMenuClick _ANSI_ARGS_((void));extern void		TkMacRegisterOffScreenWindow _ANSI_ARGS_((Window window,			    GWorldPtr portPtr));extern int		TkMacResizable _ANSI_ARGS_((TkWindow *winPtr));extern void		TkMacSetEmbedRgn _ANSI_ARGS_((TkWindow *winPtr, RgnHandle rgn));extern void		TkMacSetHelpMenuItemCount _ANSI_ARGS_((void));extern void		TkMacSetScrollbarGrow _ANSI_ARGS_((TkWindow *winPtr,			    int flag));extern void		TkMacSetUpClippingRgn _ANSI_ARGS_((Drawable drawable));extern void		TkMacSetUpGraphicsPort _ANSI_ARGS_((GC gc));extern void 		TkMacUpdateClipRgn _ANSI_ARGS_((TkWindow *winPtr));extern void		TkMacUnregisterMacWindow _ANSI_ARGS_((GWorldPtr portPtr));extern int		TkMacUseMenuID _ANSI_ARGS_((short macID));extern RgnHandle 	TkMacVisableClipRgn _ANSI_ARGS_((TkWindow *winPtr));extern void		TkMacWinBounds _ANSI_ARGS_((TkWindow *winPtr,			    Rect *geometry));extern void		TkMacWindowOffset _ANSI_ARGS_((WindowRef wRef, 			    int *xOffset, int *yOffset));extern void		TkResumeClipboard _ANSI_ARGS_((void));extern int 		TkSetMacColor _ANSI_ARGS_((unsigned long pixel,			    RGBColor *macColor));extern void 		TkSetWMName _ANSI_ARGS_((TkWindow *winPtr,			    Tk_Uid titleUid));extern void		TkSuspendClipboard _ANSI_ARGS_((void));extern int		TkWMGrowToplevel _ANSI_ARGS_((WindowRef whichWindow,			    Point start));extern int		TkMacZoomToplevel _ANSI_ARGS_((WindowPtr whichWindow, 			    Point where, short zoomPart));extern Tk_Window	Tk_TopCoordsToWindow _ANSI_ARGS_((Tk_Window tkwin,			    int rootX, int rootY, int *newX, int *newY));extern MacDrawable *	TkMacContainerId _ANSI_ARGS_((TkWindow *winPtr));extern MacDrawable *	TkMacGetHostToplevel  _ANSI_ARGS_((TkWindow *winPtr));/* * The following prototypes need to go into tkMac.h */EXTERN void		Tk_UpdatePointer _ANSI_ARGS_((Tk_Window tkwin,			    int x, int y, int state));#endif /* _TKMACINT */

⌨️ 快捷键说明

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