2
* This file is part of Maliit Plugins
4
* Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
6
* Contact: Mohammad Anwari <Mohammad.Anwari@nokia.com>
8
* Redistribution and use in source and binary forms, with or without modification,
9
* are permitted provided that the following conditions are met:
11
* Redistributions of source code must retain the above copyright notice, this list
12
* of conditions and the following disclaimer.
13
* Redistributions in binary form must reproduce the above copyright notice, this list
14
* of conditions and the following disclaimer in the documentation and/or other materials
15
* provided with the distribution.
16
* Neither the name of Nokia Corporation nor the names of its contributors may be
17
* used to endorse or promote products derived from this software without specific
18
* prior written permission.
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
21
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
#ifndef MALIIT_KEYBOARD_KEYAREACONVERTER_H
33
#define MALIIT_KEYBOARD_KEYAREACONVERTER_H
35
#include "logic/layouthelper.h"
36
#include "models/keydescription.h"
37
#include "models/keyboard.h"
42
namespace MaliitKeyboard {
44
class StyleAttributes;
51
class KeyAreaConverter
54
StyleAttributes * const m_attributes;
55
KeyboardLoader * const m_loader;
56
LayoutHelper::Orientation m_orientation;
59
explicit KeyAreaConverter(StyleAttributes *attributes,
60
KeyboardLoader *loader);
61
virtual ~KeyAreaConverter();
63
void setLayoutOrientation(LayoutHelper::Orientation orientation);
65
virtual KeyArea keyArea() const;
66
virtual KeyArea nextKeyArea() const;
67
virtual KeyArea previousKeyArea() const;
69
virtual KeyArea shiftedKeyArea() const;
70
virtual KeyArea symbolsKeyArea(int page = 0) const;
71
virtual KeyArea deadKeyArea(const Key &dead) const;
72
virtual KeyArea shiftedDeadKeyArea(const Key &dead) const;
73
virtual KeyArea extendedKeyArea(const Key &key) const;
74
virtual KeyArea numberKeyArea() const;
75
virtual KeyArea phoneNumberKeyArea() const;
78
}} // namespace Logic, MaliitKeyboard
80
#endif // MALIIT_KEYBOARD_KEYAREACONVERTER_H