Update to tk 8.5.19
This commit is contained in:
@@ -149,8 +149,11 @@ XMapWindow(
|
||||
if (Tk_IsTopLevel(macWin->winPtr)) {
|
||||
if (!Tk_IsEmbedded(macWin->winPtr)) {
|
||||
NSWindow *win = TkMacOSXDrawableWindow(window);
|
||||
|
||||
[win makeKeyAndOrderFront:NSApp];
|
||||
[NSApp activateIgnoringOtherApps:YES];
|
||||
if ( [win canBecomeKeyWindow] ) {
|
||||
[win makeKeyAndOrderFront:NSApp];
|
||||
}
|
||||
/* Why do we need this? (It is used by Carbon)*/
|
||||
[win windowRef];
|
||||
TkMacOSXApplyWindowAttributes(macWin->winPtr, win);
|
||||
}
|
||||
@@ -310,7 +313,6 @@ XResizeWindow(
|
||||
unsigned int height)
|
||||
{
|
||||
MacDrawable *macWin = (MacDrawable *) window;
|
||||
|
||||
display->request++;
|
||||
if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
|
||||
NSWindow *w = macWin->winPtr->wmInfoPtr->window;
|
||||
@@ -357,7 +359,6 @@ XMoveResizeWindow(
|
||||
display->request++;
|
||||
if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
|
||||
NSWindow *w = macWin->winPtr->wmInfoPtr->window;
|
||||
|
||||
if (w) {
|
||||
NSRect r = NSMakeRect(x + macWin->winPtr->wmInfoPtr->xInParent,
|
||||
tkMacOSXZeroScreenHeight - (y +
|
||||
@@ -398,7 +399,6 @@ XMoveWindow(
|
||||
display->request++;
|
||||
if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
|
||||
NSWindow *w = macWin->winPtr->wmInfoPtr->window;
|
||||
|
||||
if (w) {
|
||||
[w setFrameTopLeftPoint:NSMakePoint(x, tkMacOSXZeroScreenHeight - y)];
|
||||
}
|
||||
@@ -646,12 +646,71 @@ XConfigureWindow(
|
||||
macWin->winPtr->changes.x, macWin->winPtr->changes.y); */
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* TkMacOSXSetDrawingEnabled --
|
||||
*
|
||||
* This function sets the TK_DO_NOT_DRAW flag for a given window and
|
||||
* all of its children.
|
||||
*
|
||||
* Results:
|
||||
* None.
|
||||
*
|
||||
* Side effects:
|
||||
* The clipping regions for the window and its children are cleared.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
void
|
||||
TkMacOSXSetDrawingEnabled(
|
||||
TkWindow *winPtr,
|
||||
int flag)
|
||||
{
|
||||
TkWindow *childPtr;
|
||||
MacDrawable *macWin = winPtr->privatePtr;
|
||||
|
||||
if (macWin) {
|
||||
if (flag ) {
|
||||
macWin->flags &= ~TK_DO_NOT_DRAW;
|
||||
} else {
|
||||
macWin->flags |= TK_DO_NOT_DRAW;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the flag for all children & their descendants, excluding
|
||||
* Toplevels. (??? Do we need to exclude Toplevels?)
|
||||
*/
|
||||
|
||||
childPtr = winPtr->childList;
|
||||
while (childPtr) {
|
||||
if (!Tk_IsTopLevel(childPtr)) {
|
||||
TkMacOSXSetDrawingEnabled(childPtr, flag);
|
||||
}
|
||||
childPtr = childPtr->nextPtr;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the window is a container, set the flag for its embedded window.
|
||||
*/
|
||||
|
||||
if (Tk_IsContainer(winPtr)) {
|
||||
childPtr = TkpGetOtherWindow(winPtr);
|
||||
|
||||
if (childPtr) {
|
||||
TkMacOSXSetDrawingEnabled(childPtr, flag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* TkMacOSXUpdateClipRgn --
|
||||
*
|
||||
* This function updates the cliping regions for a given window and all of
|
||||
* This function updates the clipping regions for a given window and all of
|
||||
* its children. Once updated the TK_CLIP_INVALID flag in the subwindow
|
||||
* data structure is unset. The TK_CLIP_INVALID flag should always be
|
||||
* unset before any drawing is attempted.
|
||||
@@ -738,17 +797,6 @@ TkMacOSXUpdateClipRgn(
|
||||
/*
|
||||
* TODO: Here we should handle out of process embedding.
|
||||
*/
|
||||
} else if (winPtr->wmInfoPtr->attributes &
|
||||
kWindowResizableAttribute) {
|
||||
NSWindow *w = TkMacOSXDrawableWindow(winPtr->window);
|
||||
|
||||
if (w) {
|
||||
bounds = NSRectToCGRect([w _growBoxRect]);
|
||||
bounds.origin.y = [w contentRectForFrameRect:
|
||||
[w frame]].size.height - bounds.size.height -
|
||||
bounds.origin.y;
|
||||
ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
|
||||
}
|
||||
}
|
||||
macWin->aboveVisRgn = HIShapeCreateCopy(rgn);
|
||||
|
||||
@@ -825,7 +873,7 @@ TkMacOSXUpdateClipRgn(
|
||||
*
|
||||
* TkMacOSXVisableClipRgn --
|
||||
*
|
||||
* This function returns the Macintosh cliping region for the given
|
||||
* This function returns the Macintosh clipping region for the given
|
||||
* window. The caller is responsible for disposing of the returned
|
||||
* region via TkDestroyRegion().
|
||||
*
|
||||
@@ -920,7 +968,7 @@ TkMacOSXInvalidateWindow(
|
||||
* TK_PARENT_WINDOW */
|
||||
{
|
||||
#ifdef TK_MAC_DEBUG_CLIP_REGIONS
|
||||
TkMacOSXDbgMsg("%s", winPtr->pathName);
|
||||
TkMacOSXDbgMsg("%s", macWin->winPtr->pathName);
|
||||
#endif
|
||||
if (macWin->flags & TK_CLIP_INVALID) {
|
||||
TkMacOSXUpdateClipRgn(macWin->winPtr);
|
||||
@@ -1078,7 +1126,7 @@ TkMacOSXGetRootControl(
|
||||
* None.
|
||||
*
|
||||
* Side effects:
|
||||
* The cliping regions for the window and its children are mark invalid.
|
||||
* The clipping regions for the window and its children are marked invalid.
|
||||
* (Make sure they are valid before drawing.)
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
@@ -1097,6 +1145,10 @@ TkMacOSXInvalClipRgns(
|
||||
* be marked.
|
||||
*/
|
||||
|
||||
#ifdef TK_MAC_DEBUG_CLIP_REGIONS
|
||||
TkMacOSXDbgMsg("%s", winPtr->pathName);
|
||||
#endif
|
||||
|
||||
if (!macWin || macWin->flags & TK_CLIP_INVALID) {
|
||||
return;
|
||||
}
|
||||
@@ -1277,7 +1329,7 @@ UpdateOffsets(
|
||||
* Returns a handle to a new pixmap.
|
||||
*
|
||||
* Side effects:
|
||||
* Allocates a new Macintosh GWorld.
|
||||
* Allocates a new CGBitmapContext.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1323,7 +1375,7 @@ Tk_GetPixmap(
|
||||
* None.
|
||||
*
|
||||
* Side effects:
|
||||
* Deletes the Macintosh GWorld created by Tk_GetPixmap.
|
||||
* Deletes the CGBitmapContext created by Tk_GetPixmap.
|
||||
*
|
||||
*----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user