comparison src/input-method-xlib.c @ 5178:97eb4942aec8

merge
author Ben Wing <ben@xemacs.org>
date Mon, 29 Mar 2010 21:28:13 -0500
parents 0ca81354c4c7
children 308d34e9f07d
comparison
equal deleted inserted replaced
5177:b785049378e3 5178:97eb4942aec8
1 /* Various functions for X11R5+ input methods, using the Xlib interface. 1 /* Various functions for X11R5+ input methods, using the Xlib interface.
2 Copyright (C) 1996 Sun Microsystems. 2 Copyright (C) 1996 Sun Microsystems.
3 Copyright (C) 2002 Ben Wing. 3 Copyright (C) 2002, 2010 Ben Wing.
4 4
5 This file is part of XEmacs. 5 This file is part of XEmacs.
6 6
7 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
409 XIC_Value (Set, xic, XNStatusAttributes, XNAreaNeeded, &area); 409 XIC_Value (Set, xic, XNStatusAttributes, XNAreaNeeded, &area);
410 XIC_Value (Get, xic, XNStatusAttributes, XNAreaNeeded, &needed); 410 XIC_Value (Get, xic, XNStatusAttributes, XNAreaNeeded, &needed);
411 if (needed->width == 0) /* Use XNArea instead of XNAreaNeeded */ 411 if (needed->width == 0) /* Use XNArea instead of XNAreaNeeded */
412 XIC_Value (Get, xic, XNStatusAttributes, XNArea, &needed); 412 XIC_Value (Get, xic, XNStatusAttributes, XNArea, &needed);
413 413
414 /* #### This will partially cover the gutter if there is a bottom
415 gutter. Perhaps what was intended was FRAME_PANED_RIGHT_EDGE()
416 and FRAME_PANED_BOTTOM_EDGE()? That will actually place itself
417 in the paned area (covering the right edge of the minibuffer)
418 in all circumstances. */
414 area.width = needed->width; 419 area.width = needed->width;
415 area.height = needed->height; 420 area.height = needed->height;
416 area.x = FRAME_RIGHT_BORDER_START (f) - area.width; 421 area.x = FRAME_RIGHT_INTERNAL_BORDER_START (f) - area.width;
417 area.y = FRAME_BOTTOM_BORDER_START (f) - area.height; 422 area.y = FRAME_BOTTOM_INTERNAL_BORDER_START (f) - area.height;
418 423
419 #ifdef DEBUG_XIM 424 #ifdef DEBUG_XIM
420 stderr_out ("Putting StatusArea in x=%d y=%d w=%d h=%d\n", 425 stderr_out ("Putting StatusArea in x=%d y=%d w=%d h=%d\n",
421 area.x, area.y, area.width, area.height); 426 area.x, area.y, area.width, area.height);
422 #endif /* DEBUG_XIM */ 427 #endif /* DEBUG_XIM */
428 { 433 {
429 /* Set Preedit Area to whole frame size (sans border) */ 434 /* Set Preedit Area to whole frame size (sans border) */
430 /* We include the border because Preedit window might be larger 435 /* We include the border because Preedit window might be larger
431 than display line at edge. #### FIX: we should adjust to make 436 than display line at edge. #### FIX: we should adjust to make
432 sure that there is always room for the spot sub-window */ 437 sure that there is always room for the spot sub-window */
433 area.x = FRAME_LEFT_BORDER_START (f); 438 area.x = FRAME_LEFT_INTERNAL_BORDER_START (f);
434 area.y = FRAME_TOP_BORDER_START (f); 439 area.y = FRAME_TOP_INTERNAL_BORDER_START (f);
435 area.width = FRAME_RIGHT_BORDER_END (f) - area.x; 440 area.width = FRAME_RIGHT_INTERNAL_BORDER_END (f) - area.x;
436 area.height = FRAME_BOTTOM_BORDER_END (f) - area.y; 441 area.height = FRAME_BOTTOM_INTERNAL_BORDER_END (f) - area.y;
437 XIC_Value(Set, xic, XNPreeditAttributes, XNArea, &area); 442 XIC_Value(Set, xic, XNPreeditAttributes, XNArea, &area);
438 } 443 }
439 444
440 #ifdef DEBUG_XIM 445 #ifdef DEBUG_XIM
441 describe_XIC (xic); 446 describe_XIC (xic);