archie/tk4.2/mac/tkMacInt.h
2024-05-27 16:40:40 +02:00

125 lines
4.8 KiB
C

/*
* tkMacInt.h --
*
* Declarations of Macintosh specific shared variables and procedures.
*
* Copyright (c) 1995-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: @(#) tkMacInt.h 1.41 96/09/05 13:38:41
*/
#ifndef _TKMACINT
#define _TKMACINT
#include "tkInt.h"
#include "tkPort.h"
#include <AppleEvents.h>
#include <Windows.h>
#include <QDOffscreen.h>
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. */
TkWindow *scrollWinPtr; /* Ptr to scrollbar handling grow widget. */
};
typedef struct TkWindowPrivate MacDrawable;
/*
* Defines use for the flags field of the MacDrawable data structure.
*/
#define TK_SCROLLBAR_GROW 1
#define TK_CLIP_INVALID 2
#define TK_EMBED_WINDOW 4
/*
* 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;
/*
* Internal procedures shared among Macintosh Tk modules but not exported
* to the outside world:
*/
extern int HandleWMEvent _ANSI_ARGS_((EventRecord *theEvent));
extern void InvalClipRgns _ANSI_ARGS_((TkWindow *winPtr));
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,
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 int TkMacConvertEvent _ANSI_ARGS_((EventRecord *eventPtr));
extern void tkMacInstallMWConsole _ANSI_ARGS_((
Tcl_Interp *interp));
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 void TkMacInitAppleEvents _ANSI_ARGS_((Tcl_Interp *interp));
extern void TkMacInitMenus _ANSI_ARGS_((Tcl_Interp *interp));
extern void TkMacPointerDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
extern int TkMacResizable _ANSI_ARGS_((TkWindow *winPtr));
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 RgnHandle TkMacVisableClipRgn _ANSI_ARGS_((TkWindow *winPtr));
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 void TkUpdateCursor _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 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));
#endif /* _TKMACINT */