diff options
Diffstat (limited to 'carbon/tkMacOSXPrivate.h')
-rw-r--r-- | carbon/tkMacOSXPrivate.h | 352 |
1 files changed, 0 insertions, 352 deletions
diff --git a/carbon/tkMacOSXPrivate.h b/carbon/tkMacOSXPrivate.h deleted file mode 100644 index 72b418e..0000000 --- a/carbon/tkMacOSXPrivate.h +++ /dev/null @@ -1,352 +0,0 @@ -/* - * tkMacOSXPrivate.h -- - * - * Macros and declarations that are purely internal & private to TkAqua. - * - * Copyright (c) 2005-2007 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 _TKMACPRIV -#define _TKMACPRIV - -#ifndef _TKMACINT -#include "tkMacOSXInt.h" -#endif - -/* Define constants only available on Mac OS X 10.3 or later */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 -# define kEventAppAvailableWindowBoundsChanged 110 -# define kEventParamTransactionID 'trns' -# define kEventParamWindowPartCode 'wpar' -# define typeWindowPartCode 'wpar' -# define kMenuAttrDoNotUseUserCommandKeys (1 << 7) -# define kSimpleWindowClass 18 -# define kWindowDoesNotCycleAttribute (1L << 15) -# define kWindowAsyncDragAttribute (1L << 23) -# define kThemeBrushAlternatePrimaryHighlightColor -5 -# define kThemeResizeUpCursor 19 -# define kThemeResizeDownCursor 19 -# define kThemeResizeUpDownCursor 19 -# define kThemePoofCursor 19 -# define kThemeBackgroundMetal 6 -# define kThemeIncDecButtonSmall 21 -# define kThemeIncDecButtonMini 22 -# define kThemeComboBox 16 -# define kThemeMiniSystemFont 109 -# define kAppearancePartUpButton 20 -# define kAppearancePartDownButton 21 -# define kAppearancePartPageUpArea 22 -# define kAppearancePartPageDownArea 23 -# define kAppearancePartIndicator 129 -# define kUIModeAllSuppressed 4 -# define FixedToInt(a) ((short)(((Fixed)(a) + fixed1/2) >> 16)) -# define IntToFixed(a) ((Fixed)(a) << 16) -#endif -/* Define constants only available on Mac OS X 10.4 or later */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1040 -# define kWindowNoTitleBarAttribute (1L << 9) -# define kWindowMetalNoContentSeparatorAttribute (1L << 11) -# define kThemeDisclosureTriangle 6 -# define kThemeBrushListViewOddRowBackground 56 -# define kThemeBrushListViewEvenRowBackground 57 -# define kThemeBrushListViewColumnDivider 58 -# define kThemeMetricScrollBarMinThumbHeight 132 -# define kThemeMetricSmallScrollBarMinThumbHeight 134 -# define kThemeScrollBarMedium kThemeMediumScrollBar -# define kThemeScrollBarSmall kThemeSmallScrollBar -# ifdef __BIG_ENDIAN__ -# define kCGBitmapByteOrder32Host (4 << 12) -# else -# define kCGBitmapByteOrder32Host (2 << 12) -# endif -#endif -/* Define constants only available on Mac OS X 10.5 or later */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -# define kWindowUnifiedTitleAndToolbarAttribute (1L << 7) -# define kWindowTexturedSquareCornersAttribute (1L << 10) -#endif -/* HIToolbox version constants */ -#ifndef kHIToolboxVersionNumber10_3 -# define kHIToolboxVersionNumber10_3 (145) -#endif -#ifndef kHIToolboxVersionNumber10_4 -# define kHIToolboxVersionNumber10_4 (219) -#endif -#ifndef kHIToolboxVersionNumber10_5 -# define kHIToolboxVersionNumber10_5 (343) -#endif -/* Macros for HIToolbox runtime version checking */ -MODULE_SCOPE float tkMacOSXToolboxVersionNumber; -#define TK_IF_HI_TOOLBOX(vers, ...) \ - tk_if_mac_os_x_min_10_##vers(tkMacOSXToolboxVersionNumber >= \ - kHIToolboxVersionNumber10_##vers, 1, __VA_ARGS__) -#define TK_ELSE_HI_TOOLBOX(vers, ...) \ - tk_else_mac_os_x_min_10_##vers(__VA_ARGS__) -/* Macros for Mac OS X API availability checking */ -#define TK_IF_MAC_OS_X_API(vers, symbol, ...) \ - tk_if_mac_os_x_10_##vers(symbol != NULL, 1, __VA_ARGS__) -#define TK_ELSE_MAC_OS_X(vers, ...) \ - tk_else_mac_os_x_10_##vers(__VA_ARGS__) -#define TK_IF_MAC_OS_X_API_COND(vers, symbol, cond, ...) \ - tk_if_mac_os_x_10_##vers(symbol != NULL, cond, __VA_ARGS__) -#define TK_ELSE(...) \ - } else { __VA_ARGS__ -#define TK_ENDIF \ - } -/* Private macros that implement the checking macros above */ -#define tk_if_mac_os_x_yes(chk, cond, ...) \ - if (cond) { __VA_ARGS__ -#define tk_else_mac_os_x_yes(...) \ - } else { -#define tk_if_mac_os_x_chk(chk, cond, ...) \ - if ((chk) && (cond)) { __VA_ARGS__ -#define tk_else_mac_os_x_chk(...) \ - } else { __VA_ARGS__ -#define tk_if_mac_os_x_no(chk, cond, ...) \ - if (0) { -#define tk_else_mac_os_x_no(...) \ - } else { __VA_ARGS__ -/* Private mapping macros defined according to Mac OS X version requirements */ -/* 10.3 Panther */ -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1030 -#define tk_if_mac_os_x_min_10_3 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_min_10_3 tk_else_mac_os_x_yes -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 -#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_yes -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#else /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#define tk_if_mac_os_x_min_10_3 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_min_10_3 tk_else_mac_os_x_chk -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 -#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_chk -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 -#define tk_if_mac_os_x_10_3 tk_if_mac_os_x_no -#define tk_else_mac_os_x_10_3 tk_else_mac_os_x_no -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -/* 10.4 Tiger */ -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1040 -#define tk_if_mac_os_x_min_10_4 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_min_10_4 tk_else_mac_os_x_yes -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 -#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_yes -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#else /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#define tk_if_mac_os_x_min_10_4 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_min_10_4 tk_else_mac_os_x_chk -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 -#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_chk -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1040 -#define tk_if_mac_os_x_10_4 tk_if_mac_os_x_no -#define tk_else_mac_os_x_10_4 tk_else_mac_os_x_no -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -/* 10.5 Leopard */ -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 -#define tk_if_mac_os_x_min_10_5 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_min_10_5 tk_else_mac_os_x_yes -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 -#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_yes -#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_yes -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#else /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#define tk_if_mac_os_x_min_10_5 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_min_10_5 tk_else_mac_os_x_chk -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 -#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_chk -#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_chk -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ -#endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -#define tk_if_mac_os_x_10_5 tk_if_mac_os_x_no -#define tk_else_mac_os_x_10_5 tk_else_mac_os_x_no -#endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ - -/* - * Macros for DEBUG_ASSERT_MESSAGE et al from Debugging.h. - */ - -#undef kComponentSignatureString -#undef COMPONENT_SIGNATURE -#define kComponentSignatureString "TkMacOSX" -#define COMPONENT_SIGNATURE 'Tk ' - -/* - * Macros abstracting checks only active in a debug build. - */ - -#ifdef TK_MAC_DEBUG -/* - * Macro to do debug message output. - */ -#define TkMacOSXDbgMsg(m, ...) \ - do { \ - fprintf(stderr, "%s:%d: %s(): " m "\n", strrchr(__FILE__, '/')+1, \ - __LINE__, __func__, ##__VA_ARGS__); \ - } while (0) - -/* - * Macro to do debug API failure message output. - */ -#if !defined(DEBUGLEVEL) || !DEBUGLEVEL -#define TkMacOSXDbgOSErr(f, err) \ - do { \ - TkMacOSXDbgMsg("%s failed: %ld", #f, err); \ - } while (0) -#else -#define TkMacOSXDbgOSErr(f, err) \ - do { \ - DEBUG_ASSERT_MESSAGE(kComponentSignatureString, #f " failed:", \ - __func__, 0, strrchr(__FILE__, '/')+1, __LINE__, err); \ - } while (0) -#endif - -/* - * Macro to do very common check for noErr return from given API and output - * debug message in case of failure. - */ -#define ChkErr(f, ...) ({ \ - OSStatus err = f(__VA_ARGS__); \ - if (err != noErr) { \ - TkMacOSXDbgOSErr(f, err); \ - } \ - err;}) - -/* - * Macro to check emptyness of shared QD tmp region before use in debug builds. - */ -#define TkMacOSXCheckTmpQdRgnEmpty() \ - do { \ - if (!EmptyRgn(tkMacOSXtmpQdRgn)) { \ - Tcl_Panic("tkMacOSXtmpQdRgn nonempty"); \ - } \ - } while(0) -#else /* TK_MAC_DEBUG */ -#define TkMacOSXDbgMsg(m, ...) -#define TkMacOSXDbgOSErr(f, err) -#define ChkErr(f, ...) ({f(__VA_ARGS__);}) -#define TkMacOSXCheckTmpQdRgnEmpty() -#endif /* TK_MAC_DEBUG */ - -/* - * Macro abstracting use of TkMacOSXGetNamedSymbol to init named symbols. - */ - -#define TkMacOSXInitNamedSymbol(module, ret, symbol, ...) \ - static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \ - if (symbol == (void*)(-1L)) { \ - symbol = TkMacOSXGetNamedSymbol(STRINGIFY(module), \ - STRINGIFY(_##symbol)); \ - } - -/* - * Structure encapsulating current drawing environment. - */ - -typedef struct TkMacOSXDrawingContext { - CGContextRef context; - CGrafPtr port, savePort; - ThemeDrawingState saveState; - RgnHandle saveClip; - HIShapeRef clipRgn; - PixPatHandle penPat; - Rect portBounds; - Boolean portChanged; -} TkMacOSXDrawingContext; - -/* - * Variables internal to TkAqua. - */ - -MODULE_SCOPE RgnHandle tkMacOSXtmpQdRgn; -MODULE_SCOPE int tkMacOSXUseCGDrawing; - -/* - * Prototypes for TkMacOSXRegion.c. - */ - -#if 0 -MODULE_SCOPE void TkMacOSXEmtpyRegion(TkRegion r); -MODULE_SCOPE int TkMacOSXIsEmptyRegion(TkRegion r); -#endif -MODULE_SCOPE HIShapeRef TkMacOSXGetNativeRegion(TkRegion r); -MODULE_SCOPE void TkMacOSXSetWithNativeRegion(TkRegion r, - HIShapeRef rgn); -MODULE_SCOPE void TkMacOSXOffsetRegion(TkRegion r, short dx, short dy); -MODULE_SCOPE HIShapeRef TkMacOSXHIShapeCreateEmpty(void); -MODULE_SCOPE HIMutableShapeRef TkMacOSXHIShapeCreateMutableWithRect( - const CGRect *inRect); -MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithShape( - HIMutableShapeRef inDestShape, - HIShapeRef inSrcShape); -#if 0 -MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithRect(HIMutableShapeRef inShape, - const CGRect *inRect); -#endif -MODULE_SCOPE OSStatus TkMacOSHIShapeDifferenceWithRect( - HIMutableShapeRef inShape, const CGRect *inRect); -MODULE_SCOPE OSStatus TkMacOSHIShapeUnionWithRect(HIMutableShapeRef inShape, - const CGRect *inRect); -MODULE_SCOPE OSStatus TkMacOSHIShapeUnion(HIShapeRef inShape1, - HIShapeRef inShape2, HIMutableShapeRef outResult); - -/* - * Prototypes of TkAqua internal procs. - */ - -MODULE_SCOPE void * TkMacOSXGetNamedSymbol(const char *module, - const char *symbol); -MODULE_SCOPE void TkMacOSXDisplayChanged(Display *display); -MODULE_SCOPE void TkMacOSXInitScrollbarMetrics(void); -MODULE_SCOPE int TkMacOSXUseAntialiasedText(Tcl_Interp *interp, - int enable); -MODULE_SCOPE void TkMacOSXInitCarbonEvents(Tcl_Interp *interp); -MODULE_SCOPE int TkMacOSXInitCGDrawing(Tcl_Interp *interp, int enable, - int antiAlias); -MODULE_SCOPE void TkMacOSXInitKeyboard(Tcl_Interp *interp); -MODULE_SCOPE int TkMacOSXGenerateFocusEvent(Window window, - int activeFlag); -MODULE_SCOPE int TkMacOSXGenerateParentMenuSelectEvent(MenuRef menu); -MODULE_SCOPE int TkMacOSXGenerateMenuSelectEvent(MenuRef menu, - MenuItemIndex index); -MODULE_SCOPE void TkMacOSXClearActiveMenu(MenuRef menu); -MODULE_SCOPE WindowClass TkMacOSXWindowClass(TkWindow *winPtr); -MODULE_SCOPE int TkMacOSXIsWindowZoomed(TkWindow *winPtr); -MODULE_SCOPE int TkGenerateButtonEventForXPointer(Window window); -MODULE_SCOPE EventModifiers TkMacOSXModifierState(void); -MODULE_SCOPE int TkMacOSXSetupDrawingContext(Drawable d, GC gc, - int useCG, TkMacOSXDrawingContext *dcPtr); -MODULE_SCOPE void TkMacOSXRestoreDrawingContext( - TkMacOSXDrawingContext *dcPtr); -MODULE_SCOPE void TkMacOSXSetColorInPort(unsigned long pixel, int fg, - PixPatHandle penPat, CGrafPtr port); -MODULE_SCOPE void TkMacOSXSetColorInContext(unsigned long pixel, - CGContextRef context); -MODULE_SCOPE int TkMacOSXRunTclEventLoop(void); -MODULE_SCOPE OSStatus TkMacOSXStartTclEventLoopCarbonTimer(void); -MODULE_SCOPE OSStatus TkMacOSXStopTclEventLoopCarbonTimer(void); -MODULE_SCOPE void TkMacOSXTrackingLoop(int tracking); -MODULE_SCOPE OSStatus TkMacOSXReceiveAndDispatchEvent(void); -MODULE_SCOPE void TkMacOSXInstallWindowCarbonEventHandler( - Tcl_Interp *interp, WindowRef window); -MODULE_SCOPE int TkMacOSXMakeFullscreen(TkWindow *winPtr, - WindowRef window, int fullscreen, - Tcl_Interp *interp); -MODULE_SCOPE void TkMacOSXEnterExitFullscreen(TkWindow *winPtr, - int active); -MODULE_SCOPE void TkMacOSXBringWindowForward(WindowRef wRef); -MODULE_SCOPE WindowRef TkMacOSXDrawableWindow(Drawable drawable); -MODULE_SCOPE void TkMacOSXWinCGBounds(TkWindow *winPtr, CGRect *bounds); -MODULE_SCOPE HIShapeRef TkMacOSXGetClipRgn(Drawable drawable); -MODULE_SCOPE Tcl_Obj * TkMacOSXGetStringObjFromCFString(CFStringRef str); - -#endif /* _TKMACPRIV */ |