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

📄 panel_dclick.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lint#ifdef sccsstatic  char sccsid[] = "@(#)panel_dclick.c 1.1 92/07/30 Copyr 1984 Sun Micro";#endif#endif/* *  Copyright (c) 1987 by Sun Microsystems, Inc. *//* panel_dclick.c:  Double (mouse) click routines  */#include <stdio.h>#include <string.h>#include <ctype.h>#include <suntool/sunview.h>#include <suntool/panel.h>#include <sys/time.h>#define ONE_SEC         1000000#define THREE_QUARTER_SEC 750000#define TWO_THIRD_SEC   666666#define HALF_SEC        500000#define ONE_THIRD_SEC   333333#define ONE_QUARTER_SEC 250000#define ONE_EIGHTH_SEC 	125000#define ONE_SIXTEENTH_SEC 62500/*  * Declare local routine */static void panel_timer_diff();/*  * Static data. */static struct timeval click_prev = { 0, 0 };static struct timeval click_interval = { 0, ONE_THIRD_SEC };/*  panel_dclick_is: Recognizes double clicks. */intpanel_dclick_is(click)    struct timeval      *click;{    struct timeval      diff;    int                 ret;    panel_timer_diff(click, &click_prev, &diff);    ret = timercmp(&diff, &click_interval, <);    click_prev.tv_sec = click->tv_sec;    click_prev.tv_usec = click->tv_usec;    return(ret);}struct timeval*panel_dclick_get_interval(){    return(&click_interval);}voidpanel_dclick_set_interval(new_interval)    struct timeval      *new_interval;{    click_interval.tv_sec = new_interval->tv_sec;    click_interval.tv_usec = new_interval->tv_usec;    return;}static voidpanel_timer_diff(t2, t1, diff)    struct timeval      *t2, *t1, *diff;{    struct timeval      *temp;    if (timercmp(t2, t1, <)) {        temp = t1; t1 = t2; t2 = temp;    }    diff->tv_sec = t2->tv_sec - t1->tv_sec;    diff->tv_usec = t2->tv_usec - t1->tv_usec;    if (diff->tv_usec < 0) {        diff->tv_sec--;        diff->tv_usec += ONE_SEC;    }    return;}

⌨️ 快捷键说明

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