From 9f45999a7ce0b26eaa1d5a9dcdd94317b16392f8 Mon Sep 17 00:00:00 2001 From: andreask Date: Tue, 9 Oct 2012 17:40:09 +0000 Subject: Cherrypick Merge, Backport of [6223d9e067]. Restored from tk-cocoa-8-5-bacport-branch, did not survive the merge. See trunk 2012-05-29 Donal K. Fellows * generic/tkInt.decls (TkMacOSXDrawable): Added OSX-specific mechanism to allow retrieval of the drawing surface. Allows Canvas3d to be adapted to 8.6. --- ChangeLog | 10 ++++++++++ generic/tkInt.decls | 5 +++++ generic/tkIntPlatDecls.h | 10 ++++++++++ generic/tkStubInit.c | 1 + macosx/tkMacOSXSubwindows.c | 7 +++++++ 5 files changed, 33 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1b0daed..f4b349f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-10-09 Andreas Kupries + + Cherrypick Merge, Backport of [6223d9e067]. Restored from + tk-cocoa-8-5-bacport-branch, did not survive the merge. + See trunk 2012-05-29 Donal K. Fellows + + * generic/tkInt.decls (TkMacOSXDrawable): Added OSX-specific mechanism + to allow retrieval of the drawing surface. Allows Canvas3d to be + adapted to 8.6. + 2012-09-28 Jan Nijtmans * generic/tkInt.h: Add 8 colors to the supported color list diff --git a/generic/tkInt.decls b/generic/tkInt.decls index 84e1bc3..36475df 100644 --- a/generic/tkInt.decls +++ b/generic/tkInt.decls @@ -963,6 +963,11 @@ declare 51 aqua { declare 53 aqua { unsigned long TkpGetMS(void) } + +# For Canvas3d, requested by Sean Woods +declare 54 aqua { + void *TkMacOSXDrawable(Drawable drawable) +} ############################################################################## diff --git a/generic/tkIntPlatDecls.h b/generic/tkIntPlatDecls.h index 5418473..a181073 100644 --- a/generic/tkIntPlatDecls.h +++ b/generic/tkIntPlatDecls.h @@ -522,6 +522,11 @@ EXTERN void TkGenWMDestroyEvent(Tk_Window tkwin); /* 53 */ EXTERN unsigned long TkpGetMS(void); #endif +#ifndef TkMacOSXDrawable_TCL_DECLARED +#define TkMacOSXDrawable_TCL_DECLARED +/* 54 */ +EXTERN VOID * TkMacOSXDrawable(Drawable drawable); +#endif #endif /* AQUA */ #if !(defined(__WIN32__) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ #ifndef TkCreateXEventSource_TCL_DECLARED @@ -706,6 +711,7 @@ typedef struct TkIntPlatStubs { void (*tkGenWMDestroyEvent) (Tk_Window tkwin); /* 51 */ VOID *reserved52; unsigned long (*tkpGetMS) (void); /* 53 */ + VOID * (*tkMacOSXDrawable) (Drawable drawable); /* 54 */ #endif /* AQUA */ #if !(defined(__WIN32__) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ void (*tkCreateXEventSource) (void); /* 0 */ @@ -1115,6 +1121,10 @@ extern TkIntPlatStubs *tkIntPlatStubsPtr; #define TkpGetMS \ (tkIntPlatStubsPtr->tkpGetMS) /* 53 */ #endif +#ifndef TkMacOSXDrawable +#define TkMacOSXDrawable \ + (tkIntPlatStubsPtr->tkMacOSXDrawable) /* 54 */ +#endif #endif /* AQUA */ #if !(defined(__WIN32__) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ #ifndef TkCreateXEventSource diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index cee9133..c2ef290 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -584,6 +584,7 @@ TkIntPlatStubs tkIntPlatStubs = { TkGenWMDestroyEvent, /* 51 */ NULL, /* 52 */ TkpGetMS, /* 53 */ + TkMacOSXDrawable, /* 54 */ #endif /* AQUA */ #if !(defined(__WIN32__) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */ TkCreateXEventSource, /* 0 */ diff --git a/macosx/tkMacOSXSubwindows.c b/macosx/tkMacOSXSubwindows.c index 2eb4ee8..7d1a5eb 100644 --- a/macosx/tkMacOSXSubwindows.c +++ b/macosx/tkMacOSXSubwindows.c @@ -971,6 +971,13 @@ TkMacOSXDrawableWindow( } return result; } + +void * +TkMacOSXDrawable( + Drawable drawable) +{ + return TkMacOSXDrawableWindow(drawable); +} /* *---------------------------------------------------------------------- -- cgit v0.12