Mercurial > repos > rliterman > csp2
diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/tkMacOSXInt.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/tkMacOSXInt.h Tue Mar 18 17:55:14 2025 -0400 @@ -0,0 +1,199 @@ +/* + * tkMacOSXInt.h -- + * + * Declarations of Macintosh specific shared variables and procedures. + * + * Copyright (c) 1995-1997 Sun Microsystems, Inc. + * Copyright 2001-2009, Apple Inc. + * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net> + * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + */ + +#ifndef _TKMACINT +#define _TKMACINT + +#ifndef _TKINT +#include "tkInt.h" +#endif + +/* + * Include platform specific public interfaces. + */ + +#ifndef _TKMAC +#include "tkMacOSX.h" +#import <Cocoa/Cocoa.h> +#endif + +/* + * Define compatibility platform types used in the structures below so that + * this header can be included without pulling in the platform headers. + */ + +#ifndef _TKMACPRIV +# ifndef CGGEOMETRY_H_ +# ifndef CGFLOAT_DEFINED +# if __LP64__ +# define CGFloat double +# else +# define CGFloat float +# endif +# endif +# define CGSize struct {CGFloat width; CGFloat height;} +# endif +# ifndef CGCONTEXT_H_ +# define CGContextRef void * +# endif +# ifndef CGCOLOR_H_ +# define CGColorRef void * +# endif +# ifndef __HISHAPE__ +# define HIShapeRef void * +# endif +# ifndef _APPKITDEFINES_H +# define NSView void * +# endif +#endif + +struct TkWindowPrivate { + TkWindow *winPtr; /* Ptr to tk window or NULL if Pixmap */ + NSView *view; + CGContextRef context; + int xOff; /* X offset from toplevel window */ + int yOff; /* Y offset from toplevel window */ + CGSize size; + HIShapeRef visRgn; /* Visible region of window */ + HIShapeRef aboveVisRgn; /* Visible region of window & its children */ + HIShapeRef drawRgn; /* Clipped drawing region */ + int referenceCount; /* Don't delete toplevel until children are + * gone. */ + struct TkWindowPrivate *toplevel; + /* Pointer to the toplevel datastruct. */ + CGFloat fillRGBA[4]; /* Background used by the ttk FillElement */ + int flags; /* Various state see defines below. */ +}; +typedef struct TkWindowPrivate MacDrawable; + +/* + * Defines use for the flags field of the MacDrawable data structure. + */ + +#define TK_SCROLLBAR_GROW 0x01 +#define TK_CLIP_INVALID 0x02 +#define TK_HOST_EXISTS 0x04 +#define TK_DRAWN_UNDER_MENU 0x08 +#define TK_IS_PIXMAP 0x10 +#define TK_IS_BW_PIXMAP 0x20 +#define TK_DO_NOT_DRAW 0x40 +#define TTK_HAS_CONTRASTING_BG 0x80 + +/* + * 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 + * TkMacOSXGetDrawablePort. The definitions of the function types + * are in tkMacOSX.h. + */ + +typedef struct { + Tk_MacOSXEmbedRegisterWinProc *registerWinProc; + Tk_MacOSXEmbedGetGrafPortProc *getPortProc; + Tk_MacOSXEmbedMakeContainerExistProc *containerExistProc; + Tk_MacOSXEmbedGetClipProc *getClipProc; + Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc; +} TkMacOSXEmbedHandler; + +MODULE_SCOPE TkMacOSXEmbedHandler *tkMacOSXEmbedHandler; + +/* + * Undef compatibility platform types defined above. + */ + +#ifndef _TKMACPRIV +# ifndef CGGEOMETRY_H_ +# ifndef CGFLOAT_DEFINED +# undef CGFloat +# endif +# undef CGSize +# endif +# ifndef CGCONTEXT_H_ +# undef CGContextRef +# endif +# ifndef CGCOLOR_H_ +# undef CGColorRef +# endif +# ifndef __HISHAPE__ +# undef HIShapeRef +# endif +# ifndef _APPKITDEFINES_H +# undef NSView +# endif +#endif + +/* + * Defines used for TkMacOSXInvalidateWindow + */ + +#define TK_WINDOW_ONLY 0 +#define TK_PARENT_WINDOW 1 + +/* + * Accessor for the privatePtr flags field for the TK_HOST_EXISTS field + */ + +#define TkMacOSXHostToplevelExists(tkwin) \ + (((TkWindow *) (tkwin))->privatePtr->toplevel->flags & TK_HOST_EXISTS) + +/* + * Defines used for the flags argument to TkGenWMConfigureEvent. + */ + +#define TK_LOCATION_CHANGED 1 +#define TK_SIZE_CHANGED 2 +#define TK_BOTH_CHANGED 3 +#define TK_MACOSX_HANDLE_EVENT_IMMEDIATELY 1024 + +/* + * Defines for tkTextDisp.c and tkFont.c + */ + +#define TK_LAYOUT_WITH_BASE_CHUNKS 1 +#define TK_DRAW_IN_CONTEXT 1 + +/* + * Prototypes of internal procs not in the stubs table. + */ + +MODULE_SCOPE void TkMacOSXDefaultStartupScript(void); +MODULE_SCOPE void TkpClipDrawableToRect(Display *display, Drawable d, int x, + int y, int width, int height); +MODULE_SCOPE void TkpShiftButton(NSButton *button, NSPoint delta); +MODULE_SCOPE Bool TkTestLogDisplay(Drawable drawable); + +/* + * Include the stubbed internal platform-specific API. + */ + +#include "tkIntPlatDecls.h" + +#endif /* _TKMACINT */ + +/* + * Local Variables: + * mode: objc + * c-basic-offset: 4 + * fill-column: 79 + * coding: utf-8 + * End: + */