亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mwmparse.y

?? 安裝DDD之前
?? Y
?? 第 1 頁 / 共 2 頁
字號:
%{/** * * $Id: mwmparse.y,v 1.1 2004/08/28 19:27:39 dannybackx Exp $ * * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright (C) 1995-2002 LessTif Development Team * * This file is part of the GNU LessTif Library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * **/#include "LTconfig.h"#include <stdlib.h>#include <stdarg.h>#include <stdio.h>#include <string.h>#ifdef HAVE_FCNTL_H#include <fcntl.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_SYS_TYPES_H#include <sys/types.h>#endif#ifdef HAVE_SYS_STAT_H#include <sys/stat.h>#else#error "you lose (I don't know how to fix this)"#endif#include <X11/Xfuncs.h>#include <Xm/Xm.h>#include <Xm/MwmUtil.h>#include "mwm.h"extern int yydebug;extern int yylex(void);static int num_items;static MenuRoot *cur_menu;static ScreenInfo *pscr;static Boolean skip_test;static Boolean button_bind_match;static Boolean button_bind_found;static Boolean key_bind_match;static Boolean key_bind_found;/* * this must be here for the parser */static int lineno;%}%token  ALT_TOK	APP_TOK	BACK_TOK	BORDER_TOK	BTN1_CLICK2_TOK	BTN1_CLICK_TOK	BTN1_DOWN_TOK	BTN1_UP_TOK	BTN2_CLICK2_TOK	BTN2_CLICK_TOK	BTN2_DOWN_TOK	BTN2_UP_TOK	BTN3_CLICK2_TOK	BTN3_CLICK_TOK	BTN3_DOWN_TOK	BTN3_UP_TOK	BTN4_CLICK2_TOK	BTN4_CLICK_TOK	BTN4_DOWN_TOK	BTN4_UP_TOK	BTN5_CLICK2_TOK	BTN5_CLICK_TOK	BTN5_DOWN_TOK	BTN5_UP_TOK	BUTTONS_TOK	CTRL_TOK	FBEEP_TOK	FCIRCLE_DOWN_TOK	FCIRCLE_UP_TOK	FEXEC_TOK	FFOCUS_COLOR_TOK	FFOCUS_KEY_TOK	FKILL_TOK	FLOWER_TOK	FMAXIMIZE_TOK	FMENU_TOK	FMINIMIZE_TOK	FMOVE_TOK	FNEXT_CMAP_TOK	FNEXT_KEY_TOK	FNOP_TOK	FNORMALIZE_TOK	FNORMANDRAISE_TOK	FPACK_ICONS_TOK	FPASS_KEYS_TOK	FPOST_WMENU_TOK	FPREV_CMAP_TOK	FPREV_KEY_TOK	FQUIT_MWM_TOK	FRAISE_LOWER_TOK	FRAISE_TOK	FRAME_TOK	FREE_FAMILY_TOK	FREFRESH_TOK	FREFRESH_WIN_TOK	FRESIZE_TOK	FRESTART_TOK	FRESTOREANDRAISE_TOK	FRESTORE_TOK	FSCREEN_TOK	FSEND_MSG_TOK	FSEPARATOR_TOK	FSET_BEHAVIOR_TOK	FTITLE_TOK	FWINDOWLIST_TOK	FDESK_TOK	FTOGGLE_PAGE_TOK	FGOTO_PAGE_TOK	ICON_TOK	KEY_TOK	KEYS_TOK	LOCK_TOK	MENU_TOK	MENUB_TOK	MINIMIZEB_TOK	MAXIMIZEB_TOK	MOD1_TOK	MOD2_TOK	MOD3_TOK	MOD4_TOK	MOD5_TOK	NEXT_TOK	PREV_TOK	ROOT_TOK	SHIFT_TOK	TITLE_TOK	TRANSIENT_TOK	WINDOW_TOK	WITHIN_TOK	STRING_TOK%type <string>	STRING_TOK%type <number>	FCIRCLE_DOWN_TOK	FCIRCLE_UP_TOK	FEXEC_TOK	FFOCUS_COLOR_TOK	FFOCUS_KEY_TOK	FKILL_TOK	FLOWER_TOK	FMAXIMIZE_TOK	FMENU_TOK	FMINIMIZE_TOK	FMOVE_TOK	FNEXT_CMAP_TOK	FNEXT_KEY_TOK	FNOP_TOK	FNORMALIZE_TOK	FNORMANDRAISE_TOK	FPACK_ICONS_TOK	FPASS_KEYS_TOK	FPOST_WMENU_TOK	FPREV_CMAP_TOK	FPREV_KEY_TOK	FQUIT_MWM_TOK	FRAISE_LOWER_TOK	FRAISE_TOK	FRAME_TOK	FREE_FAMILY_TOK	FREFRESH_TOK	FREFRESH_WIN_TOK	FRESIZE_TOK	FRESTART_TOK	FRESTOREANDRAISE_TOK	FRESTORE_TOK	FSCREEN_TOK	FSEND_MSG_TOK	FSEPARATOR_TOK	FSET_BEHAVIOR_TOK	FTITLE_TOK	ICON_TOK%type <string>	bitmap_file	string%type <label>	label%type <number>	context	object%type <function>	function%type <modifiers>	modifier_name	modifier_list%type <hotkey>	key%union {    char	*string;    int		number;    KeySym	key;    struct {	int func;	char *arg;    } function;    struct {	int type;	char *string;    } label;    long	modifiers;    struct {	int button;	int event;	int count;	int modifiers;    } button;    struct {	int modifiers;	KeySym key;    } hotkey;};%%res_file:		res_file binding	|;binding:		button_bindings	|		key_bindings	|		menu_bindings;button_bindings:	BUTTONS_TOK string			{			    if (!skip_test) {				if (button_bind_found == False) {				    if (strcmp($2, pscr->button_bindings) == 0)					button_bind_match = True;				    else					button_bind_match = False;				}				else if (strcmp($2, pscr->button_bindings) == 0) {				    yyerror("Ignoring duplicate button bindings");				    button_bind_match = False;				}				else				    button_bind_match = False;			    }			    else				button_bind_match = True;			}			'{' button_list '}';button_list:		button_list button_binding	|		error			{			    yyerror("Invalid button binding");			    yyerrok;			    yyclearin;			}	|;button_binding:		button context function			{			    int contexts = $<number>2;			    int mods, func;			    MenuItem *mi = NULL;			    MouseButton *temp = NULL, *ptr;			    if (!button_bind_match)				break;			    mods = $<button>1.modifiers;			    if ((contexts & C_WINDOW) &&				(((mods == 0) || mods == AnyModifier))) {			        pscr->buttons2grab &= ~($<button>1.button);			    }						    func = $<function>3.func;			    if ((func == F_EXEC) ||				(func == F_RESTART) ||			        (func == F_CIRCULATE_UP) ||				(func == F_CIRCULATE_DOWN) ||			        (func == F_WARP)) {			        mi = (MenuItem *)XtMalloc(sizeof(MenuItem));						        mi->next = (MenuItem *) NULL;			        mi->prev = (MenuItem *) NULL;			        if ((func == F_EXEC) || (func == F_RESTART)) {			            mi->item = XtNewString("DOIT");			            mi->action = $<function>3.arg;			        }			        else {			            mi->item = XtNewString("DONT DOIT");			            mi->action = $<function>3.arg;			        }				mi->item2 = "";			        mi->state = 0;			        mi->func = func;			        mi->strlen = strlen(mi->item);				mi->strlen2 = 0;			        mi->val1 = 0;			        mi->val2 = 0;			        mi->val1_unit = 1;			        mi->val2_unit = 1;			    }			    temp = pscr->buttons;			    pscr->buttons =				(MouseButton *)XtMalloc(sizeof(MouseButton));			    pscr->buttons->func = func;			    if (func == F_POPUP)				pscr->buttons->menu = (MenuRoot *)$<function>3.arg;			    else if (func == F_W_POPUP)				pscr->buttons->menu = (MenuRoot *)DEFAULT_WIN_MENU_NAME;			    else				pscr->buttons->menu = NULL;			    pscr->buttons->item = mi;			    pscr->buttons->button =				ffs($<button>1.button) - 8;			    pscr->buttons->context = contexts;			    pscr->buttons->modifier = mods;			    pscr->buttons->mask = $<button>1.event;			    pscr->buttons->count = $<button>1.count;			    pscr->buttons->val1 = 0;			    pscr->buttons->val2 = 0;			    pscr->buttons->val1_unit = pscr->d_width;			    pscr->buttons->val2_unit = pscr->d_height;			    /* if duplicate, skip second */			    for (ptr = temp;				 ptr != NULL;				 ptr = ptr->next) {                              /* If everything is the same except for having                                  func's F_POPUP and F_WINDOWLIST, the                                  second is a duplicate */                               if (((ptr->func == F_POPUP ||                                      ptr->func == F_WINDOWLIST) &&                                     (pscr->buttons->func == F_POPUP ||                                      pscr->buttons->func == F_WINDOWLIST)) &&				    ptr->modifier == pscr->buttons->modifier &&				    ptr->mask == pscr->buttons->mask &&                                   ptr->count == pscr->buttons->count &&                                   ptr->context == pscr->buttons->context &&                                   ptr->button  == pscr->buttons->button) {                                   XtFree((char *)pscr->buttons);                                   pscr->buttons = temp;                                   break;                               }                               if (ptr->func == pscr->buttons->func &&                                   ptr->modifier == pscr->buttons->modifier &&                                   ptr->mask == pscr->buttons->mask &&                                   ptr->count == pscr->buttons->count &&                                   ptr->button == pscr->buttons->button) {				    ptr->context |= pscr->buttons->context;				    XtFree((char *)pscr->buttons);				    pscr->buttons = temp;				    break;				}			    }			    if (ptr == NULL)				pscr->buttons->next = temp;			};key_bindings:		KEYS_TOK string			{			    if (!skip_test) {				if (key_bind_found == False) {				    if (strcmp($2, pscr->key_bindings) == 0)					key_bind_match = True;				    else					key_bind_match = False;				}				else if (strcmp($2, pscr->key_bindings) == 0) {				    yyerror("Ignoring duplicate key bindings");					key_bind_match = False;				}				else				    key_bind_match = False;			    }			    else				key_bind_match = True;			}			'{' key_list '}';key_list:		key_list key_binding	|		error			{			    yyerror("Invalid key binding");			    yyerrok;			    yyclearin;			}	|;key_binding:		key context function			{			    FuncKey        *tmp = NULL;			    KeySym          keysym;			    KeyCode         keycode;			    int             i, min, max;			    int func, contexts;			    char *ptr;			    if (!key_bind_match)				break;			    ptr = $<function>3.arg;			    func = $<function>3.func;			    contexts = $<number>2;			    /*			     * Don't let a 0 keycode go through, since that			     * means AnyKey to the XGrabKey call in GrabKeys().			     */			    keysym = $<hotkey>1.key;			    if (keysym == 0)				break;			    if ((keycode = XKeysymToKeycode(dpy, $<hotkey>1.key)) == 0)				break;			    XDisplayKeycodes(dpy, &min, &max);			    for (i = min; i <= max; i++) {				if (XKeycodeToKeysym(dpy, i, 0) == keysym) {				    tmp = (FuncKey *)XtMalloc(sizeof(FuncKey));				    tmp->next = pscr->keys;				    pscr->keys = tmp;				    tmp->name = "HOTKEY";				    tmp->keycode = i;				    tmp->cont = contexts;				    tmp->mods = $<hotkey>1.modifiers;				    tmp->func = func;				    if (func == F_W_POPUP)					tmp->action = DEFAULT_WIN_MENU_NAME;				    else					tmp->action = ptr;				    tmp->val1 = 0;				    tmp->val2 = 0;				    tmp->val1_unit = pscr->d_width;				    tmp->val2_unit = pscr->d_height;				    tmp->menu = NULL;				}			    }			};menu_bindings:		MENU_TOK string			{			    num_items = 0;			    cur_menu = MENU_Create($<string>2);			}			'{' item_list '}'			{			    MENU_Add(pscr, cur_menu);			};item_list:		item_list item_binding	|		error			{			    yyerror("Invalid menu item");			    yyerrok;			    yyclearin;			}	|;item_binding:		label mnemonic accelerator function			{			    MenuItem *tmp;			    int width, width2;			    FuncKey        *tmpk = NULL;			    KeySym          keysym;			    KeyCode         keycode;			    int             i, min, max;			    int func, contexts;			    char *ptr, *acc;			    tmp = (MenuItem *)XtCalloc(1, sizeof(MenuItem));			    if (cur_menu->first == NULL) {				cur_menu->first = tmp;				tmp->prev = NULL;				tmp->next = NULL;			    }			    else {				cur_menu->last->next = tmp;				tmp->prev = cur_menu->last;			    }			    cur_menu->last = tmp;			    cur_menu->items++;			    if ($<function>4.func == F_NOP)				tmp->item = "";			    else				tmp->item = $<label>1.string;			    tmp->item2 = "";			    MENU_FindHotKey(tmp, $<key>2);			    if (strcmp(tmp->item, "no-label") == 0)				tmp->strlen = 0;			    else				tmp->strlen = strlen(tmp->item);			    tmp->action = $<function>4.arg;			    tmp->next = NULL;			    tmp->state = 0;			    tmp->func = $<function>4.func;			    tmp->val1 = 0;			    tmp->val2 = 0;			    tmp->val1_unit = pscr->d_width;			    tmp->val2_unit = pscr->d_height;						    width = XTextWidth(pscr->components[MWM_MENU].font,					       tmp->item, tmp->strlen);			    if (tmp->func == F_POPUP)			        width += 15;			    if (width <= 0)			        width = 1;			    if (width > cur_menu->width)			        cur_menu->width = width;			    ptr = $<function>4.arg;			    func = $<function>4.func;			    contexts = C_WINDOW|C_ICON|C_FRAME|C_TITLE|C_LALL|C_RALL;			    /*			     * Don't let a 0 keycode go through, since that			     * means AnyKey to the XGrabKey call in GrabKeys().			     */			    keysym = $<hotkey>3.key;			    if (keysym == 0)				break;			    if ((keycode = XKeysymToKeycode(dpy, $<hotkey>3.key)) == 0)				break;			    acc = MENU_AcceleratorString(pscr,							 $<hotkey>3.key,							 $<hotkey>3.modifiers);			    if (strlen(acc)) {				tmp->item2 = XtNewString(acc);				tmp->strlen2 = strlen(acc);				width2 = XTextWidth(pscr->components[MWM_MENU].font,						    tmp->item2, tmp->strlen2);				if (width2 > cur_menu->width2)				    cur_menu->width2 = width2;			    }			    XDisplayKeycodes(dpy, &min, &max);			    for (i = min; i <= max; i++) {				if (XKeycodeToKeysym(dpy, i, 0) == keysym) {				    tmpk = (FuncKey *)XtMalloc(sizeof(FuncKey));				    tmpk->next = pscr->keys;				    pscr->keys = tmpk;				    tmpk->name = "HOTKEY";				    tmpk->keycode = i;				    tmpk->cont = contexts;				    tmpk->mods = $<hotkey>3.modifiers;				    tmpk->func = func;				    tmpk->action = ptr;				    tmpk->val1 = 0;				    tmpk->val2 = 0;				    tmpk->val1_unit = pscr->d_width;				    tmpk->val2_unit = pscr->d_height;				    tmpk->menu = NULL;				}			    }			};accelerator:		key			{ $<hotkey>$ = $<hotkey>1; }	|			{ $<hotkey>$.modifiers = 0; $<hotkey>$.key = 0; };context:		context '|' object			{ $<number>$ = $1 | $3; }	|		object			{ $<number>$ = $1; };object:			ROOT_TOK			{ $<number>$ = C_ROOT; }	|		ICON_TOK			{ $<number>$ = C_ICON; }	|		MENUB_TOK			{ $<number>$ = C_MENUB; }	|		MINIMIZEB_TOK			{ $<number>$ = C_MINIMIZEB; }	|		MAXIMIZEB_TOK			{ $<number>$ = C_MAXIMIZEB; }	|		WINDOW_TOK			{ $<number>$ = C_WINDOW|C_FRAME|C_TITLE|C_LALL|C_RALL|C_ICON; }	|		TITLE_TOK			{ $<number>$ = C_TITLE; }	|		FRAME_TOK			{ $<number>$ = C_FRAME|C_TITLE|C_LALL|C_RALL; }	|		BORDER_TOK			{ $<number>$ = C_FRAME; }	|		APP_TOK			{ $<number>$ = C_WINDOW; }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产视频| 欧美色图片你懂的| 久久久久久日产精品| 99久久伊人网影院| 国产剧情一区在线| 精品91自产拍在线观看一区| www.日韩精品| 欧美日韩综合一区| 亚洲一区在线免费观看| 欧美色男人天堂| 日本 国产 欧美色综合| 日韩欧美国产wwwww| 热久久一区二区| 日韩欧美自拍偷拍| 国产精一区二区三区| 亚洲视频一区在线观看| 欧美久久久久中文字幕| 国产99久久久国产精品| 国内精品视频666| 亚洲成av人片www| 亚洲图片你懂的| 久久精品亚洲麻豆av一区二区| 成人av片在线观看| 国产一区二区在线视频| 天天免费综合色| 日本亚洲最大的色成网站www| 狠狠色狠狠色合久久伊人| 精品亚洲porn| 亚洲人午夜精品天堂一二香蕉| 在线视频综合导航| 欧美色图在线观看| 丁香啪啪综合成人亚洲小说 | 亚洲人成精品久久久久久| 亚洲视频香蕉人妖| 国产精品久久毛片av大全日韩| 欧美精品一区二区三区高清aⅴ | 日韩成人一级大片| 99精品国产视频| 国产在线国偷精品免费看| 亚洲一区欧美一区| 亚洲欧美综合另类在线卡通| 欧美一级在线免费| 99久久久免费精品国产一区二区| 日韩欧美一级二级三级久久久| 午夜激情一区二区三区| 欧美日韩综合一区| 国产综合久久久久影院| 天堂久久久久va久久久久| 欧美视频精品在线| 97久久超碰国产精品| 日本欧美一区二区三区| 自拍偷拍欧美激情| 久久综合综合久久综合| 日韩欧美中文一区| 色综合久久天天综合网| 精品三级在线观看| 国产999精品久久| 日韩一区有码在线| 欧美挠脚心视频网站| 久草这里只有精品视频| 国产精品入口麻豆九色| 精品视频999| 9i看片成人免费高清| 精品国产sm最大网站免费看| 国产精品久久久久久久久动漫 | 成人综合婷婷国产精品久久蜜臀 | 久久久一区二区三区| 久久国内精品视频| 亚洲激情第一区| 久久免费精品国产久精品久久久久 | 亚洲在线一区二区三区| 欧美刺激脚交jootjob| 麻豆精品视频在线观看免费| 中文字幕一区二区三区蜜月 | 麻豆成人av在线| 亚洲国产成人91porn| 国产精品免费久久| 日韩一区二区三区四区| 欧美精品在线一区二区三区| 丁香激情综合五月| 国产精品国产精品国产专区不蜜 | 国产亚洲欧美一区在线观看| av资源站一区| 激情丁香综合五月| 亚洲.国产.中文慕字在线| 亚洲乱码精品一二三四区日韩在线 | 在线一区二区观看| 国产高清无密码一区二区三区| 日韩美女视频在线| 91在线播放网址| 久久国产精品露脸对白| 国产亚洲一区二区在线观看| 欧美肥妇bbw| 日韩午夜三级在线| 欧美一区二区三区视频| 欧美高清视频一二三区| 日韩视频中午一区| 久久亚洲春色中文字幕久久久| 欧美成人三级电影在线| 久久精品夜色噜噜亚洲aⅴ| 国产精品免费丝袜| 亚洲精品国产第一综合99久久| 亚洲综合免费观看高清完整版 | 亚洲免费伊人电影| 亚洲成人精品一区| 精品一区二区影视| 日本高清不卡一区| 日韩一卡二卡三卡国产欧美| 日韩一区二区在线观看视频播放| 精品久久久久久久久久久久包黑料 | 欧美亚洲免费在线一区| 日韩一区二区电影网| 国产精品美女一区二区三区| 亚洲国产一区视频| 国产成人av影院| 884aa四虎影成人精品一区| 欧美videossexotv100| 中文在线免费一区三区高中清不卡| 亚洲欧美视频一区| 日韩精品免费视频人成| 成人综合在线网站| 精品国产三级a在线观看| 亚洲成人一二三| 99re热视频这里只精品| 国产区在线观看成人精品| 午夜在线电影亚洲一区| 91福利在线导航| 中文字幕一区二区三区精华液 | 亚洲福中文字幕伊人影院| 丝袜国产日韩另类美女| 色婷婷av久久久久久久| 国产精品青草综合久久久久99| 精品一区二区免费在线观看| 欧美日韩精品福利| 亚洲第一会所有码转帖| 欧美手机在线视频| 一区二区三国产精华液| 欧美伊人久久久久久久久影院| 亚洲精品va在线观看| 色婷婷精品大在线视频| 亚洲高清免费一级二级三级| aa级大片欧美| 国产精品88av| 欧美国产欧美综合| 成人激情电影免费在线观看| 国产精品久久网站| 欧美日韩大陆在线| 极品少妇一区二区| **欧美大码日韩| 欧美高清视频www夜色资源网| 久久99精品国产.久久久久久| 国产亚洲精品aa午夜观看| 一本色道亚洲精品aⅴ| 免费一级欧美片在线观看| 亚洲国产精品传媒在线观看| 99久久精品国产一区| 亚洲一区二三区| 制服丝袜av成人在线看| 激情av综合网| 一区二区三区欧美亚洲| 91精品国产乱码久久蜜臀| 亚洲国产精品久久一线不卡| 欧美狂野另类xxxxoooo| 国产久卡久卡久卡久卡视频精品| 久久久不卡网国产精品二区| 91一区在线观看| 韩国av一区二区| 一区二区三区欧美亚洲| 欧美mv和日韩mv的网站| 在线视频亚洲一区| 精品一区二区在线视频| ㊣最新国产の精品bt伙计久久| 欧美视频在线观看一区二区| 欧美午夜精品一区二区蜜桃| 日本欧美在线看| 洋洋成人永久网站入口| 中文成人av在线| 亚洲精品一线二线三线无人区| 欧美性大战xxxxx久久久| 偷窥少妇高潮呻吟av久久免费| 国产欧美一区二区三区在线看蜜臀 | 国产精品国产馆在线真实露脸 | 欧美精品久久一区| 色婷婷激情一区二区三区| 99久久综合国产精品| 国产精品一卡二卡| 日韩高清不卡一区二区| 国产精品九色蝌蚪自拍| 国产精品久线在线观看| 久久久高清一区二区三区| 久久尤物电影视频在线观看| 国产一区二区电影| 丁香桃色午夜亚洲一区二区三区| 懂色av一区二区三区免费观看| 久久精品99国产国产精| 亚洲一区二区三区四区在线免费观看 | 欧美无砖砖区免费| 91麻豆精品91久久久久同性| 91麻豆国产精品久久| 欧美视频一区在线观看|