Diffstat (limited to 'inputmethods/handwriting/handwritingimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | inputmethods/handwriting/handwritingimpl.cpp | 113 |
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 */ | ||
28 | static 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 | |||
53 | HandwritingImpl::HandwritingImpl() | ||
54 | : input(0), icn(0), ref(0) | ||
55 | { | ||
56 | } | ||
57 | |||
58 | HandwritingImpl::~HandwritingImpl() | ||
59 | { | ||
60 | delete input; | ||
61 | delete icn; | ||
62 | } | ||
63 | |||
64 | QWidget *HandwritingImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | ||
65 | { | ||
66 | if ( !input ) | ||
67 | input = new QIMPenInput( parent, "Handwriting", f ); | ||
68 | return input; | ||
69 | } | ||
70 | |||
71 | void HandwritingImpl::resetState() | ||
72 | { | ||
73 | if ( input ) | ||
74 | input->resetState(); | ||
75 | } | ||
76 | |||
77 | QPixmap *HandwritingImpl::icon() | ||
78 | { | ||
79 | if ( !icn ) | ||
80 | icn = new QPixmap( (const char **)pen_xpm ); | ||
81 | return icn; | ||
82 | } | ||
83 | |||
84 | QString HandwritingImpl::name() | ||
85 | { | ||
86 | return qApp->translate( "InputMethods", "Handwriting" ); | ||
87 | } | ||
88 | |||
89 | void 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 | ||
96 | QRESULT 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 | |||
109 | Q_EXPORT_INTERFACE() | ||
110 | { | ||
111 | Q_CREATE_INSTANCE( HandwritingImpl ) | ||
112 | } | ||
113 | #endif | ||