003 File Manager
Current Path:
/usr/src/contrib/dialog
usr
/
src
/
contrib
/
dialog
/
📁
..
📄
CHANGES
(108.53 KB)
📄
COPYING
(25.81 KB)
📄
README
(2.78 KB)
📄
VERSION
(20 B)
📄
aclocal.m4
(195.3 KB)
📄
argv.c
(3.54 KB)
📄
arrows.c
(6.8 KB)
📄
buildlist.c
(31.36 KB)
📄
buttons.c
(16.19 KB)
📄
calendar.c
(24.45 KB)
📄
checklist.c
(17.98 KB)
📄
columns.c
(4.17 KB)
📄
config.guess
(43.14 KB)
📄
config.hin
(75 B)
📄
config.sub
(34.92 KB)
📄
configure
(666.11 KB)
📄
configure.in
(7.57 KB)
📄
demo.pl
(11.44 KB)
📄
dialog-config.in
(4.31 KB)
📄
dialog.1
(60.51 KB)
📄
dialog.3
(124.54 KB)
📄
dialog.c
(52.45 KB)
📄
dialog.h
(37.7 KB)
📄
dialog.lsm
(1.1 KB)
📄
dialog.pl
(15.08 KB)
📄
dlg_colors.h
(6.87 KB)
📄
dlg_keys.c
(20.68 KB)
📄
dlg_keys.h
(5.23 KB)
📄
editbox.c
(16.81 KB)
📄
formbox.c
(23.3 KB)
📄
fselect.c
(22.06 KB)
📄
guage.c
(10.26 KB)
📄
headers-sh.in
(5.35 KB)
📄
headers.sh
(3.6 KB)
📄
help.c
(1.4 KB)
📄
inputbox.c
(7.04 KB)
📄
inputstr.c
(17.73 KB)
📄
install-sh
(6.96 KB)
📄
makefile.in
(10.07 KB)
📄
menubox.c
(20.26 KB)
📄
mixedform.c
(3.39 KB)
📄
mixedgauge.c
(9.6 KB)
📄
mouse.c
(3.5 KB)
📄
mousewget.c
(2.19 KB)
📄
msgbox.c
(4.99 KB)
📁
package
📄
pause.c
(6.53 KB)
📁
po
📄
prgbox.c
(2.73 KB)
📄
progressbox.c
(9.88 KB)
📄
rangebox.c
(10.54 KB)
📄
rc.c
(15 KB)
📄
rename.sh
(3.04 KB)
📁
samples
📄
tailbox.c
(9.53 KB)
📄
textbox.c
(24.86 KB)
📄
timebox.c
(10.27 KB)
📄
trace.c
(5.72 KB)
📄
treeview.c
(16.55 KB)
📄
ttysize.c
(2.28 KB)
📄
ui_getc.c
(14.03 KB)
📄
util.c
(64.44 KB)
📄
version.c
(1.01 KB)
📄
yesno.c
(4.28 KB)
Editing: mouse.c
/* * $Id: mouse.c,v 1.24 2017/01/31 00:27:21 tom Exp $ * * mouse.c -- mouse support for dialog * * Copyright 2002-2016,2017 Thomas E. Dickey * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License, version 2.1 * as published by the Free Software Foundation. * * This program 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to * Free Software Foundation, Inc. * 51 Franklin St., Fifth Floor * Boston, MA 02110, USA. */ #include <dialog.h> #include <dlg_keys.h> #if USE_MOUSE static int basex, basey, basecode; static mseRegion *regionList = NULL; /*=========== region related functions =============*/ static mseRegion * find_region_by_code(int code) { mseRegion *butPtr; for (butPtr = regionList; butPtr; butPtr = butPtr->next) { if (code == butPtr->code) break; } return butPtr; } void dlg_mouse_setbase(int x, int y) { basex = x; basey = y; } void dlg_mouse_setcode(int code) { basecode = code; DLG_TRACE(("# mouse_setcode %d\n", code)); } void dlg_mouse_mkbigregion(int y, int x, int height, int width, int code, int step_y, int step_x, int mode) { mseRegion *butPtr = dlg_mouse_mkregion(y, x, height, width, -DLGK_MOUSE(code)); butPtr->mode = mode; butPtr->step_x = MAX(1, step_x); butPtr->step_y = MAX(1, step_y); } void dlg_mouse_free_regions(void) { while (regionList != 0) { mseRegion *butPtr = regionList->next; free(regionList); regionList = butPtr; } } mseRegion * dlg_mouse_mkregion(int y, int x, int height, int width, int code) { mseRegion *butPtr; if ((butPtr = find_region_by_code(basecode + code)) == 0) { butPtr = dlg_calloc(mseRegion, 1); assert_ptr(butPtr, "dlg_mouse_mkregion"); butPtr->next = regionList; regionList = butPtr; } if ((butPtr->mode != -1) || (butPtr->step_x != 0) || (butPtr->step_y != 0) || (butPtr->y != (basey + y)) || (butPtr->Y != (basey + y + height)) || (butPtr->x != (basex + x)) || (butPtr->X != (basex + x + width)) || (butPtr->code != basecode + code)) { DLG_TRACE(("# mouse_mkregion %d,%d %dx%d %d (%d)\n", y, x, height, width, butPtr->code, code)); } butPtr->mode = -1; butPtr->step_x = 0; butPtr->step_y = 0; butPtr->y = basey + y; butPtr->Y = basey + y + height; butPtr->x = basex + x; butPtr->X = basex + x + width; butPtr->code = basecode + code; return butPtr; } /* retrieve the frame under the pointer */ static mseRegion * any_mouse_region(int y, int x, int small) { mseRegion *butPtr; for (butPtr = regionList; butPtr; butPtr = butPtr->next) { if (small ^ (butPtr->code >= 0)) { continue; } if (y < butPtr->y || y >= butPtr->Y) { continue; } if (x < butPtr->x || x >= butPtr->X) { continue; } break; /* found */ } return butPtr; } /* retrieve the frame under the pointer */ mseRegion * dlg_mouse_region(int y, int x) { return any_mouse_region(y, x, TRUE); } /* retrieve the bigframe under the pointer */ mseRegion * dlg_mouse_bigregion(int y, int x) { return any_mouse_region(y, x, FALSE); } #else void mouse_dummy(void); void mouse_dummy(void) { } #endif /* USE_MOUSE */
Upload File
Create Folder