comparison src/w32term.c @ 83237:4ee39d9428b0

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-726 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-727 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-728 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-729 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-730 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-731 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-732 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-733 Update from CVS: man/calc.texi: Fix some TeX definitions. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-734 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-735 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-736 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-737 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-738 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-739 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-740 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-741 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-742 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-743 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-744 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-745 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-746 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-75 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-76 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-77 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-277
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 23 Dec 2004 16:43:51 +0000
parents 2a3f27a45698 c21a6318ec07
children 3dcba0bc766b
comparison
equal deleted inserted replaced
83236:6b379caca6fa 83237:4ee39d9428b0
5372 5372
5373 void 5373 void
5374 x_calc_absolute_position (f) 5374 x_calc_absolute_position (f)
5375 struct frame *f; 5375 struct frame *f;
5376 { 5376 {
5377 POINT pt;
5378 int flags = f->size_hint_flags; 5377 int flags = f->size_hint_flags;
5379
5380 pt.x = pt.y = 0;
5381
5382 /* Find the position of the outside upper-left corner of
5383 the inner window, with respect to the outer window.
5384 But do this only if we will need the results. */
5385 if (f->output_data.w32->parent_desc != FRAME_W32_DISPLAY_INFO (f)->root_window)
5386 {
5387 BLOCK_INPUT;
5388 MapWindowPoints (FRAME_W32_WINDOW (f),
5389 f->output_data.w32->parent_desc,
5390 &pt, 1);
5391 UNBLOCK_INPUT;
5392 }
5393
5394 {
5395 RECT rt;
5396 rt.left = rt.right = rt.top = rt.bottom = 0;
5397
5398 BLOCK_INPUT;
5399 AdjustWindowRect(&rt, f->output_data.w32->dwStyle,
5400 FRAME_EXTERNAL_MENU_BAR (f));
5401 UNBLOCK_INPUT;
5402
5403 pt.x += (rt.right - rt.left);
5404 pt.y += (rt.bottom - rt.top);
5405 }
5406 5378
5407 /* Treat negative positions as relative to the leftmost bottommost 5379 /* Treat negative positions as relative to the leftmost bottommost
5408 position that fits on the screen. */ 5380 position that fits on the screen. */
5409 if (flags & XNegative) 5381 if (flags & XNegative)
5410 f->left_pos = (FRAME_W32_DISPLAY_INFO (f)->width 5382 f->left_pos = (FRAME_W32_DISPLAY_INFO (f)->width
5411 - 2 * f->border_width - pt.x
5412 - FRAME_PIXEL_WIDTH (f) 5383 - FRAME_PIXEL_WIDTH (f)
5413 + f->left_pos); 5384 + f->left_pos);
5414 5385
5415 if (flags & YNegative) 5386 if (flags & YNegative)
5416 f->top_pos = (FRAME_W32_DISPLAY_INFO (f)->height 5387 f->top_pos = (FRAME_W32_DISPLAY_INFO (f)->height
5417 - 2 * f->border_width - pt.y
5418 - FRAME_PIXEL_HEIGHT (f) 5388 - FRAME_PIXEL_HEIGHT (f)
5419 + f->top_pos); 5389 + f->top_pos);
5420 /* The left_pos and top_pos 5390 /* The left_pos and top_pos
5421 are now relative to the top and left screen edges, 5391 are now relative to the top and left screen edges,
5422 so the flags should correspond. */ 5392 so the flags should correspond. */