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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? curses.c

?? aumix-2.8 源碼下載
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* $Aumix: aumix/src/curses.c,v 1.6 2002/10/23 15:07:40 trevor Exp $ *//* curses.c:  functions specific to ncurses mode * copyright (c) 1993, 1996-2000, 2002 the authors--see AUTHORS file * * * This file is part of aumix. * * Aumix is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * Aumix 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along with * aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place, * Suite 330, Boston, MA 02111-1307, USA. */#include "common.h"#ifdef HAVE_CURSES#include <ctype.h>		/* tolower() */#include "curses.h"#include "interactive.h"#include "mouse.h"char           *chark, *charl, *charm, *charo, *charq, *chars, *charu, *lang;int             current_dev, level_increment, balance_increment, menu_width, level_width, label_width, balance_width, levelbalmode, cols_saved, lines_saved;int             in_keysbox = FALSE;void            InitScreenCurses(void){	int             ii, trackwidth, y = 0;	static char    *menuitems[] = {		LOCAL_TEXT_NOOP("Quit"),		LOCAL_TEXT_NOOP("Load"),		LOCAL_TEXT_NOOP("Save"),		LOCAL_TEXT_NOOP("Keys"),		LOCAL_TEXT_NOOP("Mute"),		LOCAL_TEXT_NOOP("Only"),		LOCAL_TEXT_NOOP("Undo")	};/* from ALL_LINGUAS in top-level configure.in *//* This might be nicer with something like:	typedef struct menulanguage {		char    *language;		int      width;	}               menulanguage;*/	char            hotkey[2] = "";	menu_width = MENUSIZES[1];	/* "en" default */	for (ii = 0; ii < sizeof(LANGUAGES) / sizeof(*LANGUAGES); ii++) {		if ((lang = (char *) getenv("LANG")) && !strncmp(lang, LANGUAGES[ii], 5)) {			menu_width = MENUSIZES[ii];			break;		}	}	label_width = LABELSIZES[1];	/* "en" default */	for (ii = 0; ii < sizeof(LANGUAGES) / sizeof(*LANGUAGES); ii++) {		if ((lang = (char *) getenv("LANG")) && !strncmp(lang, LANGUAGES[ii], 5)) {			label_width = LABELSIZES[ii];			break;		}	}	cols_saved = COLS;	lines_saved = LINES;	/*	 * Adjust width of tracks according to number of columns available.	 */	/* fail-safe defaults */	level_increment = 1;	balance_increment = 1;	level_width = 1;	balance_width = 1;	trackwidth = COLS - XOFFSET - menu_width - R_P_WIDTH - ARROW_WIDTH * 2 - label_width;	trackwidth = trackwidth - 2;	/* Don't count zero positions in calculations. */	if (trackwidth > 1) {		balance_width = trackwidth / 2;		if (balance_width > MAXLEVEL)			balance_width = MAXLEVEL;		balance_increment = MAXLEVEL / balance_width;		if (MAXLEVEL > (balance_increment * balance_width))			balance_increment++;		balance_width = 1 + MAXLEVEL / balance_increment;		level_width = trackwidth - balance_width;		if (level_width > 0)			level_increment = MAXLEVEL / level_width;		if ((level_increment * level_width) < MAXLEVEL)			level_increment++;		level_width = 1 + MAXLEVEL / level_increment;	}	bkgdset(COLOR_PAIR(TRACK_COLOR));	clear();	for (ii = 0; ii < sizeof(menuitems) / sizeof(*menuitems); ii++) {		attrset(COLOR_PAIR(MENU_COLOR));		/*		 * Leave two lines above menu, one for "aumix" and one for "muted" or "only".		 */		mvaddstr(ii + 2, 0, (char *) LOCAL_TEXT(menuitems[ii]));		attrset(COLOR_PAIR(HOTKEY_COLOR) | A_BOLD);		hotkey[1] = '\0';	/* Add the null since strncpy won't. */		strncpy(hotkey, (char *) LOCAL_TEXT(menuitems[ii]), 1);		mvaddstr(ii + 2, 0, hotkey);	}	attrset(COLOR_PAIR(MENU_COLOR) | A_UNDERLINE);	mvaddstr(0, 0, "aumix");	attrset(COLOR_PAIR(AXIS_COLOR));	y = CountChannels(SOUND_MIXER_NRDEVICES);	if (YOFFSET + y <= LINES) {		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH, (char *) LOCAL_TEXT("0"));		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH + (level_width - strlen(LOCAL_TEXT("Level"))) / 2, (char *) LOCAL_TEXT("Level"));		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH + level_width - 3, (char *) LOCAL_TEXT("100"));		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH + level_width + label_width + ARROW_WIDTH * 2, (char *) LOCAL_TEXT("L"));		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH + level_width + label_width + ARROW_WIDTH * 2 + (balance_width - strlen(LOCAL_TEXT("Balance"))) / 2, (char *) LOCAL_TEXT("Balance"));		mvaddstr(YOFFSET + y, XOFFSET + menu_width + R_P_WIDTH + level_width + label_width + ARROW_WIDTH * 2 + balance_width - 1, (char *) LOCAL_TEXT("R"));	}	y = 0;			/* Now recycle it for a different use. */	for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {		if ((1 << ii) & (devmask | recmask)) {			attrset(COLOR_PAIR(AXIS_COLOR));			/* draw control labels */			mvaddstr(YOFFSET + y++, XOFFSET + menu_width + R_P_WIDTH + level_width + ARROW_WIDTH, LOCAL_TEXT(dev_label[ii]));		}	}	PlaceCursor();	RefreshAllSettings();	HighlightLabelCurses();}void            PlaceCursor(void){	/*	 * The different attributes are to avoid ncurses optimizations. Let's hope ncurses doesn't optimize this away on terminals that can't underline.	 */	attrset(COLOR_PAIR(MENU_COLOR) | A_NORMAL);	mvaddch(0, 4, 'x');	refresh();	attrset(COLOR_PAIR(MENU_COLOR) | A_UNDERLINE);	mvaddch(0, 4, 'x');	refresh();}void            HighlightLabelCurses(void){	attrset(COLOR_PAIR(ACTIVE_COLOR) | ((has_colors()) ? A_BOLD : A_REVERSE));	mvaddstr(YOFFSET + CountChannels(current_dev), XOFFSET + menu_width + R_P_WIDTH + level_width + ARROW_WIDTH, LOCAL_TEXT(dev_label[current_dev]));	PlaceCursor();}void            KeysBoxCurses(void){	/*	 * "This interface is made obsolete by setitimer(2)."--alarm(3), FreeBSD	 */	alarm(0);		/* Disable updates. */	timeout(-1);		/* Wait indefinitely for input. */	in_keysbox = TRUE;	clear();	attrset(COLOR_PAIR(AXIS_COLOR));	move(3, 0);	addstr((char *) LOCAL_TEXT("page arrows\n"));	addstr((char *) LOCAL_TEXT("tab enter < > , .\n"));	addstr((char *) LOCAL_TEXT("+ - [ ] arrows digits\n"));	addstr((char *) LOCAL_TEXT("space\n"));	addstr((char *) LOCAL_TEXT("|\n"));	printw((char *) LOCAL_TEXT("\nPress a key or mouse button to resume."));	move(1, 0);	printw((char *) LOCAL_TEXT("Key                       Function\n"));	printw((char *) LOCAL_TEXT("------------------------- --------------------"));	mvaddstr(3, 26, (char *) LOCAL_TEXT("change channel\n"));	mvaddstr(4, 26, (char *) LOCAL_TEXT("toggle level/balance\n"));	mvaddstr(5, 26, (char *) LOCAL_TEXT("adjust slider\n"));	mvaddstr(6, 26, (char *) LOCAL_TEXT("toggle record/play\n"));	mvaddstr(7, 26, (char *) LOCAL_TEXT("center balance\n"));	refresh();	Getch();	alarm(REFRESH_PERIOD);	/* Enable updates again. */	in_keysbox = FALSE;	timeout(1000);	clear();	InitScreen();	DrawLevelBalModeCurses(current_dev, levelbalmode);	HighlightLabelCurses();}void            ShowMutingCurses(void){	attrset(COLOR_PAIR(AXIS_COLOR));	move(1, 0);		/* Move down one line, for the title "aumix". */	switch (mutestate) {	case MUTE_OFF:		printw("%s", LOCAL_TEXT("     "));		break;	case MUTE_GLOBAL:		printw("%s", LOCAL_TEXT("muted"));		break;	case MUTE_ONLY:		printw("%s", LOCAL_TEXT("only "));	}	PlaceCursor();}void            SetDefaultColors(void){	int             background = COLOR_BLACK;	int             foreground = COLOR_WHITE;#if defined HAVE_USEDEFAULT	if (use_default_colors() == OK) {		background = -1;		foreground = -1;	}#endif				/* HAVE_USEDEFAULT */	init_pair(MENU_COLOR, COLOR_CYAN, COLOR_BLUE);	init_pair(HOTKEY_COLOR, COLOR_RED, COLOR_BLUE);	init_pair(HANDLE_COLOR, foreground, background);	init_pair(TRACK_COLOR, COLOR_BLUE, background);	init_pair(RECORD_COLOR, COLOR_RED, background);	init_pair(PLAY_COLOR, COLOR_GREEN, background);	init_pair(ACTIVE_COLOR, COLOR_YELLOW, COLOR_RED);	init_pair(AXIS_COLOR, foreground, background);}void            WakeUpCurses(void){	if ((COLS != cols_saved) || (LINES != lines_saved)) {	/* Window was resized. */		InitScreen();		DrawLevelBalMode(current_dev, levelbalmode);	}	RefreshNewSettings();}void            InitCurses(void){	char           *s;	ReadInteractiveKeys();	/*	 * When running in an xterm, make sure DISPLAY is set, because ncurses won't process mouse activity properly if it isn't.	 */	if ((s = getenv("TERM")) && !strncmp(s, "xterm", 5))		if ((s = getenv("DISPLAY")) == NULL)			putenv("DISPLAY=");	initscr();	noecho();	leaveok(stdscr, TRUE);	keypad(stdscr, TRUE);	meta(stdscr, TRUE);	/* not default on FreeBSD 4.0 before 1999-11-30 */	cbreak();	/*	 * says curs_kernel(3):	 * 	 * The SVr4 man pages warn that the return value of curs_set "is currently incorrect".  This implementation gets it right, but it may be unwise to count on the correctness of the return value anywhere else.	 */	(void) curs_set(0);	timeout(1000);	start_color();}int             InitColors(char *scheme){	FILE           *schemefile;	char            filename[PATH_MAX], *item, *fore, *back;	char            buf[BUFSIZ], *p;	static char    *colors[] =	{"black", "red", "green", "yellow", "blue", "magenta", "cyan", "white"};	static char    *items[] =	{"active", "axis", "handle", "hotkey", "menu", "play", "record", "track"};	int             bg, fg, ii;	if ((strlen(scheme) + strlen(DATADIR) + 1) >= PATH_MAX)		ErrorExitWarn(EFILE, 'e');	schemefile = fopen(filename, "r");	if (schemefile == NULL) {		sprintf(filename, "%s/%s", DATADIR, scheme);		schemefile = fopen(filename, "r");		if (schemefile == NULL)			return EFILE;	}	while (fgets(buf, BUFSIZ, schemefile)) {		p = buf;		while (*p && isspace(*p))	/* skip whitespace */			p++;		if (*p == 0 || *p == '#')	/* skip empty lines and comments */			continue;		/*		 * Says the Linux strtok(3) man page:		 * 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99v久久综合狠狠综合久久| 亚洲欧美日韩系列| 97se亚洲国产综合自在线观| 亚洲国产欧美另类丝袜| 精品99一区二区| 欧美日韩一区精品| 99久久伊人网影院| 国产米奇在线777精品观看| 一区二区三区欧美激情| 亚洲国产成人午夜在线一区 | a4yy欧美一区二区三区| 日本伊人午夜精品| 亚洲欧美乱综合| 日本一区二区久久| 精品国产一二三| 欧美一区二区在线视频| 91精品1区2区| 99麻豆久久久国产精品免费| 国产资源精品在线观看| 日韩国产欧美在线观看| 一区二区三区精品在线| 综合激情网...| 国产精品久久久久久久蜜臀| 久久久久久一级片| 久久久久亚洲蜜桃| 久久精品一区二区三区av| 日韩一级欧美一级| 91精品中文字幕一区二区三区| 欧美性淫爽ww久久久久无| 91一区二区三区在线观看| 成人免费视频国产在线观看| 国产精品小仙女| 国产剧情av麻豆香蕉精品| 国产真实乱偷精品视频免| 九色porny丨国产精品| 麻豆精品在线看| 九九视频精品免费| 国产精品一区二区不卡| 国产精品 欧美精品| 懂色av一区二区在线播放| 国产成人在线色| 丁香婷婷深情五月亚洲| 成人av一区二区三区| 97久久超碰精品国产| 色婷婷综合久久久中文一区二区| 91蝌蚪porny九色| 欧美三级电影精品| 4hu四虎永久在线影院成人| 欧美成人三级在线| 久久久99久久| 中文字幕精品三区| 亚洲乱码国产乱码精品精小说| 一片黄亚洲嫩模| 日本女人一区二区三区| 日韩一区二区在线看| 日韩一级完整毛片| 欧美国产在线观看| 亚洲自拍偷拍网站| 久草中文综合在线| www.综合网.com| 欧美色综合久久| 日韩精品在线一区二区| 国产精品色一区二区三区| 亚洲另类一区二区| 青青草97国产精品免费观看无弹窗版| 国产永久精品大片wwwapp| 成人精品免费看| 欧美区一区二区三区| 精品国产3级a| 亚洲欧美电影一区二区| 日韩av中文字幕一区二区三区| 国产露脸91国语对白| 91国产免费看| 精品av综合导航| 亚洲精品乱码久久久久久久久 | 最近中文字幕一区二区三区| 亚洲激情图片一区| 精品制服美女久久| 99国产精品久久久| 日韩一区二区免费电影| 国产精品盗摄一区二区三区| 欧美在线一二三| 久久久久久久电影| 亚洲小说欧美激情另类| 国产在线精品一区二区不卡了| 色综合天天综合在线视频| 欧美电影免费提供在线观看| 综合网在线视频| 国产在线视频一区二区三区| 欧美制服丝袜第一页| 国产日韩视频一区二区三区| 五月激情综合网| 成人免费视频app| 日韩一级二级三级精品视频| 亚洲桃色在线一区| 国产九九视频一区二区三区| 欧美日韩国产三级| 国产精品国产馆在线真实露脸| 免费的国产精品| 欧美性生交片4| 国产精品国产三级国产普通话99 | 天天综合网 天天综合色| 国产精品中文有码| 日韩一区二区三区高清免费看看| 亚洲精品成人精品456| 国产精品一区二区三区四区| 欧美一区二区在线看| 一区二区三区欧美视频| 99综合电影在线视频| 26uuu国产在线精品一区二区| 日韩黄色免费网站| 欧美日韩国产首页在线观看| 中文字幕中文乱码欧美一区二区 | 精品午夜久久福利影院| 欧美美女一区二区三区| 一区二区三区不卡视频在线观看 | 男人的j进女人的j一区| 欧美在线观看一二区| 中文字幕视频一区| 北条麻妃一区二区三区| 国产亚洲欧美一级| 狠狠久久亚洲欧美| 精品88久久久久88久久久| 青青草视频一区| 日韩一区二区免费电影| 青青草97国产精品免费观看无弹窗版| 欧美视频在线一区| 亚洲一区二区三区激情| 欧美日韩五月天| 午夜天堂影视香蕉久久| 欧美日韩第一区日日骚| 污片在线观看一区二区| 欧美一区二区三区四区在线观看| 爽爽淫人综合网网站| 欧美一级高清大全免费观看| 青草av.久久免费一区| 欧美成人精品福利| 国精产品一区一区三区mba桃花| 久久日韩粉嫩一区二区三区| 国产一区二区在线电影| 久久久精品人体av艺术| 成人黄色一级视频| 亚洲男人的天堂在线观看| 在线观看亚洲专区| 日本欧美一区二区三区| 韩国精品在线观看| 国产丝袜欧美中文另类| 91在线高清观看| 一区二区三区四区中文字幕| 欧美午夜精品一区二区蜜桃 | 国产曰批免费观看久久久| 国产亚洲人成网站| 99v久久综合狠狠综合久久| 一区二区三区av电影| 91精品国产高清一区二区三区| 蜜桃av一区二区三区电影| 欧美激情一区二区在线| 色网站国产精品| 美女精品一区二区| 国产精品卡一卡二卡三| 在线视频综合导航| 奇米色一区二区三区四区| 国产偷国产偷亚洲高清人白洁| 不卡电影一区二区三区| 香蕉成人啪国产精品视频综合网| 日韩你懂的在线播放| av午夜一区麻豆| 丝瓜av网站精品一区二区| 久久久精品国产99久久精品芒果 | 欧美午夜精品一区| 激情综合色丁香一区二区| 成人一区二区三区在线观看| 亚洲综合成人在线| wwww国产精品欧美| 色94色欧美sute亚洲线路一ni| 久久国产剧场电影| 中文字幕色av一区二区三区| 91精品国产免费| www.综合网.com| 久久国产精品无码网站| 亚洲人成小说网站色在线| 日韩一区二区三区在线观看| 成人国产一区二区三区精品| 亚洲va欧美va人人爽| 欧美国产一区二区在线观看| 欧美日韩日日骚| 成人精品国产免费网站| 另类专区欧美蜜桃臀第一页| 亚洲免费观看高清| 久久综合99re88久久爱| 欧美日韩国产综合一区二区| 成人高清伦理免费影院在线观看| 日本女人一区二区三区| 伊人开心综合网| 国产视频一区不卡| 日韩午夜激情免费电影| 96av麻豆蜜桃一区二区| 国产伦精品一区二区三区视频青涩| 午夜欧美在线一二页| 成人欧美一区二区三区黑人麻豆|