qwsmouse_qws-h.html
来自「QT 下载资料仅供参考」· HTML 代码 · 共 310 行
HTML
310 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/include/qwsmouse_qws.h:1 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>qwsmouse_qws.h Include File</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">Home</font></a> | <a href="classes.html"><font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"><font color="#004faf">Functions</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qwsmouse_qws.h</h1><p>This is the verbatim text of the qwsmouse_qws.h include file. It is provided only for illustration; the copyright remains with Trolltech.<hr><pre>/****************************************************************************** $Id: qt/qwsmouse_qws.h 3.0.5 edited Oct 31 2001 $**** Definition of Qt/FB central server classes**** Created : 991025**** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.**** This file is part of the kernel module of the Qt GUI Toolkit.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses for Qt/Embedded may use this file in accordance with the** Qt Embedded Commercial License Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for** information about Qt Commercial License Agreements.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QWSMOUSE_H#define QWSMOUSE_H#ifndef QT_H#include <qobject.h>#include <qpointarray.h>#include <qptrlist.h>#include "qsocketnotifier.h"#endif // QT_Hclass QWSPointerCalibrationData{public: enum Location { TopLeft = 0, BottomLeft = 1, BottomRight = 2, TopRight = 3, Center = 4, LastLocation = Center }; QPoint devPoints[5]; QPoint screenPoints[5];};class QWSMouseHandler : public QObject { Q_OBJECTpublic: QWSMouseHandler(); virtual ~QWSMouseHandler(); virtual void clearCalibration() {} virtual void calibrate( QWSPointerCalibrationData * ) {} virtual void getCalibration( QWSPointerCalibrationData * ) {}protected: enum {mouseBufSize = 128}; void mouseChanged(const QPoint& pos, int bstate);};#if !defined(QT_QWS_IPAQ) && !defined(QT_QWS_CASSIOPEIA)# define QT_NO_QWS_MOUSE_CALIBRATED#endif#ifndef QT_NO_QWS_MOUSE_CALIBRATEDclass QCalibratedMouseHandler : public QWSMouseHandler{ Q_OBJECTpublic: QCalibratedMouseHandler(); virtual void clearCalibration(); virtual void calibrate( QWSPointerCalibrationData * ); virtual void getCalibration( QWSPointerCalibrationData * );protected: void readCalibration(); void writeCalibration(); QPoint transform( const QPoint & ); bool sendFiltered( const QPoint &, int button ); void setFilterSize( int );private: int a, b, c; int d, e, f; int s; QPointArray samples; unsigned int currSample; unsigned int numSamples;};#endif/********************* PRIVATE CLASSES FOLLOW *******************************/enum MouseProtocol { Unknown = -1, Auto = 0, MouseMan, IntelliMouse, Microsoft, QVFBMouse, TPanel, BusMouse, FirstAuto = MouseMan, LastAuto = Microsoft };#ifndef QT_NO_QWS_MOUSE_AUTOclass QAutoMouseSubHandler;class QAutoMouseHandlerPrivate : public QWSMouseHandler { Q_OBJECTpublic: QAutoMouseHandlerPrivate(); ~QAutoMouseHandlerPrivate();private: enum { max_dev=32 }; QAutoMouseSubHandler *sub[max_dev]; QPtrList<QSocketNotifier> notifiers; int nsub; int retries;private slots: void readMouseData(int);private: void openDevices(); void closeDevices(); void notify(int fd); bool sendEvent(QAutoMouseSubHandler& h); };#endif#ifndef QT_NO_QWS_MOUSE_MANUALclass QWSMouseHandlerPrivate : public QWSMouseHandler { Q_OBJECTpublic: QWSMouseHandlerPrivate( MouseProtocol protocol, QString mouseDev ); ~QWSMouseHandlerPrivate();private: int mouseFD; int mouseIdx; uchar mouseBuf[mouseBufSize]; MouseProtocol mouseProtocol; void handleMouseData();private slots: void readMouseData();private: int obstate; QTimer *rtimer;};#endif#ifdef QT_QWS_CASSIOPEIA/* * Handler for /dev/tpanel Linux kernel driver */class QVrTPanelHandlerPrivate : public QCalibratedMouseHandler { Q_OBJECTpublic: QVrTPanelHandlerPrivate(MouseProtocol, QString dev); ~QVrTPanelHandlerPrivate();private: int mouseFD; MouseProtocol mouseProtocol;private slots: void sendRelease(); void readMouseData();private: QTimer *rtimer; int mouseIdx; uchar mouseBuf[mouseBufSize];};#endif#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX)class QTPanelHandlerPrivate : public QCalibratedMouseHandler{ Q_OBJECTpublic: QTPanelHandlerPrivate(MouseProtocol, QString dev); ~QTPanelHandlerPrivate();private: static const int mouseBufSize = 2048; int mouseFD; QPoint oldmouse; bool waspressed; QPointArray samples; unsigned int currSample; unsigned int numSamples; int mouseIdx; uchar mouseBuf[mouseBufSize]; private slots: void readMouseData(); };#endif#ifdef QT_QWS_YOPY// YOPY touch panel support based on changes contributed by Ron Victorelli// (victorrj at icubed.com) to Custom TP driver.//class QYopyTPanelHandlerPrivate : public QWSMouseHandler { Q_OBJECTpublic: QYopyTPanelHandlerPrivate(MouseProtocol, QString dev); ~QYopyTPanelHandlerPrivate();private: int mouseFD; int prevstate;private slots: void readMouseData();};#endif#ifdef QT_QWS_CUSTOMTOUCHPANELclass QCustomTPanelHandlerPrivate : public QWSMouseHandler { Q_OBJECTpublic: QCustomTPanelHandlerPrivate(MouseProtocol, QString dev); ~QCustomTPanelHandlerPrivate();private: int mouseFD;private slots: void readMouseData();};#endif#ifndef QT_NO_QWS_VFBclass QVFbMouseHandlerPrivate : public QWSMouseHandler { Q_OBJECTpublic: QVFbMouseHandlerPrivate(MouseProtocol, QString dev); ~QVFbMouseHandlerPrivate(); bool isOpen() const { return mouseFD > 0; }private: int mouseFD; int mouseIdx; uchar mouseBuf[mouseBufSize];private slots: void readMouseData();};#endif#endif</pre><!-- eof --><p><address><hr><div align=center><table width=100% cellspacing=0 border=0><tr><td>Copyright © 2002 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a><td align=right><div align=right>Qt version 3.0.5</div></table></div></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?