summaryrefslogtreecommitdiff
path: root/inputmethods/handwriting/handwritingimpl.cpp
Unidiff
Diffstat (limited to 'inputmethods/handwriting/handwritingimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/handwriting/handwritingimpl.cpp113
1 files changed, 113 insertions, 0 deletions
diff --git a/inputmethods/handwriting/handwritingimpl.cpp b/inputmethods/handwriting/handwritingimpl.cpp
new file mode 100644
index 0000000..c39e1aa
--- a/dev/null
+++ b/inputmethods/handwriting/handwritingimpl.cpp
@@ -0,0 +1,113 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include <qapplication.h>
22#include <qwidget.h>
23#include <qpixmap.h>
24#include "qimpeninput.h"
25#include "handwritingimpl.h"
26
27/* XPM */
28static const char * pen_xpm[] = {
29"28 13 9 1",
30" c None",
31". c #000000",
32"+ c #FFE993",
33"@ c #8292FF",
34"# c #F7C500",
35"$ c #C69F00",
36"% c #0022FF",
37"& c #000F72",
38"* c #A3732C",
39" . ",
40" .+. ",
41" .@#$. ",
42" .@%&. ",
43" .@%&. ",
44" . .@%&. ",
45" . .@%&. ",
46" . .@%&. ",
47" ... ... .. .@%&. ",
48" . . . . . .*.&. ",
49" . . . . . .**. ",
50" ... ... .. ... ",
51" "};
52
53HandwritingImpl::HandwritingImpl()
54 : input(0), icn(0), ref(0)
55{
56}
57
58HandwritingImpl::~HandwritingImpl()
59{
60 delete input;
61 delete icn;
62}
63
64QWidget *HandwritingImpl::inputMethod( QWidget *parent, Qt::WFlags f )
65{
66 if ( !input )
67 input = new QIMPenInput( parent, "Handwriting", f );
68 return input;
69}
70
71void HandwritingImpl::resetState()
72{
73 if ( input )
74 input->resetState();
75}
76
77QPixmap *HandwritingImpl::icon()
78{
79 if ( !icn )
80 icn = new QPixmap( (const char **)pen_xpm );
81 return icn;
82}
83
84QString HandwritingImpl::name()
85{
86 return qApp->translate( "InputMethods", "Handwriting" );
87}
88
89void HandwritingImpl::onKeyPress( QObject *receiver, const char *slot )
90{
91 if ( input )
92 QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot );
93}
94
95#ifndef QT_NO_COMPONENT
96QRESULT HandwritingImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
97{
98 *iface = 0;
99 if ( uuid == IID_QUnknown )
100 *iface = this;
101 else if ( uuid == IID_InputMethod )
102 *iface = this;
103
104 if ( *iface )
105 (*iface)->addRef();
106 return QS_OK;
107}
108
109Q_EXPORT_INTERFACE()
110{
111 Q_CREATE_INSTANCE( HandwritingImpl )
112}
113#endif