Mercurial > hg > xemacs-beta
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); |