⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recomp.c

📁 早期freebsd实现
💻 C
字号:
#include <X11/copyright.h>/* $Header: Recomp.c,v 1.5 87/12/20 12:05:46 rws Exp $ *//* Copyright    Massachusetts Institute of Technology    1985	*//* * XMenu:	MIT Project Athena, X Window system menu package * * 	XMenuRecompute - Recompute XMenu object dependencies. * *	Author:		Tony Della Fera, DEC *			September, 1985 * */#include "XMenuInt.h"intXMenuRecompute(display, menu)    Display *display;    register XMenu *menu;	/* Menu object to be recomputed. */{    register XMPane *p_ptr;	/* Pane pointer. */    register XMSelect *s_ptr;	/* Selection pointer. */    register int p_num;		/* Pane serial number. */    register int s_num;		/* Selection serial number. */        /*     * If there are no panes in the menu then return failure     * beacuse the menu is not initialized.     */    if (menu->p_count == 0) {	_XMErrorCode = XME_NOT_INIT;	return(XM_FAILURE);    }    /*     * Recompute menu wide global values: pane window size,     * selection size and maximum selection count.     */    _XMRecomputeGlobals(display, menu);    /*     * For each pane in the menu...     */            p_num = 0;    for (	p_ptr = menu->p_list->next;	p_ptr != menu->p_list;	p_ptr = p_ptr->next    ){	/*	 * Recompute pane dependencies.	 */	if (_XMRecomputePane(display, menu, p_ptr, p_num) == _FAILURE) {	    return(XM_FAILURE);	}        p_num++;		/*	 * For each selection in the pane...	 */	s_num = 0;	for (	    s_ptr = p_ptr->s_list->next;	    s_ptr != p_ptr->s_list;	    s_ptr = s_ptr->next	) {	    /*	     * Recompute selection dependencies.	     */	    if (_XMRecomputeSelection(display, menu, s_ptr, s_num) == _FAILURE) {		return(XM_FAILURE);	    }	    s_num++;	}    }    /*     * Recompute menu size.     */    if (menu->menu_style == CENTER) {	menu->width = menu->p_width + (menu->p_bdr_width << 1);    }    else {	menu->width = menu->p_width + (menu->p_bdr_width << 1) +	    ((menu->p_count - 1) * menu->p_x_off);    }    menu->height = menu->p_height + (menu->p_bdr_width << 1) +	((menu->p_count - 1) * menu->p_y_off);    /*     * Reset the recompute flag.     */    menu->recompute = 0;    /*     * Return successfully.     */    _XMErrorCode = XME_NO_ERROR;    return(XM_SUCCESS);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -