Mercurial > emacs
view oldXMenu/ChgPane.c @ 88382:5e3e1d9d514f
(enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
(XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
(CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
Deleted.
(CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
structure.
(CHAR_TABLE_TRANSLATE): Just call char_table_translate.
(CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
CHARTAB_SIZE_BITS_3): New macros.
(chartab_size): Extern it.
(struct Lisp_Char_Table): Re-designed.
(struct Lisp_Sub_Char_Table): New structure.
(HASH_KEY, HASH_VALUE): Moved from fns.c.
(CHARACTERBITS): Defined as 22.
(GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
(SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
(GC_SUB_CHAR_TABLE_P): New macro.
(Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
(code_convert_string_norecord): Extern deleted.
(init_character_once, syms_of_character, init_charset,
syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 01 Mar 2002 01:44:13 +0000 |
parents | bbce331da1be |
children | 695cf19ef79e d7ddb3e565de |
line wrap: on
line source
#include "copyright.h" /* $Header: /u/src/emacs/19.0/oldXMenu/RCS/ChgPane.c,v 1.1 1992/04/11 22:10:17 jimb Exp $ */ /* Copyright Massachusetts Institute of Technology 1985 */ /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuChangePane - Change the label of a menu pane. * * Author: Tony Della Fera, DEC * December 19, 1985 * */ #include "XMenuInt.h" int XMenuChangePane(menu, p_num, label) register XMenu *menu; /* Menu object to be modified. */ register int p_num; /* Pane number to be modified. */ char *label; /* Selection label. */ { register XMPane *p_ptr; /* XMPane pointer. */ int label_length; /* Label length in characters. */ int label_width; /* Label width in pixels. */ /* * Check for NULL pointers! */ if (label == NULL) { _XMErrorCode = XME_ARG_BOUNDS; return(XM_FAILURE); } /* * Find the right pane. */ p_ptr = _XMGetPanePtr(menu, p_num); if (p_ptr == NULL) return(XM_FAILURE); /* * Determine label size. */ label_length = strlen(label); label_width = XTextWidth(menu->p_fnt_info, label, label_length); /* * Change the pane data. */ p_ptr->label = label; p_ptr->label_width = label_width; p_ptr->label_length = label_length; /* * Schedule a recompute. */ menu->recompute = 1; /* * Return the pane number just changed. */ _XMErrorCode = XME_NO_ERROR; return(p_num); }