Mercurial > emacs
annotate oldXMenu/DelSel.c @ 93762:46d39c0f7bf9
(uniscribe_shape): Increase items buffer size.
Give up if glyph indices not supported. Use uniscribe obtained
ABC widths for individual metrics. Map glyph clusters back to
characters using fClusterStart flag. Return number of glyphs
produced, not chars processed.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Sun, 06 Apr 2008 01:04:45 +0000 |
parents | fec5e03aaf59 |
children | edf631bdbb7a ec58e5c426ef 5cc91198ffb2 |
rev | line source |
---|---|
76174
fec5e03aaf59
Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
1 /* Copyright Massachusetts Institute of Technology 1985 */ |
fec5e03aaf59
Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
2 |
25858 | 3 #include "copyright.h" |
4 | |
5 | |
6 /* | |
7 * XMenu: MIT Project Athena, X Window system menu package | |
8 * | |
9 * XMenuDeleteSelection - Deletes a selection from an XMenu object. | |
10 * | |
11 * Author: Tony Della Fera, DEC | |
12 * 20-Nov-85 | |
13 * | |
14 */ | |
15 | |
16 #include "XMenuInt.h" | |
17 | |
18 int | |
19 XMenuDeleteSelection(display, menu, p_num, s_num) | |
20 register Display *display; /* Previously opened display. */ | |
21 register XMenu *menu; /* Menu object to be modified. */ | |
22 register int p_num; /* Pane number to be deleted. */ | |
23 register int s_num; /* Selection number to be deleted. */ | |
24 { | |
25 register XMPane *p_ptr; /* Pointer to pane being deleted. */ | |
26 register XMSelect *s_ptr; /* Pointer to selections being deleted. */ | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
27 |
25858 | 28 /* |
29 * Find the right pane. | |
30 */ | |
31 p_ptr = _XMGetPanePtr(menu, p_num); | |
32 if (p_ptr == NULL) return(XM_FAILURE); | |
33 | |
34 /* | |
35 * Find the right selection. | |
36 */ | |
37 s_ptr = _XMGetSelectionPtr(p_ptr, s_num); | |
38 if (s_ptr == NULL) return(XM_FAILURE); | |
39 | |
40 /* | |
41 * Remove the selection from the association table. | |
42 */ | |
43 XDeleteAssoc(display, menu->assoc_tab, s_ptr->window); | |
44 | |
45 /* | |
46 * Remove the selection from the parent pane's selection | |
47 * list and update the selection count. | |
48 */ | |
49 emacs_remque(s_ptr); | |
50 p_ptr->s_count--; | |
51 | |
52 /* | |
53 * Destroy the selection transparency. | |
54 */ | |
55 if (s_ptr->window) XDestroyWindow(display, s_ptr->window); | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
56 |
25858 | 57 /* |
58 * Free the selection's XMSelect structure. | |
59 */ | |
60 free(s_ptr); | |
61 | |
62 /* | |
63 * Schedule a recompute. | |
64 */ | |
65 menu->recompute = 1; | |
66 | |
67 /* | |
68 * Return the selection number just deleted. | |
69 */ | |
70 _XMErrorCode = XME_NO_ERROR; | |
71 return(s_num); | |
72 } | |
52401 | 73 |
74 /* arch-tag: 24ca2bc7-8a37-471a-8095-e6363fc1ed10 | |
75 (do not change this comment) */ |