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

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

?? variance.c

?? tslib觸摸屏校準(zhǔn)源代碼
?? C
字號(hào):
/* *  tslib/plugins/variance.c * *  Copyright (C) 2001 Russell King. * * This file is placed under the LGPL.  Please see the file * COPYING for more details. * * $Id: variance.c,v 1.6 2005/02/26 01:47:23 kergoth Exp $ * * Variance filter for touchscreen values. * * Problem: some touchscreens are sampled very roughly, thus even if * you hold the pen still, the samples can differ, sometimes substantially. * The worst happens when electric noise during sampling causes the result * to be substantially different from the real pen position; this causes * the mouse cursor to suddenly "jump" and then return back. * * Solution: delay sampled data by one timeslot. If we see that the last * sample read differs too much, we mark it as "suspicious". If next sample * read is close to the sample before the "suspicious", the suspicious sample * is dropped, otherwise we consider that a quick pen movement is in progress * and pass through both the "suspicious" sample and the sample after it. */#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <limits.h>#include "tslib.h"#include "tslib-filter.h"struct tslib_variance {	struct tslib_module_info module;	int delta;        struct ts_sample last;        struct ts_sample noise;	unsigned int flags;#define VAR_PENDOWN		0x00000001#define VAR_LASTVALID		0x00000002#define VAR_NOISEVALID		0x00000004#define VAR_SUBMITNOISE		0x00000008};static int sqr (int x){	return x * x;}static int variance_read(struct tslib_module_info *info, struct ts_sample *samp, int nr){	struct tslib_variance *var = (struct tslib_variance *)info;	struct ts_sample cur;	int count = 0, dist;	while (count < nr) {		if (var->flags & VAR_SUBMITNOISE) {			cur = var->noise;			var->flags &= ~VAR_SUBMITNOISE;		} else {			if (info->next->ops->read(info->next, &cur, 1) < 1)				return count;		}		if (cur.pressure == 0) {			/* Flush the queue immediately when the pen is just			 * released, otherwise the previous layer will			 * get the pen up notification too late. This 			 * will happen if info->next->ops->read() blocks.			 */			if (var->flags & VAR_PENDOWN) {				var->flags |= VAR_SUBMITNOISE;				var->noise = cur;			}			/* Reset the state machine on pen up events. */			var->flags &= ~(VAR_PENDOWN | VAR_NOISEVALID | VAR_LASTVALID);			goto acceptsample;		} else			var->flags |= VAR_PENDOWN;		if (!(var->flags & VAR_LASTVALID)) {			var->last = cur;			var->flags |= VAR_LASTVALID;			continue;		}		if (var->flags & VAR_PENDOWN) {			/* Compute the distance between last sample and current */			dist = sqr (cur.x - var->last.x) +			       sqr (cur.y - var->last.y);			if (dist > var->delta) {				/* Do we suspect the previous sample was a noise? */				if (var->flags & VAR_NOISEVALID) {					/* Two "noises": it's just a quick pen movement */					samp [count++] = var->last = var->noise;					var->flags = (var->flags & ~VAR_NOISEVALID) |						VAR_SUBMITNOISE;				} else					var->flags |= VAR_NOISEVALID;				/* The pen jumped too far, maybe it's a noise ... */				var->noise = cur;				continue;			} else				var->flags &= ~VAR_NOISEVALID;		}acceptsample:#ifdef DEBUG		fprintf(stderr,"VARIANCE----------------> %d %d %d\n",			var->last.x, var->last.y, var->last.pressure);#endif		samp [count++] = var->last;		var->last = cur;	}	return count;}static int variance_fini(struct tslib_module_info *info){	free(info);        return 0;}static const struct tslib_ops variance_ops ={	.read	= variance_read,	.fini	= variance_fini,};static int variance_limit(struct tslib_module_info *inf, char *str, void *data){	struct tslib_variance *var = (struct tslib_variance *)inf;	unsigned long v;	int err = errno;	v = strtoul(str, NULL, 0);	if (v == ULONG_MAX && errno == ERANGE)		return -1;	errno = err;	switch ((int)data) {	case 1:		var->delta = v;		break;	default:		return -1;	}	return 0;}static const struct tslib_vars variance_vars[] ={	{ "delta",	(void *)1, variance_limit },};#define NR_VARS (sizeof(variance_vars) / sizeof(variance_vars[0]))TSAPI struct tslib_module_info *mod_init(struct tsdev *dev, const char *params){	struct tslib_variance *var;	var = malloc(sizeof(struct tslib_variance));	if (var == NULL)		return NULL;	var->module.ops = &variance_ops;	var->delta = 30;	var->flags = 0;	if (tslib_parse_vars(&var->module, variance_vars, NR_VARS, params)) {		free(var);		return NULL;	}        var->delta = sqr (var->delta);	return &var->module;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚瑟在线精品视频| 不卡一卡二卡三乱码免费网站| 日韩三级视频在线看| 久久国产免费看| 久久噜噜亚洲综合| 成人涩涩免费视频| 亚洲免费观看在线视频| 在线观看日韩高清av| 午夜视频久久久久久| 欧美大片在线观看| 国产精品18久久久久久vr| 中文字幕高清不卡| 色屁屁一区二区| 婷婷丁香久久五月婷婷| 亚洲精品一区二区三区四区高清| 韩日av一区二区| 亚洲天堂av一区| 亚洲大片免费看| 精品国产电影一区二区| 成人av综合在线| 午夜精品久久久久久| 日韩精品一区二区在线| 成人理论电影网| 亚洲v日本v欧美v久久精品| 欧美一区二区私人影院日本| 国产精品一色哟哟哟| 1区2区3区欧美| 欧美一区二区国产| 国产精品资源在线| 亚洲精品成人少妇| 欧美一个色资源| 成人性生交大片免费看在线播放 | 高清av一区二区| 亚洲黄色性网站| 日韩一区二区免费视频| 成人在线综合网站| 亚洲国产精品久久一线不卡| www久久久久| 在线一区二区视频| 国产一区二区免费在线| 亚洲精品视频自拍| 精品国产乱码久久久久久1区2区 | 免费成人你懂的| 国产精品蜜臀在线观看| 欧美群妇大交群中文字幕| 国产盗摄女厕一区二区三区| 亚洲一区免费在线观看| 国产偷国产偷精品高清尤物| 欧美日韩在线综合| 成人福利视频在线看| 婷婷久久综合九色综合伊人色| 欧美国产欧美综合| 91精品国产一区二区三区香蕉 | 国内精品久久久久影院薰衣草| 亚洲另类在线视频| 精品国产乱码久久久久久免费| 91黄色免费网站| 丁香婷婷综合色啪| 亚洲电影视频在线| 国产精品全国免费观看高清| 日韩一二三四区| 在线看国产日韩| 国产老女人精品毛片久久| 一级日本不卡的影视| 国产亚洲一区二区在线观看| 欧美日韩国产综合视频在线观看| 国产99一区视频免费| 日韩国产欧美在线视频| 亚洲欧美自拍偷拍色图| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美理论在线播放| 色综合久久久久久久久| 国产91精品一区二区麻豆亚洲| 日本欧美久久久久免费播放网| 亚洲精品高清在线| 国产精品久久久一本精品| 91精品国产一区二区三区蜜臀| 在线视频国内自拍亚洲视频| 成人av动漫网站| 国产精品乡下勾搭老头1| 日韩av电影一区| 亚洲五月六月丁香激情| 亚洲三级免费电影| 国产喂奶挤奶一区二区三区| 日韩欧美高清一区| 91精品国产综合久久精品| 91精品福利视频| 色综合一个色综合亚洲| 国产不卡在线视频| 国产裸体歌舞团一区二区| 捆绑紧缚一区二区三区视频| 亚洲午夜激情网页| 亚洲午夜久久久久久久久电影院| 自拍视频在线观看一区二区| 日本一区二区三区免费乱视频| 欧美精品一区二区在线播放| 欧美一级午夜免费电影| 欧美日韩三级视频| 91久久香蕉国产日韩欧美9色| av在线播放成人| 成人国产电影网| 中文字幕电影一区| 国产欧美一区二区精品性色| 精品国产一区二区三区av性色| 欧美一卡2卡3卡4卡| 在线成人av网站| 欧美剧情电影在线观看完整版免费励志电影 | 国产亚洲精品福利| 久久久国产精华| 欧美激情一区在线| 欧美激情一区二区三区不卡 | 天天综合网天天综合色| 亚洲韩国精品一区| 亚洲成a人片综合在线| 亚洲成人精品一区| 天天综合网 天天综合色| 男人的天堂亚洲一区| 毛片基地黄久久久久久天堂| 裸体在线国模精品偷拍| 九九久久精品视频| 国产精品资源在线观看| 成人亚洲精品久久久久软件| 99综合影院在线| 日本道精品一区二区三区| 欧美三级日韩在线| 欧美一级夜夜爽| 久久久夜色精品亚洲| 中文字幕久久午夜不卡| 亚洲三级理论片| 五月天一区二区三区| 日本不卡一二三| 国内精品久久久久影院薰衣草| 成人性生交大合| 色嗨嗨av一区二区三区| 在线电影欧美成精品| 久久综合视频网| 国产精品嫩草影院av蜜臀| 亚洲特黄一级片| 午夜精品久久久久久久| 国产在线精品一区在线观看麻豆| 成人黄色免费短视频| 在线观看欧美日本| 日韩女优制服丝袜电影| 国产情人综合久久777777| 亚洲欧美综合色| 日本欧美加勒比视频| 国产suv一区二区三区88区| 91视频91自| 欧美一区二区视频在线观看| wwwwxxxxx欧美| 亚洲色图视频网站| 日韩高清在线观看| 国产91在线看| 欧美三级欧美一级| 26uuu亚洲综合色欧美| 欧美在线观看视频一区二区 | 亚洲高清在线精品| 国内不卡的二区三区中文字幕| 91在线观看地址| 91精品国产一区二区人妖| 国产日韩欧美麻豆| 艳妇臀荡乳欲伦亚洲一区| 奇米精品一区二区三区四区| 韩国一区二区三区| 一本色道久久综合精品竹菊| 日韩欧美自拍偷拍| 1000精品久久久久久久久| 日韩精彩视频在线观看| 国产成人自拍网| 精品视频一区二区三区免费| 久久久久久免费网| 一区二区三区久久| 国产一区二区精品在线观看| 欧美性受xxxx| 久久久久久久久久久99999| 曰韩精品一区二区| 久久99精品国产91久久来源| 91成人免费在线| 久久精品一区二区三区不卡| 午夜激情综合网| av一区二区三区| 精品国产在天天线2019| 亚洲一卡二卡三卡四卡无卡久久| 韩国女主播成人在线| 一本在线高清不卡dvd| 精品国产乱码久久久久久图片| 一区二区三区四区中文字幕| 国产综合一区二区| 欧美系列一区二区| 欧美经典三级视频一区二区三区| 三级欧美韩日大片在线看| 成人性生交大片免费看中文网站| 日韩视频永久免费| 一区二区三区中文在线| 国产成人aaa| 欧美xxxxx牲另类人与| 一区二区三区波多野结衣在线观看| 国产精品自产自拍| 欧美一区二区三区爱爱| 一区二区三区在线高清|