source: trunk/src/gui/embedded/qmouse_qws.cpp@ 811

Last change on this file since 811 was 651, checked in by Dmitry A. Kuminov, 16 years ago

trunk: Merged in qt 4.6.2 sources.

  • Property svn:eol-style set to native
File size: 21.9 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the QtGui module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#include "qmouse_qws.h"
43#include "qwindowsystem_qws.h"
44#include "qscreen_qws.h"
45#include "qapplication.h"
46#include "qtextstream.h"
47#include "qfile.h"
48#include "qdebug.h"
49#include "qscreen_qws.h"
50
51QT_BEGIN_NAMESPACE
52
53/*!
54 \class QWSPointerCalibrationData
55 \ingroup qws
56
57 \brief The QWSPointerCalibrationData class is a container for
58 mouse calibration data in Qt for Embedded Linux.
59
60 Note that this class is only available in \l{Qt for Embedded Linux}.
61
62 QWSPointerCalibrationData stores device and screen coordinates in
63 the devPoints and screenPoints variables, respectively.
64
65 A calibration program should create a QWSPointerCalibrationData
66 object, fill the devPoints and screenPoints variables with its
67 device and screen coordinates, and pass the object to the mouse
68 driver using the QWSMouseHandler::calibrate() function.
69
70 \sa QWSCalibratedMouseHandler, {Mouse Calibration Example}
71*/
72
73/*!
74 \variable QWSPointerCalibrationData::devPoints
75 \brief the raw device coordinates for each value of the Location enum.
76*/
77
78/*!
79 \variable QWSPointerCalibrationData::screenPoints
80 \brief the logical screen coordinates for each value of the Location enum.
81*/
82
83/*!
84 \enum QWSPointerCalibrationData::Location
85
86 This enum describes the various logical positions that can be
87 specified by the devPoints and screenPoints variables.
88
89 \value TopLeft Index of the top left corner of the screen.
90 \value BottomLeft Index of the bottom left corner of the screen.
91 \value BottomRight Index of the bottom right corner of the screen.
92 \value TopRight Index of the top right corner of the screen.
93 \value Center Index of the center of the screen.
94 \value LastLocation Last index in the pointer arrays.
95*/
96
97class QWSMouseHandlerPrivate
98{
99public:
100 QWSMouseHandlerPrivate() : screen(qt_screen) {}
101
102 const QScreen *screen;
103};
104
105/*!
106 \class QWSMouseHandler
107 \ingroup qws
108
109 \brief The QWSMouseHandler class is a base class for mouse drivers in
110 Qt for Embedded Linux.
111
112 Note that this class is only available in \l{Qt for Embedded Linux}.
113
114 \l{Qt for Embedded Linux} provides ready-made drivers for several mouse