[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/macfns.c,v [EMACS_22_BASE]
From: |
YAMAMOTO Mitsuharu |
Subject: |
[Emacs-diffs] Changes to emacs/src/macfns.c,v [EMACS_22_BASE] |
Date: |
Sat, 29 Mar 2008 00:45:59 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Branch: EMACS_22_BASE
Changes by: YAMAMOTO Mitsuharu <mituharu> 08/03/29 00:45:59
Index: macfns.c
===================================================================
RCS file: /sources/emacs/emacs/src/macfns.c,v
retrieving revision 1.106.2.5
retrieving revision 1.106.2.6
diff -u -b -r1.106.2.5 -r1.106.2.6
--- macfns.c 8 Jan 2008 04:29:58 -0000 1.106.2.5
+++ macfns.c 29 Mar 2008 00:45:58 -0000 1.106.2.6
@@ -219,9 +219,6 @@
void x_set_title P_ ((struct frame *, Lisp_Object, Lisp_Object));
void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
-extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *));
-
-
/* Store the screen positions of frame F into XPTR and YPTR.
These are the positions of the containing window manager window,
@@ -1685,6 +1682,25 @@
/* Make sure we redisplay all windows in this frame. */
++windows_or_buffers_changed;
+#if USE_MAC_TOOLBAR
+ FRAME_TOOL_BAR_LINES (f) = 0;
+ if (nlines)
+ {
+ FRAME_EXTERNAL_TOOL_BAR (f) = 1;
+ if (FRAME_MAC_P (f) && !IsWindowToolbarVisible (FRAME_MAC_WINDOW (f)))
+ /* Make sure next redisplay shows the tool bar. */
+ XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = Qt;
+ }
+ else
+ {
+ if (FRAME_EXTERNAL_TOOL_BAR (f))
+ free_frame_tool_bar (f);
+ FRAME_EXTERNAL_TOOL_BAR (f) = 0;
+ }
+
+ return;
+#endif
+
delta = nlines - FRAME_TOOL_BAR_LINES (f);
/* Don't resize the tool-bar to more than we have room for. */
@@ -2255,11 +2271,11 @@
FRAME_MAC_WINDOW (f) = NULL;
}
}
-#else
+#else /* !TARGET_API_MAC_CARBON */
FRAME_MAC_WINDOW (f)
= NewCWindow (NULL, &r, "\p", false, zoomDocProc,
- (WindowPtr) -1, 1, (long) f->output_data.mac);
-#endif
+ (WindowRef) -1, 1, (long) f->output_data.mac);
+#endif /* !TARGET_API_MAC_CARBON */
/* so that update events can find this mac_output struct */
f->output_data.mac->mFP = f; /* point back to emacs frame */
@@ -2279,6 +2295,16 @@
XSetWindowBackground (FRAME_MAC_DISPLAY(f), FRAME_MAC_WINDOW (f),
FRAME_BACKGROUND_PIXEL (f));
+#if USE_MAC_TOOLBAR
+ /* At the moment, the size of the tool bar is not yet known. We
+ record the gravity value of the newly created window and use it
+ to adjust the position of the window (especially for a negative
+ specification of its vertical position) when the tool bar is
+ first redisplayed. */
+ if (FRAME_EXTERNAL_TOOL_BAR (f))
+ f->output_data.mac->toolbar_win_gravity = f->win_gravity;
+#endif
+
validate_x_resource_name ();
/* x_set_name normally ignores requests to set the name if the
@@ -3112,7 +3138,7 @@
UNBLOCK_INPUT;
}
#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
- else
+ else /* CGDisplayScreenSize == NULL */
#endif
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED ==
1020
@@ -3149,7 +3175,7 @@
UNBLOCK_INPUT;
}
#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020
- else
+ else /* CGDisplayScreenSize == NULL */
#endif
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED ==
1020
@@ -4068,8 +4094,12 @@
Point mouse_pos;
BLOCK_INPUT;
+#if TARGET_API_MAC_CARBON
+ GetGlobalMouse (&mouse_pos);
+#else
GetMouse (&mouse_pos);
LocalToGlobal (&mouse_pos);
+#endif
*root_x = mouse_pos.h;
*root_y = mouse_pos.v;
UNBLOCK_INPUT;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/macfns.c,v [EMACS_22_BASE],
YAMAMOTO Mitsuharu <=